Релиз web-браузера Chrome 49, прекративший поддержку 32-разрядных систем Linux
3 марта 2016 года
Компания Google представила релиз web-браузера Chrome 49. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающий основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.
Основные изменения в Chrome 49:
- Прекращено формирование сборок для 32-разрядных систем Linux и прекращена поддержка платформ Ubuntu 12.04, Debian 7 (wheezy), Windows XP, Windows Vista, OS X 10.6, 10.7 и 10.8. Начиная с Chrome 49 Linux-сборки будут формироваться только для 64-разрядных систем. Возможность сборки кодовой базы Chromium для 32-разрядных систем оставлена, что позволит дистрибутивам продолжить выпуск актуальных 32-разрядных пакетов с Chromium. Поддержка 32-разрядных архитектур x86 и ARM в кодовой базе Chromium будет сохранена как минимум в течение пяти лет. Всем пользователям 32-разрядных Linux-систем рекомендуется перейти на использование Chromium. Пользователям Ubuntu 12.04 и Debian 7 рекомендуется обновить свои системы до выпусков Ubuntu 14.04 и Debian 8.
- Поддержка определения собственных свойств CSS (CSS custom properties) путем использования переменных, содержащих часто используемые параметры CSS. Переменные позволяют упростить поддержание большого числа одинаковых значений в различных файлах CSS, например, типовых цветов, которые упоминаются во многих местах страницы. Задание подобных параметров через переменные существенно упрощает изменение их значений - вместо повсеместной правки отдельных элементов во множестве файлов, достаточно изменить лишь присвоение базового значения переменной. Для ссылки на переменную в CSS предлагается использовать функцию var(), допускаются математические выражения над переменными. Пример:
:root { --main-color: #06c; --margins: 2; --margins-double: (var(--margins) * 2); } #foo h1 { color: var(--main-color); }
- Представлен Background Sync API для выполнения операций фоновой синхронизации в service worker, решающих проблему c потерей изменений в случае закрытия страницы до окончания передачи локальных изменений на сервер (например, почтовый клиент может потерять находящиеся в очереди сообщения, если пользователь закроет страницу сразу после их отправки). В случае пропадания сетевого соединения, Background Sync позволяет отложить выполнение операции синхронизации до момента появления доступности сети, даже если страница досрочно закрыта пользователем;
- Расширена поддержка стандарта ECMAScript 2015, степень охвата элементов которого в JavaScript-движке V8 оценивается в 91%. В новом выпуске добавлена поддержка деструктуризации данных в массивах и объектах, определения используемых в функции аргументов по умолчанию (например, "function multiply(a, b = 1)"). В объектах Proxy и Reflect API добавлена возможность изменения поведения при поиске и назначении элементов. Реализована возможность использования блочных конструкций, таких как class и let, вне режима strict;
- Элемент "keygen", который использовался для генерации или передачи ключей через HTML-формы, переводится в разряд устаревших. Так как он не отвечает современным требованиям безопасности (сертификат передаётся в MIME-блоке application/x-x509-user-cert и может быть подменён), поле keygen будет по умолчанию возвращать пустое значение, а сертификат из application/x-x509-user-cert не будет загружаться и устанавливаться по умолчанию;
- Возможность использования MediaRecorder API для записи звука и видео без привязки к каким-либо плагинам (перед началом записи пользователю выводится окно с предложением подтвердить операцию);
- В инструменты для разработчиков добавлены средства отслеживания процесса загрузки шрифтов, указанных через свойство CSS font-display;
- Реализована возможность на стороне сайта выявлять каким именно клиентом service worker инициирован запрос на извлечение данных (передаётся атрибут FetchEvent.clientID);
- Поддержка плавной анимации прокрутки, выполняемой с использованием дискретных устройств, таких как колесо мыши;
- Добавлены дополнительные средства предотвращения модификации защищённых cookie при доступе не через HTTPS. Для идентификации secure cookies можно использовать специальный префикс "__Secure-";
- В Remote Playback API добавлено свойство disableRemotePlayback, позволяющее запретить удалённое воспроизведение контента через устройство Google Cast;
- Увеличена точность определения времени наступления события (Event.timeStamp теперь имеет тип DOMHighResTimeStamp вместо DOMTimeStamp), что позволяет более точно контролировать операции прокрутки и движения указателя;
- Добавлен URLSearchParams API, предоставляющий программный интерфейс для манипуляции параметрами в строке запроса (блок, идущий после "?" в URL);
- В WebAudio добавлена поддержка фильтров IIR, операций OfflineAudioContext.suspend()/resume() и обработчиков Promise в DecodeAudioData;
- Возможность использования service worker для открытия нового URL в окне через вызов WindowClient.navigate();
- Возможность отследить на стороне сайта включения режима экономии трафика через установку заголовка Save-Data;
- В Chromium добавлена поддержка стандартного набора шифров ChaCha20-Poly1305 в TLS;
- Прекращена поддержка свойства Document.defaultCharset;
- В версии для Android добавлена поддержка механизма Physical Web, позволяющего быстро получать ссылки на окружающие объекты при помощи Bluetooth-меток Eddystone;
- Добавлена новая внутренняя страница chrome://network-errors со списком возможных сетевых ошибок;
- Возможность использования оформления Material Design для панели, меню и адресной строки. Новое оформление можно включить через установку значения Material в опции "chrome://flags/#top-chrome-md";
- Возможность включения тёмного оформления инструментов для разработчиков (в настройках DevTools нужно нажать F1 и выбрать тему "Dark");
- Реализована экспериментальная поддержка расчёта коэффициента востребованности сайта, на основе которого браузер может динамически управлять выделением ресурсов, отдавая предпочтение часто посещаемым сайтам. Включение режима производится при помощи флага chrome://flags/#enable-site-engagement-service, посмотреть статистику можно на странице chrome://site-engagement;
- Обновлён интерфейс управления загрузками (chrome://downloads);
- На панель вынесены кнопки управления дополнениями, через которые в том числе можно удалить дополнение. При желании кнопки можно скрыть;
Кроме нововведений и исправления ошибок, в новой версии устранено 26 уязвимостей, многие из которых выявлены в результате автоматизированного тестирования инструментами AddressSanitizer и MemorySanitizer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 14 премий на сумму 51 тыс. долларов США (по одной премии $14500, $8000, $7500 и $5000, две премии $3000, три премии $2000, три премии $1000, две премии $500).
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.