Компания 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, вместо клика для активации конкретного контента;
  • Из меню убрана опция ручного выбора кодировки текста, позволяющая переопределить кодировку, выбранную для открытой страницы автоматически. Пользователям, которым недостаточно автоматического выбора кодировки, предлагается использовать внешнее дополнение.
  • Во встроенный 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 и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 25 премий на сумму 70 тысяч долларов США (пять премий $7500, одна премия $5000, одна премия $3500, пять премий $3000, одна премия $2500, одна премия $2000, одна премия $1500, две премии $1000 и две премии $500). Сумма неокончательная, так как размер семи вознаграждений ещё не определён.

Источник: http://www.opennet.ru/opennews/art.shtml?num=45606