Хром 125

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

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

HTML и ДОМ

Декларативная теневая сериализация DOM

Функция, позволяющая разработчикам сериализовать деревья DOM, содержащие теневые корни, недавно стандартизированную в стандарте HTML.

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

CSS

Позиционирование привязки CSS

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

Функция позиционирования привязки состоит из большого количества свойств CSS. Вот некоторые из ключевых свойств:

  • anchor-name : устанавливает элемент в качестве якоря для других элементов.
  • position-anchor : описывает якорь «по умолчанию», который привязанный элемент должен использовать для позиционирования якоря.
  • Функция anchor() : используется для ссылки на положение элемента привязки при позиционировании привязанного элемента.
  • inset-area : сокращение для позиционирования, для общих относительных позиций.

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

Функции ступенчатого значения CSS round() , mod() и rem()

Функции ступенчатого значения round() , mod() и rem() преобразуют данное значение в соответствии с другим «значением шага».

CSS-функция round() возвращает округленное число на основе выбранной стратегии округления.

CSS-функция mod() возвращает модуль, оставшийся при делении первого параметра на второй параметр, аналогично оператору остатка в JavaScript (%). Модуль — это значение, оставшееся после деления одного операнда, делимого, на второй операнд, делитель. Оно всегда принимает знак делителя.

CSS-функция rem() возвращает остаток, оставшийся при делении первого параметра на второй параметр, аналогично оператору остатка в JavaScript (%). Остаток — это значение, оставшееся после деления одного операнда, делимого, на второй операнд, делитель. Оно всегда принимает знак дивиденда.

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

Новый синтаксис для пользовательского CSS :state()

Пользовательское состояние CSS позволяет пользовательским элементам предоставлять свои собственные псевдоклассы. Синтаксис теперь указан в CSSWG, и Chrome 125 теперь поддерживает новый синтаксис :state(foo) . Это изменение будет иметь окно, в котором Chrome будет поддерживать как старый синтаксис ( :--foo ), так и новый синтаксис, чтобы веб-сайты могли переключиться на новый.

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

Устранение разрывов для цветов Oklab и Oklch с яркостью почти 100 % или 0.

До этого изменения все цвета Lab, LCH, Oklab и Oklch со значением яркости 100 % отображались как белые, независимо от двух других параметров. Все цвета в этих пространствах со значением яркости 0 отображались как черные. Эти два сопоставления вызвали разрывы градиентов и оказались неожиданными для веб-разработчиков.

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

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

Используемая цветовая схема корневых полос прокрутки

Заставляет браузер использовать предпочтительную цветовую схему пользователя для отображения полос прокрутки области просмотра, если значение «поддерживаемые цветовые схемы страницы» равно «нормальному» или не указано, а вычисленное значение color-scheme для корневого элемента является normal . Полосы прокрутки области просмотра можно считать находящимися за пределами веб-контента. Таким образом, пользовательские агенты должны учитывать предпочтительную цветовую схему пользователя при отрисовке полос прокрутки области просмотра, если разработчик явно не указал поддержку цветовых схем.

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

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

класс view-transitions

Появилось новое свойство CSS view-transition-class , которое позволяет вам указать один или несколько классов перехода представления. Затем вы можете выбрать псевдоэлементы ViewTransition , используя эти классы, например ::view-transition-group(*.class) .

Это расширение API ViewTransition , которое упрощает стилизацию псевдоэлементов перехода представления аналогично тому, как классы CSS упрощают стилизацию обычных элементов DOM.

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

Загрузка

Принимать URL-адреса HTTP и HTTPS при создании WebSocket

Это обновление включает схемы HTTP и HTTPS в конструкторе WebSocket, что позволяет разработчикам использовать относительные URL-адреса. Они нормализованы по внутренним схемам ws: и wss:

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

Веб-API

Дополнения к API отчетов по атрибуции

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

Запись ChromeStatus.com

API вычисления давления

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

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

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

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

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

Требование FedCM CORS к конечной точке утверждения идентификатора

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

Обновления FedCM: пробная версия API режима кнопок, CORS и SameSite | Ошибка отслеживания № 40284123 | Запись ChromeStatus.com

FedCM теперь отправляет запросы на подтверждение идентификатора с помощью CORS. Это изменение означает, что Chrome больше не отправляет файлы cookie SameSite=Strict в конечную точку утверждения идентификатора, хотя Chrome по-прежнему отправляет SameSite=None . Поскольку нет смысла отправлять разные наборы файлов cookie в конечную точку учетных записей и конечную точку утверждения идентификатора, это изменение делает их согласованными.

Отказ от отправки файлов cookie SameSite=Strict также соответствует поведению requestStorageAccess и межсайтовым запросам в целом.

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

Совместимое действие по умолчанию при перемещении мыши

Chrome позволял отменять события перемещения мыши, чтобы запретить использование других API, таких как выделение текста (и даже перетаскивание в прошлом). Это не соответствует другим основным браузерам; и при этом он не соответствует спецификации событий пользовательского интерфейса. Теперь выделение текста больше не будет действием по умолчанию при перемещении мыши. Выделение текста и перетаскивание по-прежнему можно предотвратить, отменив события selectstart и dragstart соответственно.

Эта функция будет постепенно внедряться, начиная с Chrome 125, и ожидается, что она станет доступна всем пользователям в Chrome 126.

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

Модификаторы регулярных выражений

Модификаторы регулярных выражений добавляют возможность локально изменять флаги i , m и s внутри шаблона.

Чтобы включить флаг для части выражения, используйте (?X:subexpr) , где X — один из i , m или s . Чтобы отключить флаг для части выражения, используйте (-X:subexpr) .

Например, для флага нечувствительности к регистру i :

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

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

Повторяющиеся именованные группы захвата в регулярном выражении

Группы захвата с повторяющимися именами позволяют использовать одно и то же имя группы захвата во всех альтернативах. Например

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

В этом случае year действителен либо для 1-го варианта ( (?<year>[0-9]{4})-[0-9]{2} ), либо для 2-го варианта ( [0-9]{2}-(?<year>[0-9]{4}) ).

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

Приложения Chrome

API прямых сокетов в приложениях Chrome

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

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

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

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

Эта исходная пробная версия включает следующие два API FedCM.

API режима кнопок позволяет веб-сайтам вызывать FedCM одним нажатием кнопки, например нажатием кнопки «Войти в IdP» . Для этого требуется, чтобы FedCM всегда отвечал с видимым пользовательским интерфейсом, в отличие от режима виджетов, в котором пользовательский интерфейс не отображается при выходе пользователей из системы. Вызов API FedCM в режиме кнопки требует от пользователей входа в IdP (в диалоговом окне), когда пользователи вышли из системы.

Кроме того, поскольку режим кнопки вызывается в рамках явного жеста пользователя, пользовательский интерфейс также может быть более заметным (например, центрированным и модальным) по сравнению с пользовательским интерфейсом из режима виджетов (который не имеет такого явного намерения). Узнайте больше о том, как API режима кнопок работает в обновлениях FedCM: пробная версия API режима кнопок, CORS и SameSite.

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

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

Складные API

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

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

Пробная версия устаревших свойств и методов полноэкранного режима HTMLVideoElement.

Эта пробная версия устаревшей версии позволяет вам снова отказаться от поддержки свойств и методов с префиксом HTMLVideoElement, если вам нужно больше времени для настройки кода.

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

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

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

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

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

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

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

Удалите псевдоним «window-placement» для разрешения и политики разрешений «window-management».

Удаляет псевдоним «window-placement» для разрешения и политики разрешений «window-management». Это часть более масштабных усилий по переименованию строк, в конечном итоге объявив их устаревшими и удалив «window-placement» . Изменение терминологии увеличивает срок службы дескриптора по мере развития API управления окнами.

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

Удаление политики предприятия: NewBaseUrlInheritanceBehaviorAllowed

Базовое изменение кода (включение нового поведения наследования базового URL-адреса), которое переопределяет эта корпоративная политика, включено в стабильных выпусках с августа 2023 года (Chrome 118). Поскольку известные проблемы были устранены, эта корпоративная политика была удалена в Chrome 125.

Запись ChromeStatus.com

Удаление свойств и методов полноэкранного режима HTMLVideoElement с префиксом.

Полноэкранные API-интерфейсы HTMLVideoElement с префиксом устарели, начиная с Chrome 38. Они были заменены Element.requestFullscreen() , который впервые появился без префикса в 2018 году в Chrome 71.

Следующие свойства и методы будут удалены из HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (обратите внимание на разное написание буквы «S» в FullScreen)
  • webkitExitFullScreen()

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

Запись ChromeStatus.com

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

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

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

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