Релиз web-браузера Chrome 71

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

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

  • Добавлена система блокирования вводящих в заблуждение рекламных блоков. В случае выявления на сайте мошеннической рекламы, Chrome теперь блокирует всю рекламу на проблемном сайте. В качестве примеров недопустимой рекламы упоминаются перекрытие контента с фиктивными кнопками закрытия, стимулирование кликов обманным путём (например, оформление блоков в виде системных диалогов, предупреждений или уведомлений), не соответствие заявленному поведению (например, при нажатии на кнопку просмотра видео предлагается установить пакет с приложением), симуляция фиктивных форм ввода, автоматический проброс без явных действий пользователя и т.д.;
  • Добавлен вывод предупреждений для страниц с обманными формами подписки. Например, предупреждения выводятся для сайтов, предлагающих ввести номер телефона для получения доступа к online-игре, но при этом без предупреждения подключают пользователя к дополнительным платным подпискам или списывают средства, не соответствующие заявленным на странице (скрытые комиссии) или заявленным, но в мешающем для восприятии виде (например, очень мелким текстом или в другой части страницы); 0_1544024399.png
  • Добавлена блокировка, препятствующая выводу звука при помощи Speech Synthesis API до активных действий пользователя со страницей. Вывод звука через Web Audio API теперь подпадает под правила блокировки автоматического воспроизведения звука;
  • Система автозаполнения форм теперь игнорирует формы ввода, загруженные не через HTTPS или HTTP;
  • Кнопка начала воспроизведения видео перенесена из центра экрана в левый нижний угол. В экранные элементы управления воспроизведением видео возвращён ползунок для изменения уровня громкости (ползунок появляется при наведении курсора на значок громкоговорителя); 0_1544016955.png
  • Добавлена новая внутренняя страница «chrome://management», показывающая установленные администратором дополнения и предоставленные им полномочия; 0_1544017187.png
  • При обращении к поисковой системе Google в адресной строке теперь отображаются только ключевые слова, без полного URL. Для управления показом параметров запроса в адресной строке можно использовать настройку «chrome://flags/#enable-query-in-omnibox_flag». Например, при поиске «linux» будет отображено не «https://www.google.ru/search? q=linux&oq=linux&…», а просто «linux»; 0_1544017637.png
  • Для видео, выводимого при помощи API MediaStream, добавлено контекстное меню и элементы управления воспроизведением;
  • Добавлена функция Intl.RelativeTimeFormat () для форматирование времени в текстовом представлении с учётом особенностей различных языков. Например, при выборе английского языка (rtf = new Intl.RelativeTimeFormat ('en') вызов rtf.format (3.14, 'second') приведёт к выводу 'in 3.14 seconds', а rtf.format (-15, 'minute') — '15 minutes ago'. В случае выбора русского языка, соответственно, будут выданы фразы 'через 3,14 секунд' и '15 минут назад';
  • В метод Element.requestFullscreen () добавлен новый параметр navigationUI, который может принимать значения «auto», «show» и «hide» для управления отображением навигационной панели в полноэкранном режиме (пока работает только для Android);
  • В Permission API добавлен новый параметр 'persistent-storage', обеспечивающий вывод запроса на подтверждения полномочий в случае использования web-приложением API для постоянного хранения данных на стороне пользователя;
  • Реализована поддержка обработки событий масштабирования «щипком» на тачпаде в асинхронном режиме, позволившая поднять производительность данной операции;
  • Добавлена поддержка цветных шрифтов COLR/CPAL, представляющих собой подмножество шрифтов OpenType, содержащих помимо векторных глифов, слой c информацией о палитре;
  • Предложен дополнительный синтаксис определения цветных градиентов в CSS. В качестве альтернативы выражению «linear-gradient (45deg, black 25%, black 50%, white 50%, white 75%)» теперь можно использовать объединённый формат «linear-gradient (45deg, black 25% 50%, white 50% 75%)»;
  • В CSS свойстве 'text-underline-position' реализована поддержка значений 'left' и 'right' для подчёркивания сбоку при вертикальном позиционировании текста; 0_1544029164.png
  • Добавлены API TextEncoderStream и TextDecoderStream, упрощающие преобразование потоков с бинарными данными в текст и обратно;
  • Стандартизирован и избавлен от специфичного для Chrome префикса Fullscreen API.

Кроме нововведений и исправления ошибок в новой версии устранено 43 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 34 премии на сумму 59 тысяч долларов США (по одной премии в $8000 и $6000, две премии $5000, шесть премий $3000, четыре премии $2000, шесть премий $1000 и шесть премий $500). Размер 8 вознаграждений пока не определён.

© OpenNet