Chrome 126

Дата выпуска стабильной версии: 11 июня 2024 г.

Если не указано иное, перечисленные ниже изменения относятся к стабильной версии Chrome 126 для Android, ChromeOS, Linux, macOS и Windows.

CSS

Переходы между представлениями разных документов для навигации в пределах одного источника

Раньше для использования View Transitions API нужно было переделывать сайт в одностраничное приложение. Теперь это не так, Переходы между представлениями теперь включены по умолчанию для навигации в пределах одного источника. Вы можете создать переход между двумя разными документами одного происхождения.

Чтобы включить переход между документами, обе стороны должны дать согласие. Для этого используйте правило @view-transition и задайте для дескриптора navigation значение auto.

@view-transition {
  navigation: auto;
}

В переходах между документами используются те же строительные блоки и принципы, что и в переходах между представлениями одного документа. Элементы, к которым применяется view-transition-name, захватываются, и вы можете настраивать анимацию с помощью CSS.

Плавные переходы с помощью View Transition API | Ошибка отслеживания № 1372584 | Запись на сайте ChromeStatus.com | Спецификация

API для веб-серверов и браузеров

Расширение trigger-rumble для Gamepad API

Расширяет интерфейс GamepadHapticActuator, чтобы обеспечить вибрацию триггеров в веб-приложениях на совместимых геймпадах. Это расширение позволит веб-приложениям, использующим Gamepad API, задействовать вибрацию триггеров на геймпадах, которые поддерживают эту функцию.

Ошибка отслеживания № 40834175 | Запись на сайте ChromeStatus.com | Спецификация

Веб-приложения ChromeOS с вкладками

В отдельном окне прогрессивного веб-приложения может быть открыта только одна страница. Некоторые приложения предполагают, что у пользователей будет открыто много страниц одновременно. В режиме вкладок в автономных веб-приложениях в ChromeOS появляется панель вкладок, которая позволяет открывать несколько вкладок одновременно.

Эта функция добавляет новый режим отображения "tabbed" и новое поле манифеста, позволяющее настраивать панель вкладок.

Отслеживание ошибки № 40598974 | Запись на сайте ChromeStatus.com | Спецификация

Метод toJSON() для GeolocationCoordinates и GeolocationPosition

В интерфейсы GeolocationCoordinates и GeolocationPosition добавлены методы .toJSON(). Это позволяет сериализовать объекты с помощью JSON.stringify().

Запись на сайте ChromeStatus.com

Суперинтерфейс Web IDL WebGLObject

Эта функция предоставляет тип WebGLObject в тех же контекстах, в которых предоставляется WebGL API – в основном потоке и рабочих процессах.

Запись на сайте ChromeStatus.com | Спецификация

Повторное включение API CloseWatcher и закрытие запросов для <dialog> и popover=""

CloseWatcher API позволяет единообразно обрабатывать запросы на закрытие, например нажатие клавиши ESC на компьютере или жест/кнопку "Назад" на устройстве Android. Эта функция была впервые представлена в Chrome 120, но ее отключили из-за неожиданного взаимодействия с <dialog>. В Chrome 126 мы снова включили его, внеся некоторые улучшения, чтобы минимизировать проблемы.

Демонстрация | Ошибка отслеживания № 1171318 | Запись на сайте ChromeStatus.com

Attribution Reporting API: правила в отношении источника ссылки для запросов attributionsrc

Запросы attributionsrc обрабатываются так же, как и другие подресурсы на странице.

Ранее, когда API вызывался с помощью атрибута attributionsrc в составе различных элементов HTML (таких как <img>, <script>, <a> или window.open), он игнорировал атрибут правила для источника ссылки на уровне ресурса, заданный в элементе <html>.

Теперь к запросу attributionsrc будет применяться то же правило в отношении источника ссылки на уровне ресурса, которое задано в <img>, <script>, <a> или window.open.

Это позволяет рекламным технологиям лучше контролировать, насколько строгими должны быть ограничения в отношении информации о реферере в запросах attributionsrc.

Запись на сайте ChromeStatus.com

Медиа

Поддержка контейнера MP4 для MediaRecorder

Добавлена поддержка мультиплексирования аудио и видео в контейнеры MP4 с помощью MediaRecorder.

MediaRecorder | Запись на сайте ChromeStatus.com | Спецификация

Параметры OpusEncoderConfig signal и application

Параметры OpusEncoderConfig.signal и OpusEncoderConfig.application напрямую сопоставляются с регуляторами кодировщика, которые зависят от реализации. Это позволяет веб-авторам предоставлять подсказки о том, какой тип данных кодируется и в каком контексте используются данные.

signal может быть одним из следующих значений: "auto", "music", "voice". Он настраивает кодировщик для наилучшей производительности при кодировании указанного типа данных. application может быть одним из следующих: "voip", "audio", "lowdelay". Он настраивает кодировщик так, чтобы обеспечить разборчивость речи, точное воспроизведение исходных входных данных или минимальную задержку.

Запись на сайте ChromeStatus.com | Спецификация

JavaScript

Поддержка visualViewport onscrollend

Событие JavaScript scrollend активируется, когда прокрутка завершена.

Интерфейс visualViewport включает обработчик событий onscrollend, который должен вызываться по окончании прокрутки в visualViewport. Chrome уже поддерживает добавление прослушивателя событий scrollend через visualViewport.addEventListener("scrollend"). Это просто позволяет также добавить прослушиватель событий с помощью visualViewport.onscrollend.

Ошибка отслеживания № 325307785 | Запись на сайте ChromeStatus.com

Конфиденциальность

Выравнивание navigator.cookieEnabled со спецификацией

navigator.cookieEnabled в настоящее время указывает, пытается ли агент пользователя обрабатывать файлы cookie в заданном контексте. Изменение в Chrome, которое будет реализовано в рамках прекращения поддержки сторонних файлов cookie, позволит определять, возможен ли доступ к неразделенным файлам cookie (в большинстве межсайтовых фреймов iframe будет возвращаться значение false). Мы должны восстановить прежнее поведение navigator.cookieEnabled, которое указывало только на то, включены или отключены файлы cookie для сайта, и полагаться на кросс-вендорную функцию document.hasStorageAccess, чтобы указать, возможен ли доступ к неразделенным файлам cookie.

Ошибка отслеживания № 335553590 | Запись на сайте ChromeStatus.com | Спецификация

Специальные возможности

Поддержка фреймворка специальных возможностей UI Automation в Windows

Современные приложения со специальными возможностями в Microsoft Windows используют фреймворк UI Automation для взаимодействия с пользовательскими интерфейсами других приложений. До сих пор Chromium поддерживал для этой цели более старые фреймворки Microsoft Active Accessibility (MSAA) и IAccessible2 (IA2), что приводило к проблемам с инструментами специальных возможностей в Windows.

Чтобы решить эту проблему, Microsoft совместно с командой Chrome добавила прямую поддержку фреймворка UI Automation (UIA) в Windows. Это упростило взаимодействие инструментов специальных возможностей с браузером. Мы начнем постепенно внедрять его в стабильную версию, начиная с Chrome 126. Это позволит Voice Access работать во всех браузерах на основе Chromium и улучшит работу всех инструментов специальных возможностей на основе UIA, таких как экранный диктор и лупа.

Поддержка UIA в Windows

Новые эксперименты с источником

FedCM как сигнал доверия для Storage Access API

Согласовывает FedCM API и Storage Access API, делая ранее предоставленное разрешение FedCM действительной причиной для автоматического одобрения запроса на доступ к хранилищу.

Когда пользователь разрешает использовать свои идентификационные данные со сторонним поставщиком идентификационной информации (IdP) на проверяющей стороне (RP), многим IdP требуются сторонние файлы cookie для правильной и безопасной работы. Это предложение направлено на то, чтобы удовлетворить это требование конфиденциальным и безопасным способом, обновив проверки разрешений Storage Access API (SAA), чтобы принимать не только разрешение, предоставленное запросом на доступ к хранилищу, но и разрешение, предоставленное запросом FedCM.

Ключевым свойством этого механизма является ограничение предоставления случаями, явно разрешенными RP через политику разрешений FedCM, обеспечение контроля RP для каждого кадра и предотвращение пассивного наблюдения со стороны IdP за пределами возможностей, которые уже предоставляет FedCM.

Эксперимент с источником | Пояснение | Запись на сайте ChromeStatus.com

Отказ от предпросмотра медиаконтента

Этот обратный эксперимент с источником исключает сайты из запуска предварительного просмотра медиаконтента.

Когда сайты будут запрашивать доступ к камере и микрофону, Chrome будет показывать предварительный просмотр в реальном времени. Эти данные также будут доступны на странице с информацией о сайте.

Кроме того, пользователи с несколькими устройствами смогут выбрать камеру и микрофон в момент запроса разрешений, если только сайт не запросил определенное устройство через getUserMedia().

Эксперимент с источником | Ошибка отслеживания № 330762482 | Запись на сайте ChromeStatus.com

FedCM: Continuation API, Parameters API, Fields API, Multiple configURLs, Custom Account Labels

Разработчики могут принять участие в эксперименте с источником для набора функций FedCM для компьютеров, в том числе авторизации. В него входят Continuation API, Parameter API, Fields API, Multiple configURLs и Custom Account Labels. Это позволяет использовать процесс авторизации OAuth, включающий диалоговое окно разрешений, предоставляемое поставщиком идентификационной информации.

Ошибка отслеживания № 40262526 | Запись на сайте ChromeStatus.com

Управление разрешениями на странице

Добавьте новый элемент HTML, который взаимодействует с процессом запроса разрешения.

Сейчас запрос разрешения активируется непосредственно из JavaScript, и у агента пользователя нет четкого сигнала о намерении пользователя. Элемент в контенте, который пользователь использует для запуска процесса разрешения, позволяет улучшить UX запроса разрешения для пользователей, а также путь восстановления из состояния "запрещено" для сайтов.

Запись на сайте ChromeStatus.com

Прекращение поддержки и удаление

Прекращение поддержки и удаление синтаксиса assert для утверждения импорта

Прекратить поддержку и удалить ключевое слово assert в пользу нового ключевого слова with в синтаксисе атрибута импорта.

То есть import m from 'foo' assert { type: 'json' } теперь будет вызывать ошибку SyntaxError, и разработчикам нужно будет перейти на import m from 'foo' with { type: 'json' }.

Запись на сайте ChromeStatus.com | Спецификация

Дополнительные сведения

Ищете что-то ещё? Ознакомьтесь с дополнительными ресурсами.

Скачать Google Chrome

Скачайте Chrome для Android, компьютера или iOS.