Хром 130 бета

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

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

CSS

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

Поиск в плоском дереве с помощью запросов CSS-контейнера

Спецификация для запросов к контейнерам изменилась: теперь поиск осуществляется по предкам в плоском дереве. Это изменение актуально только для теневого DOM, где элемент теперь сможет видеть неименованные контейнеры внутри теневых деревьев, в которые вставлен сам элемент или один из его предков, даже если правило CSS не использует ::part() или ::slotted() .

Вложенность CSS: правило вложенных объявлений

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

Полная и не имеющая префиксов поддержка разделения коробки на декорации.

Добавляет поддержку box-decoration-break: clone как для строчной разметки, так и для блочной разметки (пагинация для печати и многоцветной печати).

Ранее в Chrome для фрагментации блоков поддерживалось только box-decoration-break:slice (начальное значение), тогда как для фрагментации строк также поддерживалось свойство box-decoration-break:clone , но только при использовании свойства с префиксом -webkit-box-decoration-break .

Разрешите добавление большего количества псевдоэлементов и псевдоклассов после ::part()

CSS-селекторы, использующие псевдоэлемент ::part() могут иметь после себя другие CSS-псевдоэлементы (кроме ::part() ) и множество других типов CSS-псевдоклассов. Комбинаторы по-прежнему не допускаются после ::part() , а псевдоклассы, зависящие от древовидной структуры, не допускаются.

Ранее Chrome разрешал только ограниченный набор псевдоклассов и псевдоэлементов после ::part() . Это изменение разрешает все псевдоклассы и псевдоэлементы, которые должны быть разрешены. Это означает, что теперь разрешены такие селекторы, как ::part(part-name):enabled и ::part(part-name)::marker .

Веб-API

Функция API для создания отчетов об атрибуции (области атрибуции)

Это изменение основано на отзывах специалистов по рекламным технологиям и необходимости более точной фильтрации перед началом процесса атрибуции. Оно позволяет пользователям API указывать поле под названием «области атрибуции», которое будет использоваться для фильтрации перед запуском обычного процесса атрибуции. Это обеспечивает пользователям API более точный контроль над детализацией атрибуции и возможность получать корректные отчеты по атрибуции, когда несколько разных рекламодателей или кампаний совершают конверсии на одном и том же целевом сайте.

Функция API для составления отчетов об атрибуции (улучшение защиты конфиденциальности отладочных ключей)

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

В настоящее время API позволяет указывать ключ отладки источника или ключ отладки триггера, если доступны сторонние файлы cookie, и эти ключи могут быть установлены вызывающими API. Если указан ключ отладки источника или триггера, он будет включен в отчет об атрибуции. Это может привести к утечке конфиденциальной информации, если сторонние файлы cookie разрешены только на сайте издателя или рекламодателя, но не на обоих одновременно.

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

Передача словаря сжатия с использованием общих функций Brotli и Zstandard.

Эта функция добавляет поддержку использования заданных предыдущих ответов в качестве внешнего словаря для кодирования содержимого и сжатия ответов с помощью Brotli или Zstandard.

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

Одновременная плавная scrollIntoView()

Метод scrollIntoView() с behavior: "smooth" позволяет разработчикам создавать контейнеры прокрутки, которые плавно прокручиваются к своим потомкам. Эта функция исправляет реализацию API в Chrome, чтобы текущие анимации scrollIntoView не отменялись из-за несвязанных прокруток в других контейнерах прокрутки.

Эта функция также исправляет случаи, когда Chrome не может прокрутить страницу до якоря фрагмента из-за конкурирующего вызова scrollIntoView , который вызывается при загрузке страницы.

Режим «картинка в картинке» в документации: добавлена ​​опция игнорирования кэша границ окна.

Это добавляет новый параметр ( preferInitialWindowPlacement ) в API режима «картинка в картинке» документа, который, если установлен в значение true, указывает пользовательскому агенту, что ему не следует пытаться повторно использовать положение или размер предыдущей картинки в режиме «картинка в картинке» документа с этого сайта при открытии этой.

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

Узнайте, как открыть окно в его положении и размере по умолчанию .

Улучшена система отчетности об ошибках в IndexedDB при сбоях чтения больших объемов данных.

Внесены изменения в систему отчетности по некоторым случаям ошибок, которые ранее сообщались как DOMException и сообщение «Не удалось прочитать большое значение IndexedDB».

Теперь Chrome будет генерировать исключение DOMException с именем "NotFoundError" если файл, содержащий данные, считываемые запросом IDBRequest, отсутствует на диске, чтобы сайты могли предпринять соответствующие корректирующие действия в случае неустранимой ошибки. Корректирующие действия могут включать удаление записи из базы данных, уведомление пользователя или повторную загрузку данных с серверов.

Контейнеры прокрутки с возможностью фокусировки с клавиатуры

Эта функция по умолчанию позволяет фокусировать курсоры, не имеющие дочерних элементов, доступных для фокусировки с клавиатуры.

Это важное улучшение, призванное сделать скроллеры и содержимое внутри них более доступными для всех пользователей. Подробнее о его преимуществах можно прочитать в статье «Фокусируемые с помощью клавиатуры скроллеры» . Фокусируемые с помощью клавиатуры скроллеры будут включены по умолчанию начиная с Chrome 130. Если веб-сайтам потребуется время на адаптацию к этой новой функции, есть несколько вариантов:

Услуги по проведению торгов и аукционов с участием защищенной аудитории

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

Эта функция, «Услуги по размещению ставок и проведению аукционов для защищенной аудитории», описывает способ, позволяющий выполнять вычисления для защищенной аудитории на облачных серверах в доверенной среде выполнения, а не локально на устройстве пользователя. Перенос вычислений на облачные серверы может помочь оптимизировать аукцион для защищенной аудитории, высвобождая вычислительные ресурсы и пропускную способность сети для устройства.

Поддержка URL-адресов, не использующих специальные схемы.

Ранее парсер URL-адресов Chrome не поддерживал нестандартные URL-адреса. Парсер анализировал нестандартные URL-адреса так, как если бы у них был «непрозрачный путь», что не соответствует стандарту URL. Теперь парсер URL-адресов Chromium корректно обрабатывает нестандартные URL-адреса, следуя стандарту URL.

Более подробную информацию см. по ссылке bit.ly/url-non-special .

WebAssembly JavaScript Строковые встроенные функции

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

WebGPU: смешивание двух источников

Добавляет опциональную функцию GPU «смешивание с двумя источниками», которая позволяет объединять выходные данные двух фрагментных шейдеров в один буфер кадра. Этот метод особенно полезен для приложений, требующих сложных операций смешивания, таких как приложения, основанные на режимах смешивания Портера-Даффа. За счет уменьшения необходимости частого изменения состояния объектов конвейера, смешивание с двумя источниками может повысить производительность и гибкость.

Web Serial: атрибут connected и события подключения RFCOMM.

Эта функция добавляет логический атрибут SerialPort.connected . Атрибут возвращает true если последовательный порт логически подключен. Для проводных последовательных портов порт считается логически подключенным, если он физически подключен к системе. Для беспроводных последовательных портов порт считается логически подключенным, если устройство, на котором расположен порт, имеет какие-либо открытые соединения с хостом.

Ранее события подключения и отключения передавались только проводными последовательными портами. Благодаря этой функции, последовательные порты Bluetooth RFCOMM будут передавать эти события при логическом подключении или отключении порта.

Эта функция предназначена для того, чтобы приложения могли определять доступность последовательного порта Bluetooth RFCOMM без необходимости его открытия.

Подробнее об обновлениях Bluetooth RFCOMM в Web Serial можно узнать здесь.

Проводятся испытания происхождения.

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

API для определения языка

JavaScript API для определения языка текста с указанием уровней достоверности.

WebAuthn attestationFormats

Поддержка поля attestationFormats начиная с уровня WebAuthn 3.

WebAuthn Level 3 поддерживает указание сайтом предпочтительного порядка форматов аттестации учетных данных в новом поле attestationFormats . Эта функция обеспечивает поддержку на Android, где поставщики ключей доступа могут поддерживать несколько форматов.

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

Амортизация и удаление

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

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

Удалить expectedImprovement в DelegatedInkTrailPresenter

Атрибут expectedImprovement сообщает веб-разработчикам, насколько API DelegatedInkTrails улучшит их текущую задержку при отправке отпечатков. Однако этот атрибут не оправдывает увеличение энтропии при создании отпечатков.

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

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

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