Релиз Chrome 114
Компания Google представила релиз web-браузера Chrome 114. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 115 запланирован на 18 июля.
Основные изменения в Chrome 114:
Расширены возможности менеджера паролей (Google Password Manager), который теперь оформлен в виде PWA-приложения (Progressive Web App) и доступен через страницу «chrome://password-manager». В меню первого уровня браузера добавлена кнопка для открытия менеджера паролей. Реализована группировка похожих паролей. Улучшен процесс проверки. В настройки добавлена опция для помещения отдельного ярлыка на рабочий стол для быстрого открытия обособленного интерфейса менеджера паролей.
В менеджере паролей переработан интерфейс, показываемый при нажатии на пиктограмму в адресной строке. В отображаемом списке паролей теперь можно сразу посмотреть детальную информацию, скопировать логин/пароль в буфер обмена и отредактировать сохранённое примечание.
Началось постепенное продвижение (для части пользователей) обновлённого интерфейса боковой панели для работы с закладками, в которой появились такие возможности, как установка фильтров, изменение метода сортировки и редактирование по месту.
Реализованы новые кнопки-подсказки о наличии обновления, применении обновления и необходимости перезапуска после обновления.
Добавлена настройка «chrome://flags#tab-hover-card-images» для отключения всплывающих эскизов, показываемых при наведении курсора на вкладки (Tab Hover Card).
При включении стандартной и расширенной защиты браузера (Safe Browsing > Standard/Enhanced protection) реализована рекурсивная проверка вложенных архивов после загрузки на наличие вредоносных файлов.
Осуществлён переход на использование встроенного хранилища корневых сертификатов удостоверяющих центров (Chrome Root Store) на платформах Android, Linux и ChromeOS (в Windows и macOS переход на Chrome Root Store был совершён ранее). Chrome Root Store напоминает подход компании Mozilla, которая вместо специфичного для каждой операционной системы хранилища, использует собственное отдельное независимое хранилище корневых сертификатов в качестве первого звена для проверки цепочки доверия сертификатов при открытии сайтов по HTTPS.
Для защиты от захвата Cookie вредоносным ПО на платформе Windows обеспечено удержание эксклюзивной блокировки на файлы, в которых хранятся Cookie.
В версиях для платформ Android и iOS реализована возможность раздельного хранения локальных настроек и настроек, полученных в результате синхронизации с другими устройствами через учётную запись в Google. Изменение позволяет, с одной стороны, исключить передачу локальных настроек в процессе синхронизации, а, с другой стороны, даёт возможность не оставлять в системе внешние настройки после отключения синхронизации. По умолчанию раздельное хранение отключено и требует изменения флага «chrome://flags#enable-preferences-account-storage» для активации.
Сайтам предоставлена возможность использования API Private State Token, позволяющего разделять разных пользователей без использования межсайтовых идентификаторов и передавать сведения о подлинности пользователя между разными контекстами. На практике, API может оказаться полезным для отделения ботов от реальных посетителей без явной передачи данных идентификации. Суть работы с API сводится к тому, что определённый сайт, на котором пользователь прошёл аутентификацию или проверку капчей, может сгенерировать токен, хранимый на стороне браузера. Данный токен могут использовать другие сайты для того, чтобы удостовериться, что пользователь человек, а не бот. Для управления доступом к новому API в настройках предоставлена опция Auto-verify.
Реализован API Side Panel, позволяющий дополнениям на база третьей версии манифеста добавлять собственные панели во встроенный интерфейс боковой панели.
В CSS-свойстве «text-wrap» реализовано значение «balance», позволяющее равномерно распределить многострочный текст, учитывая итоговые значения имеющейся области, размера шрифта и языка.
В рамках инициативы Privacy Sandbox реализована технология CHIPS (Cookies Having Independent Partitioned State), позволяющая изолировать Cookie в привязке к домену первого уровня, используя новый атрибут «Partitioned». Если в обычных условиях сторонний код с сайта «C», встроенный на сайты «A» и «В», может обрабатывать общие для данных сайтов Cookie, то при указании атрибута «Partitioned», выставленные сайтом «C» Cookie, при загрузке кода с сайтов «A» и «В», будут полностью разделены.
Добавлен API Popover, позволяющий создавать элементы интерфейса, показываемые поверх других элементов web-интерфейса. Например, при помощи нового API можно создавать меню действий, выводить подсказки для заполнения форм, создавать обучающие интерфейсы и реализовать захват содержимого. Вывод поверх других элементов производится через выставление атрибута «popover», при этом местоположение, каскадирование и фокус ввода обрабатываются автоматически. В отличие от элемента «dialog» элементы с атрибутом «popover» не используют модальный режим, поддерживают события и легко отменяются.
В метод navigator.bluetooth.requestDevice () добавлено свойство exclusionFilters, позволяющее исключить некоторые устройства из предоставляемого браузером интерфейса выбора доступных Bluetooth-устройств.
В режиме «origin trial» добавлена поддержка API Background Blur, позволяющего использовать предоставляемые платформой возможности для размытия фона получаемых с камеры изображений и видео (полезно для web-приложений для проведения видеоконференций).
В CSS-свойстве «overflow» прекращена отдельная обработка значения «overlay», которое теперь идентично значению «auto».
Добавлен API NotRestoredReason, позволяющий узнать причину не восстановления содержимого страницы из кэша после нажатия кнопок Back и Forward.
Добавлено событие scrollend, генерируемое при завершении пользователем прокрутки (когда позиция перестаёт изменяться) в объектах Element и Document.
В WebAssembly добавлена поддержка новых инструкций обработки констант i32.add, i32.sub, i32.mul, i64.add, i64.sub и i64.mul.
Расширены возможности API WebGPU и проведена оптимизация производительности функций GPUComputePassEncoder, GPURenderPassEncoder и GPUCommandEncoder, нагрузка на CPU при вызове которых из JavaScript снизилась примерно на 40%.
Внесены улучшения в инструменты для web-разработчиков. Предоставлена возможность отладки C и C++ кода WebAssembly-приложений, для которых имеются отладочные данные в формате DWARF. Среди прочего поддерживается установка точек останова и отображение имён C/C++ функций.
В панели Elements и вкладке Issues добавлена поддержка отладки автозаполнения форм. В панели Recorder предоставлена возможность добавления assert-ов во время записи. Расширены возможности панели Performance для анализа производительности и определения узких мест. Убрана возможность вызова панели JavaScript Profiler, которая ранее была объявлена устаревшей.
Кроме нововведений и исправления ошибок в новой версии устранено 16 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 13 премий на сумму 65.5 тысяч долларов США (по одной премии в $15000, $10000 $3000, $2000 и $500, три премии $9000 и две премии в $4000). Размер 3 вознаграждений пока не определён.
Источник: http://www.opennet.ru/opennews/art.shtml? num=59223
© OpenNet