Выпуск web-браузера Chrome 50
Основные изменения в Chrome 50:
- В кодовую базу интегрированы наработки проекта ozone-wayland, в рамках которого развивался вариант web-браузера Chromium, предназначенный для работы в окружениях на базе Wayland. Работа поверх Wayland организована благодаря созданию адаптированного для работы с Wayland набора C++ классов Ozone, используемых в Chromium для абстрагирования вывода на различные оконные системы;
- В рамках инициативы по упрощению функциональности браузере в июле будет удалён интерфейс Apps Launcher, который останется только в Chrome OS. До июля интерфейс запуска web-приложения остаётся доступен через ссылку chrome://apps;
- В версии для платформы Android переработан интерфейс подключения к учётной записи Google, в том числе обновлены окна входа, подтверждения, обновления учётной записи и синхронизации настроек;
- Внесены улучшения в систему Push-уведомлений, при помощи которых сайт может инициировать вывод системного уведомления на экран пользователя. Первая реализация Push-уведомлений была завязана на обработчики "service workers", получающие информацию об уведомлении от сервера, что создавало проблемы при одновременном поступлении нескольких сообщений или при сбое сетевого соединения. В новом выпуске задействована поддержка механизма "payload", определённого в Push API и уже поддерживаемого в Firefox, который позволяет отправлять связанные с уведомлением данные в push-сообщениях, что избавляет от необходимости проверки сервера. Для защиты приватности уведомления должны передаваться в зашифрованном виде. Сайтам также предоставлена возможность контролировать, когда уведомление было закрыто пользователем, и передавать собственные пиктограммы для предлагаемых пользователю действий;
- В тег link добавлена поддержка атрибута rel='preload', управляющего упреждающей загрузкой контента (параметр "link rel='subresource'" объявлен устаревшим). Через preload можно организовать загрузку ресурсов, не дожидаясь когда они будут запрошены, например, можно загрузить сразу все файлы CSS, которые вызываются из JavaScript. На нижеприведённом видео демонстрируются различия в скорости обработки страницы с preload и без.
- Сервисы определения местоположения (Geolocation API) теперь доступны только для защищённых соединений (если сайт открыт по HTTPS);
- Запрещён откат версии TLS, что блокирует атаки по переходу на устаревшие версии протокола. В TLS добавлена поддержка алгоритма Curve25519, предложенного Дэниэлом Бернштейном (D. J. Bernstein);
- Функция HTMLMediaElement.play() теперь возвращает объект Promise, что упрощает реагирование на сбой автоматического воспроизведения;
- Добавлена функция HTMLCanvasElement.toBlob(), предоставляющая средства для обработки элемента canvas в форме блоба;
- Добавлена возможность создания объектов ImageBitmap, которые можно быстро и асинхронно записать в элемент canvas;
- Через API AbsoluteDeviceOrientation предоставлена возможность доступа к информации об абсолютной ориентации устройства, в то время как DeviceOrientation возвращает относительные значения, полученные без использования магнитометра;
- В объект FormData, позволяющий программно генерировать данные для web-форм, добавлены средства инспектирования и изменения данных в web-формах;
- В регулярные выражения добавлена поддержка флага "u", а также символов @@match, @@replace, @@search и @@split для более полного управления процессом сопоставления;
- Предоставлена возможность управление буферизацией потоков звука и видео при помощи атрибута SourceBuffer.mode и опции 'sequence';
- Добавлена возможность отследить первый элемент на который укажет фокус в случае нажатии табуляции или shift-tab (если по умолчанию фокус не был установлен);
- Удалены свойства Document.defaultCharset и SVGElement.offset* (кроме HTMLElement), не определённые в спецификациях.
Кроме нововведений и исправления ошибок, в новой версии устранено 20 уязвимостей, многие из которых выявлены в результате автоматизированного тестирования инструментами AddressSanitizer и MemorySanitizer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 7 премий на сумму 17500. долларов США (по одной премии $7500, $5000 и $1000, две премии $1500 и две премии $500).
Источник: http://www.opennet.ru/opennews/art.shtml?num=44241
|
0 | Tweet | Нравится |
|