Выпуск web-браузера Chrome 55
Компания Google представила релиз web-браузера Chrome 55. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Основные изменения в Chrome 54:
- Проведена работа по сокращению потребления памяти в Javascript-движке V8 и повышению эффективности работы сборщика мусора. По сравнению с Chrome 53 в среднем при работе с сайтами Imgur, Reddit, Twitter, The New York Times и YouTube в Chrome 55 наблюдается снижение потребления памяти на 35%. В некоторых ситуациях выигрыш может достигать 50%;
- Реализована новая порция ограничений по воспроизведению Flash-контента: по умолчанию теперь предлагается использовать HTML5, а для сайтов, которые поддерживают только Flash, вместо клика для активации конкретного контента при первом открытии выводиться общее уведомление с предложением включить Flash;
- Из меню убрана опция ручного выбора кодировки текста, позволяющая переопределить кодировку, выбранную для открытой страницы автоматически. Пользователям которым недостаточно автоматического выбора кодировки предлагается использовать внешнее дополнение.
- Во встроенный просмотрщик документов PDF добавлена горячая клавиша «ctrl + \», позволяющая переключаться между режимами масштабирования по размеру страницы и по ширине экрана;
- Блоки информации с параметрами защиты и уровне доступа для текущей страницы переведён на оформление в стиле Material Design;
- В адресной строке обеспечен показ пояснений о типе текущего соединения, например, для защищённых соединений выводится метка Secure, а при проблемах «Not Secure» или «Dangerous»;
- В экспериментальном режиме добавлен Memory Coordinator (для включения следует использовать опцию »--enable-features=MemoryCoordinator»), принимающий решения о завершении процессов браузера в случае нехватки в системе памяти. Если операционная система завершает процессы на основе характера потребления памяти, то Memory Coordinator оценивает важность связанных с процессами вкладок, позволяя вытеснить лишь второстепенные вкладки, но сохранить важные и активно используемые. Детали о распределении памяти в Chrome можно оценить на странице chrome://discards;
- В версии для платформы Android появился встроенный менеджер загрузок. Кроме того, во встроенном обработчике воспроизведения мультимедиийных файлов через HTML5-теги video/audio появилась кнопка для загрузки связанного с контентом файла. Если не все кнопки медиапроигрывателя вмещаются на экран (актуально для смартфонов), не вместившаяся функциональность теперь показывается в форме всплывающего меню;
- Проведена работа по предоставлению унифицированных средств обработки событий от мыши и сенсорного экрана. Если ранее разработчики были вынуждены раздельно обрабатывать события MouseEvent и TouchEvent, то в Chrome 55 добавлен новый механизм PointerEvents, который позволяет контролировать в одном обработчике все события, связанные с перемещением указателя. Важной особенностью PointerEvents также является отсутствие блокировки процесса прокрутки. Кроме того, для реагирования на ввод в Chrome предоставлено два новых метода: CSS-свойство touch-action для привязки к экранным жестам и событие auxclick для обработки нажатий дополнительных кнопок мыши;
- В JavaScript появилась поддержка двух новых ключевых слов async и await, предложенных в черновике спецификаци ECMAScript 7 и позволяющих упростить написание кода, выполняемого в асинхронном режиме. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
- В CSS добавлен новый режим форматирования текста с автоматической расстановкой переносов, включаемый свойством «hyphens: auto». Режим автоматически переносит слова на новую строку, позволяя максимально использовать доступное экранное пространство, избегая пустот;
- Для обработчиков событий реализована опция «once», при установке которой callback-вызов будет совершен только один раз, после чего обработчик события будет удалён и не будет вызываться для последующих событий данного типа;
- Сайтам предоставлена возможность установки меток постоянного хранения, препятствующих автоматической очистке данных для данного сайта, сохранённых через IndexedDB, Cache API или localStorage API;
- В версии для платформы Android добавлена явная активация звука, воспроизводимого через Web Audio API в iframe блоках, загруженных с других сайтов (по аналогии с тем как требуется ручное включение воспроизведения контента в тегах audio и video).
- В TLS-стек добавлен механизм GREASE (Generate Random Extensions And Sustain Extensibility), позволяющий избежать проблем с некорректными серверами TLS;
- В TLS-стек добавлена поддержка алгоритма цифровых подписей RSA-PSS, определённого в спецификации TLS 1.3;
- Добавлен альтернативный способ создания событий MediaStreamTrackEvent через специальный JavaScript-конструкутор;
- На платформе Android для ускорения загрузки данных при низкоскоростных каналах связи при соединении через 2G теперь не будут загружаться скрипты со сторонних доменов и блокирующие дальнейший разбор страницы (подставляемые через document.write ());
Кроме нововведений и исправления ошибок, в новой версии устранено 36 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 25 премий на сумму 70 тысяч долларов США (пять премий $7500, одна премия $5000, одна премия $3500, пять премий $3000, одна премия $2500, одна премия $2000, одна премия $1500, две премии $1000 и две премии $500). Сумма не окончательная, так как размер семи вознаграждений ещё не определён.
© OpenNet