Хром 119 бета

Бета-версия Chrome 119 предоставляет вам синтаксис относительных цветов CSS, новые псевдоклассы и многое другое.

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

CSS

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

Псевдоклассы CSS :user-valid и :user-invalid

Псевдоклассы :user-invalid и :user-valid представляют элемент с неправильным или правильным вводом соответственно, но только после того, как пользователь существенно с ним взаимодействовал. Это похоже на :valid и :invalid , но с добавленным ограничением, согласно которому эти псевдоклассы сопоставляются только после того, как пользователь взаимодействовал с элементом.

Синтаксис относительного цвета CSS (RCS)

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

Например: oklab(from magenta calc(l * 0.8) ab); в результате получается пурпурный цвет oklab на 80 % светлее.

Значения геометрического поля CSS-пути клипа

Свойство CSS clip-path теперь поддерживает значения <geometry-box> для управления полем ссылки клипа, что упрощает использование clip-path . Эти значения поля можно использовать вместе с основными фигурами (например, clip-path: circle(50%) margin-box ) или их можно использовать отдельно для обрезки в указанный блок (например, clip-path: content-box ).

Значения пути обрезки CSS xywh() и rect()

Chrome теперь поддерживает значения xywh() и rect() свойства clip-path , что упрощает указание прямоугольных или скругленно-прямоугольных клипов.

Веб-API

Поскольку в Chrome 104 вновь созданные файлы cookie или файлы cookie, обновленные с указанием даты истечения срока действия, эта дата ограничена не более чем на 400 дней в будущем. Это же ограничение теперь будет задним числом применяться к файлам cookie, уже хранящимся. Срок действия этих файлов cookie будет ограничен максимум 400 днями после первого запуска Chrome 119+ и выполнения однократной миграции базы данных. Влияние этого изменения ощутят пользователи не ранее, чем через 400 дней после выпуска Chrome 119, и то только для существующих файлов cookie, которые не обновлялись за этот период.

DisplayMediaStreamOptions монитортипеповерхности

При вызове getDisplayMedia() браузер предлагает пользователю выбор поверхности отображения: вкладки, окна или мониторы. Используя параметр monitorTypeSurfaces , веб-приложение теперь может намекать браузеру, предпочитает ли он включать поверхности отображения, тип которых — монитор, в число вариантов, предлагаемых пользователю.

Обновления функциональности Fenced Frames

Chrome 119 включает следующие улучшения Fenced Frames.

В API Protected Audience API в Privacy Sandbox есть дополнительная опция формата для макросов размера объявлений Protected Audience. Функция подписки позволяет вам указать размер объявления, выигравшего аукцион, в URL-адресе объявления, например:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Чтобы быть более совместимым с другими типами макросов в Защищенной аудитории, например с теми, которые используются deprecatedReplaceInURN и registerAdMacro , в Chrome 119 мы добавляем возможность использовать ${AD_WIDTH} и ${AD_HEIGHT} в качестве формата для макросов в дополнение к текущий формат.

Автоматические маяки теперь будут отправлять сообщения на все зарегистрированные URL-адреса. Ранее только адресаты, указанные при вызове setReportEventDataForAutomaticBeacons() получали автоматические маяки, даже если этот пункт назначения вызывал registerAdBeacon() для "reserved.top_navigation" в своем рабочем листе. Теперь любой пункт назначения, вызвавший registerAdBeacon() для "reserved.top_navigation" получит автоматический маяк, но только пункты назначения, указанные в setReportEventDataForAutomaticBeacons() , получат данные автоматического маяка вместе с маяком. Параметр "once" в setReportEventDataForAutomaticBeacons() теперь будет определять, отправляются ли данные один раз, а не определяет, отправляется ли один раз весь маяк.

Поле прокрутки Intersection Observer

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

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

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

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

Применять (а не просто предупреждать) ограничения доступа к частной сети в Chrome для Android Automotive (если BuildInfo::is_automotive ). Сюда входят предварительные запросы доступа к частной сети для подресурсов и доступ к частной сети для рабочих.

Чтение атрибутов устройства Chrome

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

Замените висячую разметку в целевом имени на _blank

Это изменение заменяет имя навигационной цели (которое обычно задается атрибутом target) на _blank , если оно содержит висячую разметку (например, \n и < ). Это устраняет обход в смягчении последствий внедрения висячей разметки.

Sec-CH-Prefers-Reduced-Transparency Пользовательские настройки мультимедиа Заголовок Client Hints

Заголовок Client Hints для медиа-функций пользовательских предпочтений определяет набор заголовков HTTP Client Hints для медиа-функций пользовательских предпочтений, как это определено в Media Queries Level 5. Если эти заголовки используются в качестве критических клиентских подсказок, они позволяют серверам делать разумный выбор, например, в отношении CSS. встраивание. Sec-CH-Prefers-Reduced-Transparency отражает prefers-reduced-transparency и доступен в Chrome 119.

Стандартные символы пунктуации хоста URL-адреса

Обеспечьте соответствие Chrome обработке знаков пунктуации хоста URL-адресов стандарту URL-адресов . Например:

До:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( — запрещенный символ, однако Chrome допускает его ошибочно.

После:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Режим битрейта WebCodecs AudioEncoder

Некоторые аудиокодеки поддерживают указание режимов битрейта аудиокодировщика. Эта функция добавляет флаг "bitrateMode" со значением по умолчанию "variable" в AudioEncoderConfig WebCodec, который отражает параметр конфигурации и значение по умолчанию, уже присутствующее для VideoEncoderConfig .

Этот флаг позволит разработчикам выбирать между кодированием звука с переменным или постоянным битрейтом. Конкретные реализации кодеков-кодеков могут иметь немного другую терминологию (например, CBR и VBR для Opus), но все они должны соответствовать общей концепции «постоянного» и «переменного» битрейта.

Оба варианта имеют следующие эффекты:

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

Начиная с Chrome 119, этот флаг будет влиять на два кодека Chromium: Opus и AAC.

Инкапсуляция ключей X25519Kyber768 для TLS

Защитите текущий TLS-трафик Chrome от будущего квантового криптоанализа, развернув квантово-устойчивый алгоритм согласования ключей Kyber768. Это гибридное соглашение о ключах X25519 + Kyber768, основанное на стандарте IETF. Эта спецификация и запуск выходят за рамки W3C. Это соглашение о ключах будет реализовано в виде шифра TLS и должно быть прозрачным для пользователей.

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

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

Открывать всплывающие окна в полноэкранном режиме.

Эта новая пробная версия источника добавляет fullscreen параметр windowFeatures в API JavaScript window.open() . Это позволяет вызывающему абоненту открывать всплывающее окно непосредственно в полноэкранном режиме на дисплее, который будет содержать всплывающее окно (на основе screenX и screenY). Это избавляет разработчика от необходимости вручную переводить всплывающее окно в полноэкранный режим, что может потребовать нового сигнала активации пользователя.

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

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

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

Удалить веб-SQL

Ранее мы объявили об устаревании и удалении Web SQL . Эта функция полностью удалена в Chrome 119. Пробная версия обратного происхождения позволяет разработчикам продолжать использовать WebSQL до Chrome 123.

Удалить API дезинфицирующего средства

Целью API Sanitizer является встраивание в платформу простого в использовании и всегда безопасного средства очистки HTML, поддерживаемого браузером. Chrome выпустил первоначальную версию Chrome 105, основанную на актуальном на тот момент проекте спецификации. Однако тем временем дискуссия продолжилась, и предлагаемая форма API существенно изменилась.

Чтобы предотвратить укоренение текущего API, мы удаляем текущую реализацию. Мы планируем повторно реализовать Sanitizer API, когда предлагаемая спецификация снова стабилизируется.

Удаление данных: URL-адрес в SVGUseElement

Присвоение data: URL в SVGUseElement может вызвать XSS. И это также привело к обходу Trusted Types. Поэтому мы планируем объявить его устаревшим и прекратить его поддержку.

Удалить нестандартный shadowroot для декларативного теневого DOM.

shadowrootmode со стандартным отслеживанием, который включает декларативный Shadow DOM, был включен в Chrome 111. Старый, нестандартный атрибут shadowroot удаляется в Chrome 119. Существует простой путь миграции: shadowrootmode shadowroot