Хром 129 бета

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

CSS

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

interpolate-size property и функция calc-size()

Свойство CSS interpolate-size позволяет странице выбирать анимацию и переходы внутренних ключевых слов CSS, таких как auto , min-content и fit-content , в тех случаях, когда эти ключевые слова могут быть анимированы.

Функция CSS calc-size() — это функция CSS, похожая на calc() , однако она также поддерживает операции только с одним поддерживаемым ключевым словом размера. В настоящее время поддерживаются ключевые слова для определения размера: auto , min-content , max-content и fit-content . Другие ключевые слова для определения размера, которые могут поддерживаться в будущем, включают stretch (в настоящее время поддерживается с префиксом -webkit-fill-available ) и contain . Эта функция используется для представления значений в середине анимации, разрешенных свойством interpolate-size .

Переименуйте inset-area позиционирования привязки CSS в position-area

CSSWG решила переименовать это свойство из inset-area в position-area . В Chrome 129 поставляется position-area , имя inset-area будет удалено в будущем выпуске.

Позиционирование привязки CSS: развернутая inset-area()

Заменяет функцию inset-area() значениями inset-area непосредственно в position-try-fallbacks . Например, вместо position-try-fallbacks:inset-area(top) используйте position-try-fallbacks:top .

Обновите фоновый фильтр CSS, чтобы использовать зеркальный EdgeMode.

CSS-свойство backdrop-filter применяет один или несколько фильтров к фону элемента. Фон — это нарисованное содержимое, находящееся за элементом. Обычный фильтр — это размытие, позволяющее дизайнерам создавать диалоговые окна «матового стекла», наложения видео, полупрозрачные заголовки навигации и многое другое.

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

Веб-API

Поддержка BLOB-объектов в каналах данных WebRTC.

Реализует RTCDataChannel.send(Blob) , и событие onMessage теперь может дополнительно получать данные типа Blob с использованием binaryType .

Помимо поддержки отправки строк и ArrayBuffers, теперь вы можете выбрать отправку Blob , если его размер меньше maxMessageSize транспорта SCTP, как указано в спецификации WebRTC .

Если binaryType присвоено значение "blob" , атрибут данных события onMessage будет иметь тип Blob вместо поддерживаемого в настоящее время ArrayBuffer .

Команды расширения Compute Pressure WebDriver

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

Intl.DurationFormat

Предоставляет метод форматирования длительности, например «1 час 40 минут 30 секунд», который поддерживает несколько языков.

Private Aggregation API: объединение вкладов на стороне клиента

Изменяет API частного агрегирования для объединения вкладов гистограммы с одним и тем же сегментом и идентификатором фильтрации перед встраиванием в зашифрованные полезные данные агрегируемого отчета.

Частное агрегирование накладывает ограничение на количество вкладов, которые могут быть включены в один агрегируемый отчет, при этом любые дополнительные вклады исключаются. Объединив вклады, где это возможно, мы можем получить дополнительную полезность от предела. Обратите внимание, что, игнорируя исключение избыточных вкладов, объединение вкладов такого рода не должно иметь никакого влияния на конечные результаты, например, сводные отчеты.

scheduler.yield()

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

API веб-аутентификации: методы сериализации JSON

Методы WebAuthn PublicKeyCredential.toJSON() , parseCreationOptionsFromJSON() и parseRequestOptionsFromJSON() позволяют разработчикам сериализовать ответ WebAuthn в объект JSON или десериализовать объект запроса WebAuthn из его представления JSON.

Поддержка расширенного диапазона WebGPU (HDR)

Добавляет параметры отображения тона в конфигурацию холста WebGPU и добавляет параметры standard (текущее поведение ограничения содержимого диапазоном SDR дисплея) в качестве значения по умолчанию и extended (не налагающего этого ограничения) в качестве нового поведения. Это позволяет содержимому WebGPU использовать весь диапазон дисплея.

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

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

Интерфейс FileSystemObserver

Интерфейс FileSystemObserver уведомляет веб-сайты об изменениях в файловой системе. Сайты наблюдают за изменениями в файлах и каталогах на локальном устройстве пользователя (как указано в WICG/file-system-access ) или в файловой системе сегмента (как указано в fs.spec.whatwg.org ) и уведомляются об основной информации об изменениях. , например тип изменения.

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

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

В этой версии Chrome представлены устаревшие и удаленные версии, перечисленные ниже. Посетите ChromeStatus.com, чтобы просмотреть списки запланированных, текущих и предыдущих удалений.

В этом выпуске Chrome исключена одна функция.

Устаревшая 0.0.0.0 для доступа к частной сети

Chrome заблокирует доступ к IP-адресу 0.0.0.0 до полного развертывания доступа к частной сети (PNA).

Chrome прекращает поддержку прямого доступа к конечным точкам частной сети с общедоступных веб-сайтов в рамках спецификации PNA . Службы, прослушивающие локальный хост ( 127.0.0.0/8 ), согласно спецификации считаются частными. Защиту Chrome PNA можно обойти, используя IP-адрес 0.0.0.0 для доступа к службам, прослушивающим локальный хост в macOS и Linux.

Этим также можно злоупотреблять при атаках с перепривязкой DNS, нацеленных на веб-приложение, прослушивающее локальный хост.

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

Удалите аргумент includeShadowRoots в DOMParser.

Аргумент includeShadowRoots никогда не был стандартизированным аргументом функции DOMParser.parseFromString() , которая была предназначена для обеспечения императивного анализа HTML-контента, содержащего декларативный теневой DOM. Это было включено в Chrome 90 как часть первоначальной поставки декларативного теневого DOM.

Теперь, когда стандартизированная версия этой функции доступна с методами setHTMLUnsafe() и parseHTMLUnsafe() , нестандартный аргумент includeShadowRoots будет удален. Код следует обновить следующим образом:

Вместо:

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

Использовать:

Document.parseHTMLUnsafe(html);

Удаление нестандартной декларативной теневой сериализации DOM.

Прототип реализации декларативного теневого DOM содержал метод getInnerHTML() используемый для сериализации деревьев DOM, содержащих теневые корни. Эта часть прототипа не была стандартизирована с остальной частью декларативного теневого домена, и вместо нее была разработана замена getHTML() .

Поэтому старый метод getInnerHTML() теперь удаляется из Chrome. Вместо него вам следует использовать getHTML() , который вскоре станет совместимым во всех браузерах.

Удалить PointerEvent.getCoalescedEvents() из небезопасных контекстов

Рабочая группа по событиям указателя более четырех лет назад ограничила PointerEvent.getCoalescedEvents() безопасными контекстами, что удалило API из небезопасных контекстов. Первоначально Chrome использовал старое поведение и не сразу последовал изменениям спецификации из-за проблем совместимости.

Сейчас мы удаляем его из небезопасных контекстов, поскольку использование Chrome в небезопасных контекстах оказалось очень низким.