Хром 132

Дата стабильного выпуска: 14 января 2025 г.

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

HTML и ДОМ

Выдавать исключение для всплывающих окон и диалогов в неактивных документах.

Ранее вызов showPopover() или showModal() для всплывающего окна или диалогового окна, находящегося в неактивном документе, приводил к сбою без уведомления. Никакого исключения не будет создано, но поскольку документ неактивен, всплывающее окно или диалоговое окно отображаться не будут. Начиная с Chrome 132, в этих ситуациях выдается InvalidStateError .

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

События переключения диалога

Полезно знать, когда элементы <dialog> открываются и закрываются, а popover уже есть ToggleEvent , который отправляется, когда всплывающее окно открывается или закрывается. Раньше, чтобы определить, когда открывается <dialog> , вам нужно было зарегистрировать наблюдателя мутаций для проверки открытия, однако это довольно большая работа, и событие было бы проще.

Это изменение включает в себя тот же ToggleEvent , который отправляют всплывающие окна, но для элементов <dialog> : при вызове showModal или show <dialog> отправляет ToggleEvent с newState=open . Когда <dialog> закрывается (с помощью формы, кнопки или closewatcher), он должен отправить ToggleEvent с newState=closed .

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

Исправить выделение isCollapsed в Shadow DOM.

Выбор isCollapsed должен возвращать true тогда и только тогда, когда привязка и фокус совпадают. Это должно быть верно независимо от того, начинается или заканчивается выделение внутри дерева света или тени.

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

CSS

Позиционирование привязки CSS: разрешить anchor-size() в свойствах inset и margin .

Первоначально anchor-size() было разрешено только в свойствах изменения размера. Спецификация была изменена, чтобы разрешить anchor-size() также во вставках и полях.

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

Режимы бокового написания CSS

Поддержка ключевых словsideways sideways-rl sideways-lr для свойства CSS writing-mode . sideways-rl sideways-lr полезны для вертикального написания текста, отличного от CJK. У них нет поведения, благоприятного для языков CJK, в отличие от vertical-rl и vertical-lr .

Режим записи MDN | Ошибка отслеживания № 40501131 | Запись ChromeStatus.com | Спецификация

Загрузка

Извлечение: Request.bytes() и Response.bytes()

Добавьте метод bytes() к интерфейсам Request и Response , который возвращает обещание, которое разрешается с помощью Uint8Array. Хотя Request и Response имеют метод arrayBuffer() , вы не можете читать непосредственно из буфера. Чтобы прочитать его, вам необходимо создать представление, такое как Uint8Array . Метод bytes() улучшает эргономику получения тела запроса и ответа.

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

Игнорировать Strict-Transport-Security для локального хоста

Заголовки ответов Strict-Transport-Security (STS) могут вызвать проблемы для веб-серверов локального хоста, поскольку STS применяется на уровне хоста и ко всем портам. Это вызывает проблемы совместимости для веб-разработчиков, тестирующих локально. Это также затрагивает конечных пользователей, которые используют пакеты программного обеспечения, которые обычно запускают локальные веб-серверы по эфемерным причинам. Например, передача токена аутентификации от входа в Интернет в локальный пакет программного обеспечения. Если один локальный прослушиватель устанавливает Strict-Transport-Security для ответа локального хоста, он применяется ко всем последующим запросам локального хоста независимо от порта.

Chrome 132 решает эту проблему, игнорируя заголовки Strict-Transport-Security в ответах от URL-адресов локального хоста.

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

СМИ

Захват всех экранов

Захватите все экраны, подключенные к устройству, с помощью getAllScreensMedia() .

Вызов getDisplayMedia() несколько раз требует нескольких жестов пользователя, обременяет пользователя выбором следующего экрана каждый раз и не гарантирует приложению, что все экраны были выбраны. Метод getAllScreensMedia() улучшает все эти аспекты.

Эта функция доступна только на настольных компьютерах.

Дизайн-документ | Ошибка отслеживания № 40216442 | Запись ChromeStatus.com | Спецификация

Захват элемента

Учитывая видео MediaStreamTrack полученное с помощью ранее существовавших средств для инициации захвата табуляции, Element Capture позволяет изменять дорожку, чтобы захватывать только поддерево DOM, начиная с данного элемента.

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

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

Веб-API

PushMessageData::bytes()

Интерфейс PushMessageData имитирует интерфейс Body , который ранее в этом году был дополнен новым методом bytes() , следуя принципу, согласно которому API обычно должны продавать байтовые буферы как Uint8Arrays . Chrome 132 перестраивается в интерфейс Body , предоставляя метод доступа bytes() и в интерфейсе PushMessageData .

MDN PushMessageData: метод bytes() | Ошибка отслеживания № 373336950 | Запись ChromeStatus.com | Спецификация

Контейнеры прокрутки с возможностью фокусировки на клавиатуре

Внедрение этой функции (из Chrome 130) было остановлено из-за ухудшения доступности. Это исправлено, и эта функция продолжает появляться в Chrome 132.

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

API положения устройства

Этот API помогает разработчикам определять текущее положение складного устройства. Положение устройства — это физическое положение, в котором удерживается устройство, которое может быть получено не только от угла, но и с помощью датчиков.

От повышения удобства использования веб-сайта за счет исключения области сгиба до создания инновационных вариантов использования Интернета — знание положения устройства может помочь разработчикам адаптировать свой контент для различных устройств.

Контент можно потреблять и просматривать, даже если устройство не плоское, и в этом случае разработчик может захотеть предоставить для него другой макет в зависимости от состояния положения, в котором используется устройство.

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

Сохраненные запросы в sharedStorage.selectURL

sharedStorage.selectURL() теперь позволяет сохранять и повторно использовать запросы для каждой страницы, при этом два бюджета загрузки на страницу взимаются при первом запуске сохраненного запроса, но не при последующих запусках сохраненного запроса во время та же загрузка страницы. Это достигается с помощью параметра savedQuery в опциях selectURL() который называет запрос.

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

Подстановочный знак белого списка по умолчанию для политики разрешений API токена частного состояния

Доступ к API частного государственного токена ограничен функциями политики разрешений. В Chrome 132 белый список по умолчанию для функций private-state-token-issuance и private-state-token-redemption обновляется с self на * (подстановочный знак).

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

API режима FedCM и использование другого API учетной записи

Два новых расширения для FedCM:

  • Режим : active режим позволяет веб-сайтам вызывать FedCM одним нажатием кнопки (например, нажатием кнопки «Войти в IdP» ), что требует от FedCM гарантировать, что он всегда будет отвечать видимым пользовательским интерфейсом. Вызов API FedCM в активном режиме требует от пользователей входа в систему поставщика удостоверений (IdP), когда пользователи вышли из системы. Кроме того, поскольку активный режим вызывается в рамках явного жеста пользователя, пользовательский интерфейс также более заметен (например, центрированный и модальный) по сравнению с пользовательским интерфейсом из пассивного режима (который не требует требований к жестам пользователя и может называться при загрузке страницы).
  • Использовать другую учетную запись : с помощью этого расширения поставщик удостоверений может разрешить пользователям входить в другие учетные записи.

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

Доступ к файловой системе для Android и WebView

Этот API позволяет разработчикам создавать мощные приложения, которые взаимодействуют с другими (не веб-приложениями) на устройстве пользователя, используя файловую систему устройства. После того как пользователь предоставляет доступ к веб-приложению, этот API позволяет приложению читать или сохранять изменения непосредственно в файлах и папках, выбранных пользователем. Помимо чтения и записи файлов, этот API предоставляет возможность открывать каталог и перечислять его содержимое, а также сохранять дескрипторы файлов и каталогов в IndexedDB, чтобы позже восстановить доступ к тому же содержимому.

Доступ к файловой системе реализован на настольном компьютере в Chrome 86, а в Chrome 132 он доступен на Android и WebView.

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

API сигнала WebAuthn

Позволяет проверяющим сторонам WebAuthn передавать информацию о существующих учетных данных обратно поставщикам хранилища учетных данных, чтобы неправильные или отозванные учетные данные можно было обновить или удалить из пользовательского интерфейса поставщика и системы.

Узнайте больше об API Signal для ключей доступа на настольном компьютере Chrome .

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

Рендеринг и графика

WebGPU: смешивание 32-битных текстур с плавающей запятой.

Функция GPU float32-blendable позволяет смешивать текстуры графического процессора в форматах r32float , rg32float и rgba32float .

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

WebGPU: предоставление информации GPUAdapterInfo из GPUDevice

Атрибут GPUDevice adapterInfo предоставляет ту же GPUAdapterInfo что и объект GPUAdapter .

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

WebGPU: использование представления текстур

Добавляет необязательное поле в создание представления текстуры WebGPU для запроса подмножества флагов использования из исходной текстуры.

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

Реализации WebGPU также могут оптимизировать создание ресурсов низкого уровня и повысить производительность при использовании представлений с более специализированными флагами использования.

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

Испытания происхождения

Явные подсказки по компиляции с магическими комментариями.

Эта функция позволяет вам прикреплять информацию о том, какие функции следует анализировать и компилировать в файлах JavaScript. Информация будет закодирована в виде магических комментариев.

Пробная версия происхождения | Объяснитель | Ошибка отслеживания № 42203853 | Запись ChromeStatus.com

Document-Isolation-Policy

Document-Isolation-Policy позволяет документу включать crossOriginIsolation для себя без необходимости развертывания COOP или COEP и независимо от состояния crossOriginIsolation страницы. Эта политика подкреплена изоляцией процессов. Кроме того, подресурсы документа, не относящиеся к CORS, будут либо загружены без учетных данных, либо должны будут иметь заголовок CORP.

Пробная версия происхождения | Ошибка отслеживания № 333029146 | Запись ChromeStatus.com | Спецификация

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

navigator.storage был сделан EventTarget для события «Нагрузка на хранилище», которое так и не прошло стадию прототипа. Этот мертвый код удаляется, и в результате navigator.storage больше не будет расширять EventTarget .

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

Удалить полноэкранные API HTMLVideoElement с префиксом.

Полноэкранные API-интерфейсы HTMLVideoElement с префиксом устарели в Chrome.

Их заменил API Element.requestFullscreen() , который впервые появился без префикса в Chrome 71 в 2018 году. По состоянию на 2024 год большинство браузеров уже несколько лет поддерживают API без префиксов.

Chrome 132 удаляет из HTMLVideoElement следующее:

  • Атрибут webkitSupportsFullscreen .
  • Атрибут webkitDisplayingFullscreen .
  • Метод webkitEnterFullscreen() .
  • Метод webkitExitFullscreen() . Обратите внимание на разную заглавную букву «S» в полноэкранном режиме.
  • Метод webkitEnterFullScreen() .
  • Метод webkitExitFullScreen() .

Эти методы теперь являются лишь псевдонимами современного API. Их использование с годами неуклонно сокращалось.

Запись ChromeStatus.com

Дальнейшее чтение

Ищете больше? Ознакомьтесь с этими дополнительными ресурсами.

Скачать Гугл Хром

Загрузите Chrome для Android , ПК или iOS .