Chrome 144 бета

Опубликовано: 3 декабря 2025 г.

Если не указано иное, следующие изменения относятся к последней версии бета-версии Chrome для Android, ChromeOS, Linux, macOS и Windows. Чтобы узнать больше об этих функциях, см. предоставленные ссылки или список на ChromeStatus.com. Загрузите последнюю версию с Google.com для настольных компьютеров или из Google Play Store для Android.

CSS и UI

Позиционирование привязки CSS с помощью преобразований

Если элемент, привязанный к якорю, связан с якорем, имеющим преобразование (или содержится в элементе с преобразованием), браузер обрабатывает функции anchor() и anchor-size() относительно ограничивающего прямоугольника преобразованного якоря.

CSS псевдосимволы подсветки поиска на странице

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

Подробнее об этом можно узнать в блоге Igalia в разделе «Стилизация элементов, выделяющих страницу» .

Не используйте aria-details для позиционирования привязки.

Код для создания связей aria-details для случаев использования позиционирования привязки вне всплывающих окон, вероятно, был ошибкой. Поскольку всплывающие окна и другие семантические связи создают aria-details , а остальные случаи использования, вероятно, не являются семантическими, Chrome теперь не создает эти связи в несемантических случаях.

@scroll-state прокрутка

Позволяет настраивать внешний вид потомков контейнеров в зависимости от последнего направления прокрутки.

Пример:

.scrolling-up {
  translate: 80px 0;
  transition: 0.4s translate;
}

html {
  container-type: scroll-state;
}

@container scroll-state(scrolled: top) {
  .scrolling-up { translate: 0 0; }
}

Учитывайте свойство overscroll-behavior при прокрутке с клавиатуры.

Если установить для overscroll-behavior значение, отличное от auto , браузер не должен выполнять цепочку прокрутки. Chrome учитывает это для прокрутки мышью или сенсорным экраном; однако для прокрутки с клавиатуры это значение игнорируется. Это изменение гарантирует, что прокрутка с клавиатуры также будет учитывать overscroll-behavior .

Учитывайте overscroll-behavior для непрокручиваемых контейнеров прокрутки.

Свойство overscroll-behavior применяется ко всем элементам-контейнерам с прокруткой, независимо от того, переполняют ли эти элементы содержимое или являются ли они прокручиваемыми пользователем. Вы можете использовать overscroll-behavior , чтобы предотвратить распространение прокрутки на элементе overflow: hidden backdrop или overflow: auto не задумываясь о том, переполняется ли содержимое элемента.

Сопоставление container-name без области видимости дерева

Браузер игнорирует область видимости дерева при сопоставлении container-name для запросов с @container .

Ранее для сопоставления container-name в запросах @container использовались имена или ссылки, ограниченные областью видимости дерева. Это означало, что одно и то же имя не совпадало бы, если правило @container и свойство container-type происходили из разных деревьев, например, если объявление container-type исходило из внутреннего теневого дерева.

Благодаря этому изменению значения container-name будут совпадать независимо от происхождения правила @container или объявления container-type .

SVG2 CSS каскадирование

Приводит реализацию Chrome в соответствие со спецификацией SVG2 для сопоставления правил CSS в деревьях элементов <use> .

Селекторы сопоставляются с элементами экземпляра <use> а не с исходным поддеревом элементов. Это означает, что селекторы больше не сопоставляются с родительскими и дочерними элементами за пределами клонированного поддерева. Что еще важнее, селекторы состояния, такие как :hover теперь сопоставляются с экземплярами <use> .

Веб-API

XRVisibilityMaskChange

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

Предоставить доступ к событию onanimationcancel для GlobalEventHandlers

CSS Animations Level 1 расширяет интерфейс GlobalEventHandlers , определенный в спецификации HTML, путем объявления четырех новых обработчиков событий: onanimationstart , onanimationiteration , onanimationend и onanimationcancel .

В IDL-файле GlobalEventHandlers отсутствовал только обработчик события onanimationcancel .

Для получения дополнительной информации см. спецификацию CSS Animations Level 1 и раздел GlobalEventHandlers спецификации HTML .

Метод waitUntil() для перехода между представлениями

Компонент ViewTransition автоматически создает дерево псевдоэлементов для отображения и анимации участвующих элементов в переходе. Согласно спецификации, это поддерево создается, когда начинается анимация перехода представления, и уничтожается, когда анимации, связанные со всеми псевдоэлементами перехода представления, находятся в завершенном состоянии (или, точнее, в неактивном, не приостановленном состоянии).

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

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

Для обеспечения возможности расширенного использования перехода между представлениями, этот интент добавляет функцию waitUntil() к объекту ViewTransition , которая принимает промис. Этот промис задерживает уничтожение псевдодерева до тех пор, пока оно не будет завершено.

Элемент <geolocation>

Вводит элемент <geolocation> , декларативный, активируемый пользователем элемент управления для доступа к местоположению пользователя. Он упрощает работу пользователя и разработчика, обрабатывая поток разрешений и напрямую предоставляя данные о местоположении сайту, часто устраняя необходимость в отдельном вызове API JavaScript.

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

WebGPU: функция subgroup_id

Встроенные значения subgroup_id и num_subgroups доступны, если включено расширение подгрупп.

WebGPU: Стандартная компоновка буфера с единой структурой.

Для буферов униформ, объявленных в шейдерах WGSL, больше не требуется выравнивание элементов массива по 16 байтам или дополнение смещений вложенных структур до значений, кратных 16 байтам.

Временной API

API Temporal в ECMA262 предоставляет стандартные объекты и функции для работы с датами и временем. Работа с Date долгое время была проблемой в ECMAScript. Temporal — это глобальный Object , который выступает в качестве пространства имен верхнего уровня (например, Math ), предоставляя современный API для работы с датами и временем в языке ECMAScript. Подробное объяснение причин см. в разделе «Исправление работы с датами в JavaScript: начало работы» .

Поддержка ping , hreflang , type и referrerPolicy для SVGAElement

Добавляет поддержку атрибутов ping , hreflang , type и referrerPolicy для SVGAElement , приводя его поведение в соответствие с HTMLAnchorElement для согласованной обработки ссылок в HTML и SVG.

Событие clipboardchange

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

Подсказки клиента User-Agent ch-ua-high-entropy-values ​​политика разрешений

Добавляет поддержку политики разрешений ch-ua-high-entropy-values , которая позволяет сайту верхнего уровня ограничивать доступ документов к сбору подсказок клиента с высокой энтропией с помощью JavaScript API navigator.userAgentData.getHighEntropyValues() .

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

Зеркальное отображение операторов RTL MathML

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

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

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

Поддержка многоадресной рассылки для API прямых сокетов для изолированных веб-приложений

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

Производительность и время событий: InteractionCount

API Event Timing является частью Performance Timeline и измеряет производительность взаимодействий пользователя. Каждому событию присваивается значение interactionId , что полезно для группировки связанных взаимодействий на основе распространенных физических действий или жестов пользователя.

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

В частности, эта функция полезна для вычисления значения метрики «Взаимодействие до следующего отрисовки» (INP), для расчета высокого процентиля которого необходимо знать общее количество взаимодействий (p98 для страниц с более чем 50 взаимодействиями).

Эта функция была запланирована давно, ранее разрабатывался прототип в Chromium, но так и не был выпущен, является частью Interop 2025 и уже доступна в других браузерах.

Взаимодействие событий, связанных с границей указателя и мыши, после изменений DOM.

После удаления целевого объекта события из DOM, логическим целевым объектом указателя, как это подразумевается граничными событиями Pointer и Mouse (то есть событиями over , out , enter и leave ), должен быть ближайший предок, все еще прикрепленный к DOM.

Chrome отслеживает узел даже после его удаления из DOM. В результате, если указатель перемещается к новому узлу B после удаления из DOM узла A, являющегося проверкой на попадание, последовательность событий границы ( pointerover , pointerout , pointerenter , pointerleave и соответствующие события мыши) подразумевает перемещение указателя от A к B. Согласно новому консенсусу, последовательность событий подразумевает перемещение указателя от «родителя A» к B.

Блокировка указателя на Android

Предоставляет доступ к необработанным данным о перемещении мыши, блокируя цель событий мыши на одном элементе и скрывая курсор мыши. API Pointer Lock уже поддерживается на настольных компьютерах, данная разработка предназначена для поддержки Android.

Значение перечисления RTCDegradationPreference : maintain-framerate-and-resolution

maintain-framerate-and-resolution отключает внутреннюю адаптацию видео WebRTC. Это позволяет приложению реализовать собственную логику адаптации и предотвращает помехи со стороны внутренней адаптации.

API WebAuthn Signal на Android и iOS

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

Эта функция уже была доступна на настольных компьютерах, а теперь появилась и на Android и iOS.

Кроме того, API сигналов теперь поддерживает механизм защиты паролей Google Password Manager на всех поддерживаемых платформах. Ранее, когда проверяющая сторона сообщала, что учетные данные неизвестны или удалены, пароль удалялся навсегда. Теперь Google Password Manager скрывает пароль вместо его удаления. Пароли можно восстановить, вызвав функцию signalAllAcceptedCredentials со списком ранее скрытых паролей.

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

В Chrome версии 144 вы можете принять участие в следующих пробных версиях Origin .

Улучшенная функция Canvas TextMetrics

Расширяет API TextMetrics Canvas для поддержки прямоугольников выделения, запросов к ограничивающим рамкам и операций на основе кластеров глифов.

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

Амортизация и удаление

В этой версии Chrome представлены устаревшие и удаленные функции, перечисленные в этом разделе. Для получения списков запланированных, текущих и ранее удаленных функций посетите сайт ChromeStatus.com.

API тем следует приостановить поддержку.

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

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, мы прекращаем поддержку и планируем удалить API Topics (наряду с некоторыми другими технологиями, как указано на странице состояния функции Privacy Sandbox ).

API защищенной аудитории следует считать устаревшим.

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

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, мы прекращаем поддержку и планируем удалить API Protected Audience (наряду с некоторыми другими технологиями, как указано на странице состояния функции Privacy Sandbox ).

API общего хранилища объявлен устаревшим

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

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, команда разработчиков отказывается от использования и планирует удалить API общего хранилища (наряду с некоторыми другими технологиями, как указано на странице состояния функции «Песочница конфиденциальности» ).

Прекратить поддержку API для создания отчетов по атрибуции.

API для отслеживания атрибуции — это API, предназначенный для измерения конверсий рекламы без использования сторонних файлов cookie или отслеживания пользователей на разных сайтах.

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, команда планирует отказаться от использования и удалить API для отчетов об атрибуции (а также другие API для «песочницы конфиденциальности»).

API частной агрегации следует считать устаревшим.

API частной агрегации — это универсальный механизм для измерения агрегированных данных между сайтами с сохранением конфиденциальности. Изначально он был разработан для будущего без сторонних файлов cookie.

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, команда разработчиков прекращает поддержку и планирует удалить API частной агрегации (наряду с некоторыми другими технологиями, как указано на странице состояния функций «Песочницы конфиденциальности »). Этот API доступен только через API общего хранилища и защищенной аудитории, которые также планируется прекратить поддержку и удалить. Поэтому для частной агрегации никаких дополнительных работ не требуется.

Наборы связанных веб-сайтов предоставляют разработчикам основу для объявления связей между сайтами, позволяя обеспечить ограниченный доступ к файлам cookie между сайтами для конкретных целей, ориентированных на пользователей. Это облегчается за счет использования API доступа к хранилищу и document.requestStorageAccessFor (см. следующий раздел).

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, мы прекращаем поддержку и планируем удалить наборы связанных веб-сайтов (наряду с некоторыми другими технологиями, как указано на странице состояния функции «Песочница конфиденциальности» ).

Устаревать метод document.requestStorageAccessFor

API requestStorageAccessFor — это расширение API доступа к хранилищу, позволяющее сайту верхнего уровня запрашивать доступ к неразделённым («собственным») файлам cookie от имени встроенных сайтов. Браузеры будут иметь право предоставлять или отказывать в доступе, используя такие механизмы, как членство в наборах связанных веб-сайтов, в качестве потенциального сигнала. Это позволит использовать API доступа к хранилищу сайтами верхнего уровня.

После объявления о том, что Chrome сохранит свой текущий подход к сторонним файлам cookie, мы объявляем о прекращении поддержки и планируем удалить requestStorageAccessFor (наряду с некоторыми другими технологиями, как указано на странице состояния функций Privacy Sandbox ).

В классе SyncTypesListDisabled следует присвоить savedTabGroups статус отдельного значения, сделав её устаревшей.

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

Внешне загружаемые сущности при разборе XML

Chrome синхронно получает внешние XML-сущности или DTD и включает их в процесс парсинга при определенных условиях. Эта функция будет удалена.

В http/tests/security/contentTypeOptions/xml-external-entity.xml приведен пример: Внешние сущности могут быть определены в конце оператора DOCTYPE и ссылаться на ресурсы, которые синхронно загружаются и включаются в качестве контекста при разборе XML.

Еще один пример синтаксиса — это DOCTYPE , который, используя ключевое слово SYSTEM , за которым следует URL-адрес, указывающий на DTD, содержит дополнительные определения сущностей.

Подобные запросы на внешнюю загрузку передаются парсером вверх по иерархии.

Согласно спецификации W3C XML , процессоры, не выполняющие валидацию, не обязаны считывать внешние сущности.

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