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

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

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

  • Добавлена система блокирования вводящих в заблуждение рекламных блоков. В случае выявления на сайте мошеннической рекламы, Chrome теперь блокирует всю рекламу на проблемном сайте. В качестве примеров недопустимой рекламы упоминаются перекрытие контента с фиктивными кнопками закрытия, стимулирование кликов обманным путём (например, оформление блоков в виде системных диалогов, предупреждений или уведомлений), не соответствие заявленному поведению (например, при нажатии на кнопку просмотра видео предлагается установить пакет с приложением), симуляция фиктивных форм ввода, автоматический проброс без явных действий пользователя и т.д.;
  • Добавлен вывод предупреждений для страниц с обманными формами подписки. Например, предупреждения выводятся для сайтов, предлагающих ввести номер телефона для получения доступа к online-игре, но при этом без предупреждения подключают пользователя к дополнительным платным подпискам или списывают средства, не соответствующие заявленным на странице (скрытые комиссии) или заявленным, но в мешающем для восприятии виде (например, пояснение очень мелким текстом или в другой части страницы);

  • Для предотвращения мошеннических действий и блокирования попыток навязывания установки непрошенных дополнений, дополнения теперь можно установить только после перехода в каталог Chrome Web Store. Inline-режим, позволяющий начать установку дополнений без перехода в каталог дополнений, больше не поддерживается. Вместо начала процесса установки вызов chrome.webstore.install() из JavaScript-кода на сайте теперь будет приводить к открытию новой вкладки со страницей дополнения в каталоге Chrome Web Store;
  • Добавлена блокировка, препятствующая выводу звука при помощи Speech Synthesis API до активных действий пользователя со страницей. Вывод звука через Web Audio API теперь подпадает под правила блокировки автоматического воспроизведения звука;
  • Система автозаполнения форм теперь игнорирует формы ввода, загруженные не через HTTPS или HTTP;
  • Кнопка начала воспроизведения видео перенесена из центра экрана в левый нижний угол. В экранные элементы управления воспроизведением видео возвращён ползунок для изменения уровня громкости (ползунок появляется при наведении курсора на значок громкоговорителя);
  • Добавлена новая внутренняя страница «chrome://management», показывающая установленные администратором дополнения и предоставленные им полномочия;
  • При обращении к поисковой системе Google в адресной строке теперь отображаются только ключевые слова, без полного URL. Для управления показом параметров запроса в адресной строке можно использовать настройку «chrome://flags/#enable-query-in-omnibox_flag». Например, при поиске «linux» будет отображено не «https://www.google.ru/search?q=linuxoq=linux….», а просто «linux»;
  • Для видео, выводимого при помощи 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 информацией о палитре;

  • В JavaScript-движке V8 удалось примерно на 200 Кб для каждого процесса снизить потребление памяти, благодаря преобразованию обработчиков байткода во встраиваемые функции. Проведена оптимизация применения локальных замыканий в контексте функций (например, «a.map(y = y + x)»), позволившая в повысить производительность подобных операций до 40%;
  • Предложен дополнительный синтаксис определения цветных градиентов в 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’ для подчёркивания сбоку при вертикальном позиционировании текста;

  • Добавлены API TextEncoderStream и TextDecoderStream, упрощающие преобразование потоков с бинарными данными в текст и обратно;
  • Стандартизирован и избавлен от специфичного для Chrome префикса API Fullscreen.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.