Хром 122 бета

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

CSS

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

Запросы CSS @container с неподдерживаемыми функциями никогда не совпадают

Селекторы @container , содержащие неподдерживаемые запросы, никогда не будут выбирать контейнеры, то есть они никогда не будут совпадать.

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

@container (width > 0px) or (unknown) {}

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

Псевдоэлемент CSS ::backdrop , наследуемый от исходного элемента

Псевдоэлемент ::backdrop используемый для наследования начальных значений. Это означало, что ::backdrop не мог использовать значения пользовательских свойств, если они не указаны непосредственно в правиле ::backdrop . Спецификация теперь изменилась, и теперь ::backdrop наследуется от исходного элемента. Это изменение приводит к тому, что реализация Chrome соответствует новой спецификации.

Условия CSS supports() для @import

@import теперь принимает условие supports() . Если условие supports() не соответствует, импорт не будет получен.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

Запросы функций для помещения в supports() такие же, как те, которые используются с @supports

Веб-API

API асинхронного буфера обмена: чтение несанкционированного HTML

Добавляет unsanitized параметр в метод read() для получения несанкционированного формата HTML. Если сайты не включают это свойство, чтение из буфера обмена будет очищено.

По умолчанию при чтении типов MIME text/html с использованием асинхронного API вызывается дезинфицирующее средство для удаления содержимого из разметки HTML из соображений безопасности, а стили встраиваются в HTML. Это приводит к увеличению полезной нагрузки HTML и потере точности HTML-контента при его чтении веб-разработчиками или мобильными приложениями.

Не удаляйте объекты типа File в dataTransfer.clearData().

Обновляет Chrome в соответствии со спецификацией , которая указывает, что clearData() не влияет на объекты File. Он удаляет только объекты text типа.

FedCM: отключиться

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

Совместимая отмена события mousedown в iframe

Сделайте цели событий мыши независимыми от отмены события mousedown, когда указатель перетаскивается из iframe. Когда мышь вытаскивается из iframe, все браузеры (включая Chrome) отправляют в iframe события mousemove и mouseup . Однако если событие mousedown отменено, Chrome сегодня поддерживает старое исключение WebKit, согласно которому события mousemove и mouseup отправляются во внешний фрейм. WebKit удалил это исключение в прошлом году, а Mozilla никогда не проявляла такого поведения в последние годы. Эта функция удалит исключение только для Chrome для этого особого случая.

Помощники итератора

Помощники итератора — это новые методы прототипа итератора, позволяющие широко использовать и использовать итераторы.

MessagePort.onclose

Изменение API обмена сообщениями канала, которое уведомляет один из портов сообщений о том, что другой порт распутан. То есть вызывается close() , уничтожается документ-должник или порт удаляется сборщиком мусора.

Расширения RTCRtpSender setParameters() для запроса генерации ключевого кадра

Добавляет необязательный второй параметр в вызов RTCRtpSender.setParameters WebRTC, который можно использовать, чтобы попросить связанный кодировщик сгенерировать ключевой кадр.

Установить методы

Методы Set — это новые методы, такие как объединение и пересечение, добавленные во встроенный класс Set JavaScript.

API сегментов хранилища

Storage Buckets дает сайтам возможность организовывать данные на устройстве в отдельные «корзины», позволяя пользовательским агентам удалять сгруппированные данные независимо от тех, которые находятся в других корзинах, и позволяя сайтам эргономично управлять семантически связанными данными. Каждый сегмент хранилища может содержать данные, связанные с установленными API-интерфейсами хранилища, такими как IndexedDB и CacheStorage.

URLPattern: hasRegExpGroups

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

Рисование WebGLBufferStorage

WebGL позволяет выполнять рендеринг в текстуры и буферы рендеринга многих различных форматов пикселей. Например, 8-битное, с плавающей запятой и с кодировкой sRGB.

Буфер рисования WebGL (буфер, который передается в наборщик) по умолчанию является 8-битным. Функция DrawingBufferStorage позволяет WebGL настраивать формат пикселей этого буфера рисования, что позволяет разработчикам делать следующее.

  • Избегайте создания дополнительной копии при преобразовании их рендеринга в формат пикселей буфера рисования по умолчанию.
  • Рисуйте контент с точностью более 8 бит.

Последняя функция открывает несколько дополнительных приложений:

  • Очень широкий цветовой охват без потери точности.
  • Медицинские приложения, требующие точности более 8 бит.
  • Приложения с высоким динамическим диапазоном (при наличии).

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

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

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

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

Расширения области веб-приложений

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

С помощьюscope_extensions разработчики могут расширить поведение своего приложения, включив в него другие источники, если существует соглашение между основным источником веб-приложения и связанными источниками.

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

Захваченный контроль над поверхностью

API Captured Surface Control позволяет веб-приложениям создавать события колеса в захваченной вкладке или окне, а также считывать или записывать уровень масштабирования захваченной вкладки.

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