Опубликовано: 16 октября 2024 г.
Если не указано иное, следующие изменения относятся к новейшей версии бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о функциях, перечисленных здесь, по предоставленным ссылкам или из списка на ChromeStatus.com . Chrome 131 является бета-версией по состоянию на 16 октября 2024 г. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android.
CSS
В этом выпуске добавлено восемь новых функций CSS.
Позиционирование привязки CSS: привязка-область
Свойство 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 внутри правила CSS @page
. Внешний вид и содержимое поля поля определяются свойствами CSS внутри правила, включая свойство content
. Также поддерживаются счетчики для нумерации страниц. Спецификация определяет два специальных имени счетчика: page
для текущего номера страницы и pages
для общего количества страниц.
@property поддерживает синтаксис <string>
Поддержка имени компонента синтаксиса <string>
для зарегистрированных пользовательских свойств.
Поддержка текущего цвета в синтаксисе относительного цвета.
Разрешите относительным цветам в 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 и доступа к хранилищу, заставляя предшествующий FedCM предоставлять действительную причину для автоматического утверждения запроса на доступ к хранилищу.
Когда пользователь предоставляет разрешение на использование своей личности со сторонним поставщиком удостоверений (IdP) на проверяющей стороне (RP), многим IdP требуются сторонние файлы cookie для правильной и безопасной работы. Это предложение направлено на удовлетворение этого требования конфиденциальным и безопасным способом путем обновления проверок разрешений Storage Access API (SAA), чтобы не только принимать разрешение, выдаваемое запросом на доступ к хранилищу, но и разрешение, выдаваемое запросом доступа к хранилищу. Подсказка FedCM.
Ключевым свойством этого механизма является ограничение предоставления разрешения случаями, явно разрешенными RP с помощью политики разрешений FedCM, обеспечение покадрового контроля для RP и предотвращение пассивного наблюдения со стороны IdP за пределами возможностей, которые уже предоставляет FedCM.
noopener-allow-popups
COOP
Некоторые источники могут содержать разные приложения с разными уровнями требований безопасности. В таких случаях может оказаться полезным запретить сценариям, работающим в одном приложении, открывать страницы сценариев другого приложения того же происхождения.
В таких случаях для документа может быть полезно гарантировать, что его открывающая программа не сможет его запрограммировать, даже если открывающий документ имеет то же происхождение. Значение noopener-allow-popups
Cross-Origin-Opener-Policy позволяет документам определять такое поведение.
API частной агрегации: увеличьте лимит взносов до 100 для абонентов защищенной аудитории.
Позволяет исполнителям сценариев Защищенной аудитории вносить до 100 вкладов в каждый отчет частного агрегирования по сравнению с текущим ограничением в 20.
Частное агрегирование ограничивает количество вкладов гистограммы, которые могут быть встроены в один агрегируемый отчет, исключая любые дополнительные вклады. Вызывающие объекты общего хранилища могут обойти это ограничение, вызвав другую операцию общего хранилища. Однако у абонентов Защищенной аудитории нет постоянного хранилища, поэтому они теряют лишние взносы в конце аукциона. Обратите внимание, что это изменение нейтрально к конфиденциальности, поскольку вклад API по-прежнему ограничен тем же бюджетом конфиденциальности.
Из-за заполнения каждый отчет о защищенной аудитории будет иметь большую полезную нагрузку, даже если для него не требуется больший предел вклада. Мы ожидаем, что эти более крупные отчеты повысят стоимость эксплуатации Службы агрегирования.
Выберите релаксацию парсера
Это изменение позволяет анализатору HTML разрешать дополнительные теги в <select>
помимо <option>
, <optgroup>
и <hr>
.
Это изменение связано с поддержкой настраиваемой функции <select>
, но оно поставляется в первую очередь, поскольку его можно сделать отдельно и существует некоторый риск совместимости, о котором команда Chrome хотела бы получить отзывы.
WebGPU: расстояние обрезки
Добавляет дополнительную функцию clip-distances
графического процессора, которая позволяет устанавливать определяемые пользователем расстояния клипа в выходных данных вершинного шейдера. Этот метод особенно полезен для приложений, которым необходимо обрезать все вершины сцены, выходящие за пределы заданной пользователем плоскости, например, для многих приложений САПР.
WebGPU: GPUCanvasContext getConfiguration()
После вызова GPUCanvasContext configure()
со словарем конфигурации вы можете использовать метод GPUCanvasContext getConfiguration()
для проверки конфигурации контекста холста. Он включает в себя элементы 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 удалены три функции.
Удалите inset-area
свойства CSS Anchor Positioning.
Благодаря резолюции рабочей группы CSS о переименовании свойства inset-area
в position-area
это удаление очищает реализацию в Chromium для функции, соответствующей стандартам.
Удалить возможность отключения BeforeunloadEventCancelByPreventDefault
Функция BeforeunloadEventCancelByPreventDefault
была включена в Chrome 117, но существует корпоративная политика, позволяющая принудительно отключить этот флаг. Корпоративная политика будет удалена в Chrome 131.
Удалить нестандартный метод GPUAdapter requestAdapterInfo()
.
Рабочая группа WebGPU решила, что для requestAdapterInfo()
нецелесообразно вызывать запрос разрешения, поэтому они удалили эту опцию и заменили ее info
атрибутом GPUAdapter, чтобы веб-разработчики могли синхронно получать одно и то же значение GPUAdapterInfo
.