Компания Google представила релиз web-браузера Chrome 52. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающий основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Представлено новое CSS-свойство contain, позволяющее предотвратить отображение дочерних элементов за границами блока родительского элемента. Применение contain значительно ускоряет отрисовку, так как гарантирует, что дочерние элементы не выходят за границы родительского блока и достаточно перерисовать только область родительского элемента без применение ресурсоёмких эвристических методов определения изменившихся областей на странице;
Добавлен API PerformanceObserver, предоставляющий простой и быстрый метод сбора данных о состоянии ресурсов во время работы пользователя с web-приложением, позволяющих выявить проблемы с производительностью и регрессивные изменения, проявляющиеся во время реальных рабочих сеансов. Вместо периодического получения обновлённых данных, новый API позволяет сайту определить какие метрики нужно передавать и браузер передаст запрошенную статистику после появления необходимых данных;
В Service workers добавлена поддержка потоковой обработки HTML-документа, при которой страница отрисовывается по мере загрузки, не дожидаясь получения всего документа. При помощи Streams API сайт может сформировать объект Response через передачу ReadableStream в конструктор Response;
Добавлена поддержка открытого стандарта VAPID для идентификации сервера, обеспечивающего работу сервиса push-уведомлений;
Обеспечена приостановка анимации во время показа модальных диалоговых окон;
Поддержка альтернативных сервисов HTTP, позволяющих сайту определить дополнительные источники (origin), которые можно использовать для доступа страницы к ресурсам и балансировки нагрузки;
Добавлен метод ImageBitmapOptions, позволяющий определить конфигурацию создания ImageBitmap;
Обеспечена возможность высвобождения памяти, используемой для ImageBitmap, через вызов ImageBitmap.close();
В таблицах стилей обеспечена возможность определения степени прозрачности для цветов при помощи дополнительных 8- или 4-битовых шестнадцатеричных значений (#RRGGBBAA или #RGBA, например "background: #ffff0077;", где 77 - степень прозрачности), вместо более длинного синтаксиса rgba();
Решена проблема с выводом всплывающих окон в процессе прокрутки жестом на сенсорном экране из-за срабатывания обработчика на iframe-вставках;
Добавлена поддержка экспериментального CSS-свойства "-webkit-appearance:none", отключающего отрисовку по умолчанию индикатора для
HTML5-элемента meter, что упрощает применение собственных стилей CSS;
В Content Security Policy добавлено выражение unsafe-dynamic, позволяющее использовать белые списки допустимых источников скриптов;
В PannerNode и AudioListener добавлена поддержка методов для организации плавного перехода от одного источника звука к другому;
Добавлен атрибут HTMLMediaElement.srcObject, упрощающий связывание MediaStream с элементами audio и video;
Представлена экспериментальная возможность отключения автоматической очистки связанного с сайтом брузерного хранилища (persistent-storage), если сайт занесён в закладки;
Возможность привязки нескольких WebVTT в блоке управления мультимедийным контентом, что позволяет организовать выбор субтитров или примечаний на нескольких языках;
Прекращена поддержка метода requestAutocomplete(), который не реализован в других браузерах и невостребован web-разработчиками. Вместо requestAutocomplete предлагается использовать Payment Request API;
Убрана возможность использования параметра X-Frame-Option через тег meta.
Кроме нововведений и исправления ошибок, в новой версии устранено 48 уязвимостей, многие из которых выявлены в результате автоматизированного тестирования инструментами AddressSanitizer и MemorySanitizer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. Точная сумма, которая будет выплачена в рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей, для текущего релиза пока окончательно не определена, но уже известно, что рекордное единоразовое вознагражение в $15000 получит исследователь под псевдонимом Pinkie Pie, выявивший уязвимость (CVE-2016-1706), позволяющую обойти sandbox-изоляцию в PPAPI.
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...