Релиз web-браузера Chrome 71
5 декабря 2018 года
Компания 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=linux&oq=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 (Архивная копия от 28 октября 2020 на Wayback Machine), LibFuzzer (Архивная копия от 28 октября 2020 на Wayback Machine) и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 34 премии на сумму 59 тысяч долларов США (по одной премии в $8000 и $6000, две премии $5000, шесть премий $3000, четыре премии $2000, шесть премий $1000 и шесть премий $500). Размер 8 вознаграждений пока не определён.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.