Бета-версия 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 Clip-path
Свойство 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
Срок действия файла cookie/верхний предел атрибута Max-Age для предварительного хранения
Начиная с версии 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/'
(
— запрещенный символ, однако 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. Существует простой путь миграции: заменить shadowroot
на shadowrootmode
.