Компания Google представила релиз web-браузера Chrome 52. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающий основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

Основные изменения в Chrome 52:

  • Представлено новое CSS-свойство contain, позволяющее предотвратить отображение дочерних элементов за границами блока родительского элемента. Применение contain значительно ускоряет отрисовку, так как гарантирует, что дочерние элементы не выходят за границы родительского блока и достаточно перерисовать только область родительского элемента без применение ресурсоёмких эвристических методов определения изменившихся областей на странице;
  • Добавлен API PerformanceObserver, предоставляющий простой и быстрый метод сбора данных о состоянии ресурсов во время работы пользователя с web-приложением, позволяющих выявить проблемы с производительностью и регрессивные изменения, проявляющиеся во время реальных рабочих сеансов. Вместо периодического получения обновлённых данных, новый API позволяет сайту определить какие метрики нужно передавать и браузер передаст запрошенную статистику после появления необходимых данных;
  • В Service workers добавлена поддержка потоковой обработки HTML-документа, при которой страница отрисовывается по мере загрузки, не дожидаясь получения всего документа. При помощи Streams API сайт может сформировать объект Response через передачу ReadableStream в конструктор Response;

  • Добавлена поддержка открытого стандарта VAPID для идентификации сервера, обеспечивающего работу сервиса push-уведомлений;
  • Обеспечена приостановка анимации во время показа модальных диалоговых окон;
  • Поддержка альтернативных сервисов HTTP, позволяющих сайту определить дополнительные источники (origin), которые можно использовать для доступа страницы к ресурсам и балансировки нагрузки;
  • Добавлен метод ImageBitmapOptions, позволяющий определить конфигурацию создания ImageBitmap;
  • Обеспечена возможность высвобождения памяти, используемой для ImageBitmap, через вызов ImageBitmap.close();
  • Добавлены CSS-свойства font-variant-caps и font-variant-numeric для отображения мелких заглавных букв и различных стилей написания цифр;
  • В таблицах стилей обеспечена возможность определения степени прозрачности для цветов при помощи дополнительных 8- или 4-битовых шестнадцатеричных значений (#RRGGBBAA или #RGBA, например "background: #ffff0077;", где 77 - степень прозрачности), вместо более длинного синтаксиса rgba();
  • Решена проблема с выводом всплывающих окон в процессе прокрутки жестом на сенсорном экране из-за срабатывания обработчика на iframe-вставках;
  • Добавлена поддержка экспериментального CSS-свойства "-webkit-appearance:none", отключающего отрисовку по умолчанию индикатора для HTML5-элемента meter, что упрощает применение собственных стилей CSS;
  • В Content Security Policy добавлено выражение unsafe-dynamic, позволяющее использовать белые списки допустимых источников скриптов;
  • При помощи Fetch API сайты теперь могут программно определять правила обработки Referrer для текущего запроса;
  • В CanvasRenderingContext2D добавлен атрибут filter, позволяющий применять эффекты к выводимым через canvas примитивам;
  • В 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.

Источник: http://www.opennet.ru/opennews/art.shtml?num=44822