Выпуск web-браузера Chrome 64

25 января 2018 года

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

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

  • В сборках для платформы Linux вывод уведомлений, отправленных через Notifications API или chrome.notifications, теперь производится через штатные механизмы пользовательских окружений (например, уведомления Chrome теперь выводятся как обычные уведомления KDE Plasma и GNOME);
  • Запрещено автоматическое перенаправление на ссылки из внешних iframe-блоков, что позволяет блокировать работу жульнических рекламных вставок, открывающих другие страницы без ведома пользователя. Предложенный способ позволяет бороться со ссылками, закамуфлированными под кнопки воспроизведения или закрытия, или активируемыми через наложение прозрачного слоя, перехватывающего любые клики. Например, будут блокироваться всплывающие предложения, в которых нажатие кнопки закрытия диалога приводит к открытию дополнительных окон или вкладок с рекламируемыми страницами.
  • Прекращено автоматическое воспроизведение видео со звуком на текущей вкладке, если в видеовставке по умолчанию не отключен звук (выставлен флаг mute или отсутствует звуковая дорожка). Для воспроизведения видео со звуком потребуется явный клик. Новое поведение позволит автоматически блокировать показ видеорекламы со звуком, которая создаёт неудобства и отвлекает пользователя при просмотре страниц. Блокировка будет сниматься для сайтов, на которых пользователь часто просматривает мультимедийный контент, которым пользователь предоставил специальные полномочия или которые добавлены на домашний экран в мобильной версии;
  • На 15 февраля намечено включение встроенного блокировщика рекламы, нацеленного на борьбу с рекламными блоками, мешающими восприятию содержимого и не соответствующими критериям, выработанным Коалицией по улучшению рекламы (перекрывающие контент всплывающие окна, реклама со счётчиком секунд до закрытия, отображаемая до загрузки контента, очень большие закреплённые блоки, мигание фона, агрессивное изменение цветов);
  • Помимо представленных в январском обновлении Chrome 63 мер (Архивная копия от 9 ноября 2020 на Wayback Machine) про предотвращению эксплуатации уязвимостей Meltdown и Spectre (ограничена точность измерения интервалов времени функцией performance.now() и полностью отключена поддержка типа SharedArrayBuffer), в

Chrome 64 внесены некоторые дополнительные изменения для противодействия подобным атакам на уровне движка V8. В частности, выполнена защита от обращения к памяти вне границ области, отведённой для WebAssembly и asm.js, а также доступной через массивы и строки JavaScript;

  • Внесена серия оптимизаций в движок V8: Производительность оператора instanceof возросла в 3.6 раза, что привело к увеличению производительности библиотеки uglify-js на 15–20%. Устранены некоторые узкие места с производительностью Function.prototype.bind. WeakMap и WeakSet переписаны на базе CodeStubAssembler, что отразилось пятикратным ростом их производительности. С использованием CodeStubAssembler также переписан Array.prototype.slice, что позволило ускорить его примерно в 4 раза;
  • Проведена работа по сокращению потребления памяти в движке V8 - при просмотре типичных сайтов расход памяти каждой вкладкой снизился на несколько сотен килобайт.
  • На страницу chrome://gpu добавлены сведения о доступных механизмах аппаратного ускорения декодирования и кодирования видео для различных форматов (h.264, vp8, vp9 и т.п.);
  • Добавлен API Resize Observer, позволяющий подключить обработчик, которому будут направляться уведомления об изменении размера указанных элементов на странице. Ключевое отличие нового API от window.onresize и CSS Media Queries, заключается в том, что можно определить факт изменения конкретного элемента на странице, а не всей видимой области, что позволяет отреагировать изменением только этого элемента без изменения всего видимого содержимого;
  • Представлено свойство import.meta, при помощи которого можно запросить метаданные с информацией об определённом используемом модуле. В настоящее время доступно только свойство import.meta.url, позволяющее узнать URL, с которого был загружен модуль (например, для определения базового адреса для загрузки ресурсов, связанных с модулем), но в дальнейшем ожидается появление и других свойств, таких как размер модуля;
  • Добавлена возможность создания анимации при помощи CSS-свойства

offset-path, определив в данном свойстве геометрический путь по которому должен перемещаться элемент;

  • Добавлено CSS-свойство text-decoration-skip-ink для управления поведением отрисовки в случае если верхнее или нижнее подчеркивание накладывается на глиф в другой строке;
  • Координаты PointerEvent для курсора мыши (pointerType=mouse) теперь передаются в дробном виде, что позволяет определять позицию курсора с большей точностью;
  • В регулярных выражениях появилась поддержка именованных групп (named captures), позволяющий связать сопоставленные регулярным выражением части строки с определёнными именами вместо порядковых номеров совпадений (например, вместо "/(\d{4})-(\d{2})-(\d{2})/" можно указать "/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/" и получить доступ к году не через result[1], а через result.groups.year);
  • В регулярных выражениях добавлена возможность экранирования классов Unicode-символов при помощи конструкций \p{…} и \P{…}. Например, \p{Number} определяет все возможные знаки с изображением цифр (включая символы вида ①), \p{Alphabetic} - буквы (в том числе иероглифы), \p{Math} - математические символы и т.п.
  • Добавлен метод Intl.Numberformat.prototype.formatToParts(), позволяющий использовать форматирования с использованием правил текущей локали для строк, выдаваемых функциями форматирования NumberTimeFormat;
  • Для элементов video и audio включена по умолчанию упреждающая загрузка метаданных (вместо попытки загрузки самого ресурса), для соответствия с поведением других браузеров и экономии трафика;
  • Добавлена возможность воспроизведения HDR-видео (профиль

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск web-браузера Chrome 64», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.