Хром 125 бета

Если не указано иное, следующие изменения относятся к новейшей версии бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о функциях, перечисленных здесь, по предоставленным ссылкам или из списка на ChromeStatus.com. Бета-версия Chrome 125 доступна по состоянию на 17 апреля 2024 г. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android. После выпуска стабильной версии все включенные функции можно будет найти в примечаниях к выпуску .

CSS

В этом выпуске добавлены две новые функции CSS и внесены два изменения, связанные с CSS.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HTML

Контейнеры прокрутки, фокусируемые на клавиатуре

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

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

Это постоянное внедрение, которое началось в Chrome 124 и должно быть доступно всем пользователям Chrome 125. Узнайте больше о скроллерах с фокусировкой на клавиатуре .

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

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

Веб-API

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

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

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

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

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

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

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

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

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

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

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

Обновления API общего хранилища

В этом обновлении добавлена ​​поддержка запуска рабочих модулей с перекрестным происхождением без необходимости создания iframe.

Приложения Chrome

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

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

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

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

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

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

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

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

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

Зарегистрируйтесь для участия в пробной версии FedCM Origin .

Складные API

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

Зарегистрируйтесь для участия в пробной версии Origin Foldable API .

Отказ от просмотра медиа-превью

В ходе этой пробной версии с обратным происхождением сайты будут исключены из запуска Media Preview.

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

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

Эта функция находится в разработке одновременно с другим проектом, связанным с разрешениями, — Page-Embedded Permissions Controls (PEPC). Пользователи будут ознакомлены с PEPC в рамках независимого процесса запуска, включающего отдельные испытания происхождения или эксперименты на конкретных площадках.

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

Эта пробная версия устаревшей версии позволяет вам снова отказаться от поддержки свойств и методов с префиксом HTMLVideoElement, если вам нужно больше времени для настройки кода. Полную информацию об удаленных свойствах и методах см. в разделе «Устаревшие и удаленные» .

Зарегистрируйтесь для участия в пробной версии устаревшего полноэкранного API префиксного видео .

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

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

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

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

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

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

Посетите ChromeStatus.com, чтобы просмотреть списки запланированных, текущих и предыдущих удалений.

В этом выпуске Chrome удалены следующие три функции.

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

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

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

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

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

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

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

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

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