Опубликовано: 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 .