Хром 131 бета

Опубликовано: 16 октября 2024 г.

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

CSS

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

Позиционирование якоря CSS: anchor-scope

Свойство anchor-scope позволяет ограничить видимость имен якорей заданным поддеревом.

CSS font-variant-emoji

CSS-свойство font-variant-emoji позволяет управлять цветными (стилем эмодзи) и монохромными (стилем текста) глифами эмодзи. Это также можно сделать, добавив селектор вариантов эмодзи, а именно U+FE0E для текста и U+FE0F для эмодзи, после каждой кодовой точки эмодзи.

Наследование подсветки CSS

При наследовании подсветки CSS псевдоклассы подсветки CSS, такие как ::selection и ::highlight , наследуют свои свойства через цепочку псевдоподсветки, а не через цепочку элементов. В результате получается более интуитивно понятная модель наследования свойств подсветки.

Чтобы узнать больше, прочитайте публикацию в блоге «Изменения в наследовании стилей выделения CSS», написанную Стивеном Ченни из Igalia.

Улучшения в структуре стилей элементов <details> и <summary>

Поддержка дополнительных стилей CSS для структуры элементов <details> и <summary> , что позволяет использовать эти элементы в большем количестве случаев, когда в веб-страницах создаются виджеты раскрытия или аккордеоны. В частности, это изменение снимает ограничения, препятствовавшие установке свойства display для этих элементов, и добавляет псевдоэлемент ::details-content для стилизации контейнера для раскрывающейся и сворачивающейся части.

поля полей @page

Добавьте поддержку полей страницы при печати веб-документа или экспорте его в формате PDF.

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

Блок поля определяется с помощью правила at-rule внутри CSS-правила @page . Внешний вид и содержимое блока поля задаются свойствами CSS внутри правила at-rule, включая свойство content . Также поддерживаются счётчики для нумерации страниц. В спецификации определены два специальных имени счётчика: page для номера текущей страницы и pages для общего количества страниц.

@property поддерживает синтаксис <string>

Поддержка имени компонента синтаксиса <string> для зарегистрированных пользовательских свойств.

Поддержка currentcolor в синтаксисе относительного цвета

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

Эта функция также включает в себя случаи использования, когда функции цвета вложены с зависимостью от текущего цвета, например, color-mix(in srgb, rgb(from currentcolor rgb), white)) или rgb(from rgb(from currentcolor 1 gb) bgr) .

Поддержка внешних ресурсов SVG для свойств clip-path , fill , stroke и marker-*

Эта функция добавляет поддержку внешних ссылок для контуров обрезки, маркеров и серверов рисования (для свойств «заливка» и «обводка»). Например, clip-path: url("resources.svg#myPath") .

Веб-API

API прямых сокетов

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

Освобождение заголовка Speculation-Rules от ограничений CSP

Обновляет интеграцию правил спекуляции с CSP, чтобы CSP применялся только к <script type=speculationrules> , а не к заголовку Speculation-Rules . Политики CSP в отношении скриптов предназначены для защиты от внедрения скриптов в HTML, а модель угроз CSP не связана с HTTP-заголовками. Это упрощает развертывание правил спекуляции из CDN и других пограничных серверов.

FedCM как сигнал доверия для API доступа к хранилищу

Согласовывает API FedCM и Storage Access, делая предыдущее разрешение FedCM веской причиной для автоматического одобрения запроса на доступ к хранилищу.

Когда пользователь предоставляет разрешение на использование своей личности стороннему поставщику удостоверений (IdP) на проверяющей стороне (RP), многим IdP для корректной и безопасной работы требуются сторонние файлы cookie. Данное предложение направлено на удовлетворение этого требования конфиденциальным и безопасным способом путем обновления проверок разрешений Storage Access API (SAA) таким образом, чтобы они принимали не только разрешения, предоставляемые запросом на доступ к хранилищу, но и разрешения, предоставляемые запросом FedCM.

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

Значение COOP noopener-allow-popups

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

В таких случаях может быть полезно убедиться, что открывающий документ не сможет его открывать, даже если открывающий документ находится в том же источнике. Значение noopener-allow-popups Cross-Origin-Opener-Policy позволяет документам определять такое поведение.

API частного агрегирования: увеличение лимита вклада до 100 для абонентов защищенной аудитории

Позволяет авторам сценариев защищенной аудитории вносить до 100 вкладов в каждый отчет частного агрегирования по сравнению с текущим ограничением в 20.

Функция Private Aggregation ограничивает количество вкладов гистограммы, которые можно встроить в один агрегируемый отчёт, отбрасывая любые дополнительные вклады. Вызовы Shared Storage могут обойти это ограничение, вызвав другую операцию Shared Storage. Однако у вызовов Protected Audience нет постоянного хранилища, поэтому они теряют свои излишки вкладов по окончании аукциона. Обратите внимание, что это изменение не влияет на конфиденциальность, поскольку вклады API по-прежнему ограничены тем же бюджетом конфиденциальности.

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

Выберите релаксацию парсера

Это изменение позволяет HTML-анализатору разрешать дополнительные теги в <select> помимо <option> , <optgroup> и <hr> .

Это изменение направлено на поддержку настраиваемой функции <select> но оно поставляется в первую очередь, поскольку его можно реализовать отдельно, и оно несет в себе определенный риск совместимости, по которому команда Chrome хотела бы получить отзыв.

WebGPU: Расстояния обрезки

Добавляет опциональную функцию графического процессора clip-distances , позволяющую задавать пользовательские расстояния отсечения в выходных данных вершинного шейдера. Этот метод особенно полезен для приложений, которым требуется отсечь все вершины сцены, находящиеся за пределами заданной пользователем плоскости, например, во многих САПР.

WebGPU: GPUCanvasContext getConfiguration()

После вызова GPUCanvasContext configure() со словарём конфигурации можно использовать метод GPUCanvasContext getConfiguration() для проверки конфигурации контекста холста. Он включает в себя элементы GPU device , format , usage , viewFormats , colorSpace , toneMapping и alphaMode . Как обсуждалось в выпуске 4828 , веб-приложения могут использовать его для определения поддержки HDR-холста в WebGPU.

WebHID на выделенных рабочих

Включает WebHID в выделенных рабочих контекстах. Это позволяет выполнять интенсивный ввод-вывод и обработку данных с HID-устройства в отдельном потоке, что помогает снизить влияние на производительность основного потока.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

API, который настраивает кодеры WebRTC для масштабирования входных кадров, если их размер превышает заданные значения maxWidth и maxHeight . Этот API аналогичен scaleResolutionDownBy за исключением того, что ограничения разрешения выражаются в абсолютных единицах (например, 640x360), а не в относительных (например, уменьшить в 2 раза), что позволяет избежать состояний гонки, связанных с динамическим изменением размера входного кадра.

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

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

Статистика воспроизведения для WebAudio

Функция AudioContext.playoutStats позволяет приложению измерять качество и задержку воспроизведения звука с помощью WebAudio.

API сумматора

API JavaScript для создания сводок входного текста на основе языковой модели ИИ.

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

В этой версии Chrome представлены следующие функции, которые были удалены и упразднены. Список запланированных и текущих функций, а также ранее удаленных функций можно найти на сайте ChromeStatus.com.

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

Удалить свойство позиционирования якоря CSS inset-area

В связи с решением рабочей группы CSS о переименовании свойства inset-area в position-area это удаление очищает реализацию в Chromium для функции, соответствующей стандартам.

Удалить возможность отключения BeforeunloadEventCancelByPreventDefault

Функция BeforeunloadEventCancelByPreventDefault была реализована в Chrome 117, но существует корпоративная политика, позволяющая принудительно отключить этот флаг. Эта корпоративная политика будет удалена в Chrome 131.

Удалить нестандартный метод GPUAdapter requestAdapterInfo()

Рабочая группа WebGPU решила, что requestAdapterInfo() нецелесообразно запрашивать разрешение, поэтому они удалили эту опцию и заменили ее атрибутом info GPUAdapter, чтобы веб-разработчики могли синхронно получать одно и то же значение GPUAdapterInfo .