Выпуск web-браузера Chrome 55
2 декабря 2016 года
Компания Google представила релиз web-браузера Chrome 55. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Основные изменения в Chrome 55:
- Проведена работа по сокращению потребления памяти в JavaScript-движке V8 и повышению эффективности сборщика мусора. По сравнению с Chrome 53 в среднем при работе с сайтами Imgur, Reddit, Twitter, The New York Times и YouTube в Chrome 55 наблюдается снижение потребления памяти на 35%. В некоторых ситуациях выигрыш может достигать 50%;
- Реализована новая порция ограничений по воспроизведению Flash-контента: для выборочных пользователей по умолчанию теперь предлагается использовать HTML5, а для сайтов, которые поддерживают только Flash, при первом открытии выводится общее уведомление с предложением включить Flash, вместо клика для активации конкретного контента. Изменение будет применено для 1% пользователей, в бета-выпуске Chrome 56 для 50%, а в следующем стабильном выпуске для всех пользователей;
- Из меню убрана опция ручного выбора кодировки текста, позволяющая переопределить кодировку, выбранную для открытой страницы автоматически. Пользователям, которым недостаточно автоматического выбора кодировки, предлагается использовать внешнее дополнение.
- Во встроенный PDF-просмотрщик добавлена горячая клавиша "ctrl + \", позволяющая переключаться между режимами масштабирования по размеру страницы и по ширине экрана;
- Блоки информации с параметрами защиты и уровня доступа переведены на оформление в стиле Material Design;
- Удалена возможность возвращения к классическому (не Material Design) интерфейсу через about:flags;
- В адресной строке обеспечен показ пояснений о типе текущего соединения, например, для защищённых соединений выводится метка Secure, а при проблемах "Not Secure" или "Dangerous";
- В экспериментальном режиме добавлен Memory Coordinator (для включения следует использовать опцию "--enable-features=MemoryCoordinator"), принимающий решения о завершении процессов браузера в случае нехватки в системе памяти. Если операционная система завершает процессы на основе характера потребления памяти, то Memory Coordinator оценивает важность связанных с процессами вкладок, позволяя вытеснить лишь второстепенные вкладки, но сохранить важные и активно используемые. Детали о распределении памяти в Chrome можно оценить на странице chrome://discards;
- В версии для платформы Android появился встроенный менеджер загрузок. Кроме того, во встроенном обработчике воспроизведения мультимедиийных файлов через HTML5-теги video/audio появилась кнопка для загрузки связанного с контентом файла. Если не все кнопки медиа-проигрывателя вмещаются на экран (актуально для смартфонов), невместившаяся функциональность теперь показывается в форме всплывающего меню;
- Проведена работа по предоставлению унифицированных средств обработки событий от мыши и сенсорного экрана. Если ранее разработчики были вынуждены раздельно обрабатывать события MouseEvent и TouchEvent, то в Chrome 55 добавлен новый механизм PointerEvents, позволяющий контролировать в одном обработчике все события, связанные с перемещением указателя. Важной особенностью PointerEvents также является отсутствие блокировки процесса прокрутки. Кроме того, для реагирования на ввод в Chrome предоставлено два новых метода: CSS-свойство touch-action для привязки к экранным жестам и событие auxclick для обработки нажатий дополнительных кнопок мыши;
- В JavaScript появилась поддержка двух новых ключевых слов async и await, предложенных в черновике спецификаци ECMAScript 7 и позволяющих упростить написание кода, выполняемого в асинхронном режиме. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
- В CSS добавлен новый режим форматирования текста с автоматической расстановкой переносов, включаемый свойством "hyphens: auto". Режим автоматически переносит части слов на новую строку, позволяя максимально использовать доступное экранное пространство, избегая пустот;
- Для обработчиков событий реализована опция "once", при установке которой callback-вызов будет совершен только один раз, после чего обработчик события будет удалён и не будет вызываться для последующих событий данного типа;
- Сайтам предоставлена возможность установки меток постоянного хранения, препятствующих автоматической очистке данных для данного сайта, сохранённых через IndexedDB, Cache API или localStorage API;
- В версии для платформы Android введена в практику явная активация звука, воспроизводимого через Web Audio API в iframe блоках, загруженных с других сайтов (по аналогии с тем как требуется ручное включение воспроизведения контента в тегах audio и video);
- В TLS-стек добавлен механизм GREASE (Generate Random Extensions And Sustain Extensibility), позволяющий избежать проблем с некорректными серверами TLS;
- В TLS-стек добавлена поддержка алгоритма цифровых подписей RSA-PSS, определённого в спецификации TLS 1.3;
- Добавлен альтернативный способ создания событий MediaStreamTrackEvent через специальный JavaScript-конструкутор;
- На платформе Android для ускорения загрузки данных при соединении через 2G теперь не будут загружаться скрипты со сторонних доменов и блокирующие дальнейший разбор страницы (подставляемые через document.write());
Кроме нововведений и исправления ошибок, в новой версии устранено 36 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity (Архивная копия от 28 октября 2020 на Wayback Machine) и LibFuzzer (Архивная копия от 28 октября 2020 на Wayback Machine). Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 25 премий на сумму 70 тысяч долларов США (пять премий $7500, одна премия $5000, одна премия $3500, пять премий $3000, одна премия $2500, одна премия $2000, одна премия $1500, две премии $1000 и две премии $500). Сумма неокончательная, так как размер семи вознаграждений ещё не определён.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.