Если не указано иное, следующие изменения относятся к новейшей версии бета-канала 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 .