Хром 135

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

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

HTML и ДОМ

Команды вызова; команда и команда для атрибутов

Атрибуты command и commandfor для элементов <button> позволяют назначать поведение кнопкам более доступным и декларативным способом.

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

Добавляет поддержку <link rel="facilitated-payment" href="..."> как подсказку о том, что браузер должен уведомлять зарегистрированных платежных клиентов об ожидающем принудительном платеже.

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

CSS

::column для карусели

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

Запись ChromeStatus.com

Псевдоэлементы ::scroll-button()

Позволяет создавать интерактивные кнопки прокрутки в качестве псевдоэлементов, например:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Они должны быть фокусируемыми и вести себя как кнопки (включая их стили UA). При активации следует производить прокрутку в сторону на некоторую величину. Если прокрутка в этом направлении невозможна, их следует отключить (и стилизовать с помощью :disabled ), в противном случае они должны быть включены (и стилизованы с помощью :enabled ).

Селектор позволяет определять кнопки в четырех логических направлениях: block-start , block-end , inline-start , inline-end ; а также четыре физических направления: up , down , left , right .

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

::scroll-marker и ::scroll-marker-group

Добавляет псевдоэлементы ::scroll-marker и ::scroll-marker-group для прокрутки контейнеров. Они позволяют создавать набор фокусируемых маркеров для всех связанных элементов внутри контейнера прокрутки.

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

CSS Inertness — свойство interactivity

Свойство interactivity определяет, являются ли элемент и его потомки в виде плоского дерева (включая текстовые фрагменты) инертными или нет.

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

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

Логическое переполнение CSS

Свойства CSS overflow-inline и overflow-block позволяют устанавливать переполнение в строке и направлении блока относительно режима записи. В горизонтальном режиме записи overflow-inline отображается в overflow-x , а в вертикальном режиме записи — в overflow-y .

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

Позиционирование привязки CSS с запоминанием смещения прокрутки

Добавьте поддержку концепции запоминаемого смещения прокрутки .

Когда позиционируемый элемент имеет привязку по умолчанию и привязан к этой привязке на одном краю и к исходному содержащему блоку на другом краю, смещение прокрутки будет учитываться при определении размера элемента. Таким образом, вы можете использовать все видимое пространство (используя position-area ) для привязанного элемента, когда документ прокручивается с заданным смещением прокрутки.

Чтобы избежать макета (изменения размера элемента) каждый раз при прокрутке документа (что является нежелательным поведением, а также плохо влияет на производительность), будет использоваться так называемое «запоминаемое смещение прокрутки», а не всегда использовать текущее смещение прокрутки. Запомненное смещение прокрутки обновляется в так называемой «точке пересчета привязки», которая может быть:

  • Когда позиционированный элемент отображается изначально.
  • Когда выбран другой вариант позиции ( position-try-fallbacks ).

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

CSS-функция shape()

Функция shape() позволяет создавать в clip-path адаптивные фигуры произвольной формы.

Вы можете определить серию глаголов, примерно эквивалентных глаголам в path() , но где глаголы принимают адаптивные единицы измерения (например, % или vw ), а также любые значения CSS, такие как пользовательские свойства.

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

переменные safe-area-max-inset-*

Эта функция добавляет переменные max-area-safe-inset-* , которые не изменяются и представляют максимально возможную вставку безопасной области.

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

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

Стилизация вложенных псевдоэлементов

Позволяет стилизовать псевдоэлементы, вложенные в другие псевдоэлементы. На данный момент поддержка определена для:

  • ::before::marker
  • ::after::marker

В будущем будет поддерживаться ::column::scroll-marker .

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

Аудио и видео

Добавьте поддержку MediaStreamTrack в API веб-речи.

Добавьте поддержку MediaStreamTrack в API веб-речи.

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

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

Веб-API

Создать клиент сервисного работника и наследовать контроллер сервисного работника для srcdoc iframe.

Контекстные документы Srcdoc в настоящее время не являются клиентами сервис-воркера и не покрываются их родительским сервис-воркером. Это приводит к некоторым несоответствиям (например, Resource Timing сообщает URL-адреса, которые загружаются этими документами, но сервис-воркер не перехватывает их). Это изменение направлено на исправление несоответствий путем создания клиентов Service Worker для iframe srcdoc и предоставления им возможности наследовать родительский контроллер Service Worker.

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

Отражение элемента

Эта функция позволяет отображать атрибуты отношений ARIA в IDL как ссылки на элементы, а не как DOMStrings.

Это реализует атрибуты IDL в интерфейсе ARIAMixin с типом Element или FrozenArray<Element> , за исключением ariaOwnsElements .

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

Огражденные фреймы: автоматическая поддержка данных маяка из разных источников.

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

Чтобы разрешить это, сохраняя при этом конфиденциальность, как корневой документ изолированного фрейма, так и документ подкадра с перекрестным происхождением должны явно согласиться. Это та же форма согласия, что и для других функций FFAR с перекрестным происхождением. В частности, корневой кадр должен согласиться на использование заголовка Allow-Fenced-Frame-Automatic-Beacons , а подкадр с перекрестным происхождением, устанавливающий данные, должен согласиться на использование с помощью параметра crossOriginExposed в вызове setReportEvent() .

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

Float16Array

Добавляет типизированный массив Float16Array . Числовые значения округляются до IEEE fp16 при записи в экземпляры Float16Array .

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

Предотвращение отслеживания HSTS

Уменьшает отслеживание пользователей третьими лицами с помощью кеша HSTS.

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

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

Когда навигация инициируется элементом (например, щелчком ссылки или отправкой формы), свойство sourceElement в NavigateEvent будет инициирующим элементом.

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

Изменение имени причины API NotRestoredReasons

API NotRestoredReasons меняет некоторые тексты причин, чтобы они соответствовали стандартизированным именам. Если вы отслеживаете эти причины, вы можете заметить изменение в текстах причин.

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

Наблюдаемый API

Observables — это популярная парадигма реактивного программирования для обработки асинхронного потока push-событий. Их можно рассматривать как промисы, но для нескольких событий, и они стремятся делать то же, что и промисы, для обратных вызовов и вложенности. То есть они обеспечивают эргономичную обработку событий, предоставляя объект Observable, который представляет асинхронный поток событий.

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

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

Удалите ограничение setInterval(...) до >= 1 мс.

До Chrome 135 setInterval со значением меньше 1 ограничивался значением 1. В Chrome 135 это ограничение снято.

  • До : setInterval(..., 0) = задержка 1ms .
  • После : setInterval(..., 0) = задержка 0ms .

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

URL-адрес клиента Service Worker игнорирует изменения history.pushState()

Измените свойство Client.url сервисного работника, чтобы игнорировать изменения URL-адреса документа с помощью history.pushState() и других подобных API-интерфейсов истории. Свойство Client.url предназначено для использования в качестве URL-адреса создания HTML-документа, который игнорирует такие изменения.

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

Поддержка атрибутов rel и relList для SVGAElement

Интерфейс SVGAElement в SVG 2.0 позволяет манипулировать элементами <a> аналогично элементам привязки HTML. Поддержка атрибутов rel и relList повышает безопасность и конфиденциальность для разработчиков.

Такое согласование с элементами привязки HTML обеспечивает согласованность и простоту использования веб-технологий.

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

Временные метки для кадров в кодировке RTC

Эта функция заключается в предоставлении Интернету некоторых временных меток, которые присутствуют в кадрах, закодированных WebRTC, передаваемых с использованием RTCPeerConnection. Речь идет о временных метках:

  • Временная метка захвата : временная метка первоначального захвата кадра.
  • Временная метка получения : временная метка получения кадра.

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

Обновить заголовки, текст и политику реферера HTTP-запроса при перенаправлении CORS.

Обновите HTTP-запрос при перенаправлении CORS, удалив заголовки и тело запроса, если метод изменился, и обновив политику реферера. Эти обновления запросов соответствуют спецификации Fetch и соответствуют поведению, реализованному в Firefox и Safari, для улучшения совместимости.

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

API-интерфейс fetchLater

fetchLater() — это API JavaScript для запроса отложенной выборки. После вызова в документе отложенный запрос ставится браузером в очередь в состоянии ОЖИДАНИЕ и будет вызван при наступлении самого раннего из следующих условий:

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

API возвращает FetchLaterResult, содержащий логическое поле «активировано», которое можно обновить, чтобы определить, был ли отправлен отложенный запрос или нет. При успешной отправке весь ответ будет проигнорирован браузером, включая тело и заголовки. Ничего вообще не следует обрабатывать или обновлять, так как страница, возможно, уже исчезла.

Обратите внимание, что с точки зрения пользователя API точное время отправки неизвестно.

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

основные моментыFromPoint API

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

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

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

Учетные данные сеанса, привязанного к устройству

Способ для веб-сайтов безопасно привязать сеанс к одному устройству.

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

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

Вызывающие интерес

Эта функция добавляет interesttarget к элементам <button> и <a> . interesttarget добавляет к элементу поведение «интереса», так что, когда пользователь «проявляет интерес» к элементу, действия запускаются над целевым элементом. Действия могут включать в себя такие вещи, как показ всплывающего окна. Пользовательский агент будет определять, когда пользователь «проявляет интерес» к элементу — при наведении на элемент мыши, нажатии специальных горячих клавиш на клавиатуре или длительном нажатии элемента на сенсорных экранах. Когда интерес отображается или теряется, для цели будет запущено InterestEvent , которое имеет действия по умолчанию в случае всплывающих окон — отображение и скрытие всплывающего окна.

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

Целостность на основе подписи

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

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

Правила спекуляции: поле target_hint

Это расширяет синтаксис правил спекуляции, позволяя разработчикам указывать поле target_hint.

В этом поле содержится подсказка, указывающая целевой объект навигации, где в конечном итоге будет активирована предварительно обработанная страница. Например, если _blank указан как подсказка, предварительно обработанную страницу можно активировать для навигационного объекта, открытого с помощью window.open(). Поле не влияет на предварительную выборку.

Спецификация позволяет этому полю принимать в качестве значения любые строки, которые действительны в качестве навигационного целевого имени или ключевого слова, но этот запуск поддерживает только одну из строк "_self" или "_blank" . Если подсказка не указана, она рассматривается так, как если бы указано "_self" .

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

Устаревания и удаления

Удалить устаревший метод navigator.xr.supportsSession

Метод navigator.xr.supportsSession был заменен в спецификации WebXR методом navigator.xr.isSessionSupported в сентябре 2019 года после получения отзывов о форме API от TAG. С тех пор он был помечен как устаревший в Chromium, в результате чего на консоли появилось предупреждение, перенаправляющее разработчиков на обновленный API.

Использование этого вызова очень мало, и было подтверждено, что все основные платформы, используемые для создания контента WebXR, были обновлены для использования нового вызова.

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

Удалить ограничение WebGPU maxInterStageShaderComponents

Ограничение maxInterStageShaderComponents снимается по ряду причин:

  • Избыточность с помощью maxInterStageShaderVariables : это ограничение уже служит аналогичной цели, контролируя объем данных, передаваемых между этапами шейдера.
  • Незначительные несоответствия. Хотя существуют небольшие различия в способах расчета этих двух пределов, эти различия незначительны и ими можно эффективно управлять в пределах ограничения maxInterStageShaderVariables .
  • Упрощение. Удаление maxInterStageShaderComponents упрощает интерфейс шейдера и упрощает работу разработчиков. Вместо управления двумя отдельными ограничениями (которые оба применяются одновременно, но с небольшими различиями) они могут сосредоточиться на более подходящем названии и всеобъемлющем maxInterStageShaderVariables .

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