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

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

  • Началось воплощение в жизнь инициативы по пометке незащищённых HTTP-соединений в адресной строке. При открытии по HTTP страниц, передающих пароли или номера платёжных карт, браузер теперь предупреждает пользователя о проблемах с безопасностью. Индикатор небезопасного HTTP-соединения аналогичен индикатору, информирующему о проблемах с HTTPS, за тем исключением, что первое время он не будет выделен красным цветом (цвет будет изменён на красный на одном из последних этапов инициативы). В дальнейшем планируется перейти к выводу предупреждения о небезопасности для всех сайтов, открываемых по HTTP, а не только для страниц с формами ввода конфиденциальных данных.
  • Для всех пользователей введены ограничения по воспроизведению Flash-контента, по умолчанию теперь предлагается использовать HTML5. Поддержка Flash больше не объявляется сайтам в списках navigator.plugins и navigator.mimeTypes, а при желании воспроизведения Flash-контента от пользователя требуется явное включение поддержки Flash для каждого отдельного сайта;
  • Добавлена поддержка API Web Bluetooth, предоставляющего средства для доступа web-приложений к внешним устройствам, связанным через протокол Bluetooth Low Energy (BLE). Например, при помощи нескольких строк код на JavaScript можно получить доступ к внешним сенсорам, принтерам или экранам. Web Bluetooth API использует протокол GATT и пока ограничен платформами Android, Chrome OS и macOS. Для обнаружения устройств предлагается использовать механизм Physical Web, позволяющий быстро получать ссылки на окружающие объекты при помощи Bluetooth-меток Eddystone. Для просмотра списка доступных Bluetooth-устройств и их параметров реализована специальная страница "chrome://bluetooth-internals";
  • Добавлена встроенная поддержка звукового кодека FLAC (Free Lossless Audio Codec), развиваемого сообществом Xiph.Org и обеспечивающего уровень сжатия звукового потока в 50-60% без потери качества (lossless). FLAC поддерживается в контейнерах FLAC и Ogg в составе тега audio или при обработке потока через API decodeAudioData();
  • Включена по умолчанию поддержка API WebGL 2.0, предоставляющего средства для рендеринга 3D-контента на уровне возможностей OpenGL ES 3.0 через элемент canvas. Включение WebGL 2.0 и FLAC синхронизировано с проектом Mozilla, который позавчера активировал данные возможности в выпуске Firefox 51;
  • Прекращена поддержка алгоритма SHA-1, для которого выявлен ускоренный метод подбора коллизий. В частности, прекращена поддержка шифров ECDHE_ECDSA_WITH_AES_128_CBC_SHA, ECDHE_ECDSA_WITH_AES_256_CBC_SHA, а также алгоритма ECDSA с SHA-1 и SHA-512. Сайты использующие выданные удостоверяющими центрами сертификаты, заверенные с использованием алгоритма хэширования SHA-1, теперь будут помечаться как незащищённые. Локально добавленные сертификаты на основе SHA-1 продолжат свою работу до выпуска Chrome 57, намеченного на март. Для корпоративных пользователей реализована настройка EnableSha1ForLocalAnchors, позволяющая обойти вводимые ограничения и продолжить использование SHA-1 в PKI. Сертификаты с SHA-1, используемые для аутентификации клиентов, а также директива EnableSha1ForLocalAnchors будут поддерживаться до 1 января 2019 года.
  • Добавлена экспериментальная поддержка медиасеансов (Media Sessions, chrome://flags/#enable-default-media-session), позволяющих автоматически выбирать актуальный контент и предотвращать одновременное воспроизведение в нескольких вкладках. Например, при включенных медиасеансах, при открытии новой вкладки с роликом YouTube, проигрывание музыки в ранее открытой вкладке будет приостановлено;
  • Реализована поддержка липкого позиционирования CSS - position:sticky, при которой можно определить, чтобы при скроллинге часть блока оставалась видимой, пока сам блок полностью не выйдет за пределы экрана. Например, теперь можно легко сделать так, чтобы заголовок с пояснениями по столбцам для длинной таблицы был виден, пока видна хоть одна ячейка таблицы, не прибегая к усложнениям в виде перехвата событий прокрутки и переключения позиции с "relative" на "fixed";
  • Web-приложениям предоставлена возможность инициирования создания фотографий со встроенной камеры и изменения настроек камеры через API Image Capture. Добавлена спецстраница "chrome://media-internals", на которой представлен список всех подключенных web-камер, а также поддерживаемых ими форматов и разрешений;
  • Переработана реализация всплывающей полосы прокрутки;
  • При вылезании содержимого за пределы заданной в параметрах viewport области, браузер теперь автоматически подстраивает позицию прокрутки для оставления содержимого видимым, за исключением случаев явного применения CSS-свойства overflow-anchor;
  • В API Notifications реализована поддержка включения изображений в состав уведомлений. Для определения изображений добавлено свойство "image";
  • Обеспечена поддержка чернового варианта спецификации TLS 1.3, в том числе режима 1-RTT, устраняющего задержки при согласовании соединений;
  • Добавлен новый HTTP-заголовок Referrer-Policy, позволяющий организовать перенаправление пользователя на другой URL без утечки идентификаторов сеансов и другой приватной информации. Поддержка CSP-директивы "referrer" прекращена (следует использовать заголовок Referrer-Policy);
  • Расширены возможности API PaymentRequest, например, появилась поддержка запроса имени плательщика (requestPayerName) и сериализации JSON;
  • Прекращена загрузка скриптов, в параметрах которых некорректно выставлены атрибуты type или language (например, type="python");
  • Добавлен метод KeyboardEvent.isComposing(), позволяющий web-приложению определить факт того, что пользователь в настроящее время занят набором текста, без прямого мониторинга за событиями ввода;
  • Для сокращения потребления памяти и накладных расходов на совмещение изображений добавлена возможность отрисовки пиксельных данных через ImageBitmapRenderingContext в форме ImageBitmap;
  • В CSS-свойство "touch-action" добавлен параметр "pinch-zoom", позволяющий настроить обработку жеста "масштабирование щипком";
  • Добавлен источник звука ConstantSourceNode, позволяющий генерировать постоянный звуковой фон, который можно смешивать при помощи AudioParam.
  • В режим только для чтения переведены два атрибута интерфейса Web Audio ChannelSplitterNode - channelCount и channelCountMode;
  • От префикса "webkit" избавлен API RTCPeerConnection (поддержка webkitRTCPeerConnection сохранена);
  • В версии для платформы Android появилась поддержка API Remote Playback, позволяющего управлять воспроизведением контента через HTMLMediaElement на умных телевизорах или громкоговорителях;
  • Добавлена поддержка API WebVR, предоставляющего средства для создания приложений виртуальной реальности. Поддержка API пока ограничена платформой Android;
  • Скрытие или отображение адресной строки на мобильных устройствах более не приводит к изменению размеров содержимого и элементов, подогнанных под параметры viewport;
  • На устройствах с платформой Android, имеющих как минимум 512 Мб ОЗУ, в формах ввода текста включена по умолчанию проверка орфографии, при наличии необходимых словарей в системе;
  • Унифицировано базовое семейство шрифтов, используемое для элементов интерфейса, которое теперь на всех платформах поставляется под именем system-ui;
  • На платформе Android параметры упреждающей загрузки по умолчанию установлены на получение только метаданных для видео (загружается эскиз картинки и данные о времени воспроизведения), в случае соединения через мобильную сеть.

Кроме нововведений и исправления ошибок, в новой версии устранена 51 уязвимость. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 21 премию на сумму 50837 долларов США (одна премия $8837, две премии $8000, одна премия $7500, одна премия $5500, одна премия $3000, четыре премии $2000, одна премия $1000 и две премии $500). Сумма неокончательная, так как размер шести вознаграждений ещё не определён.

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