Хром 130 бета

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

Если не указано иное, следующие изменения относятся к последней версии Chrome beta-channel для 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

Добавляет поддержку 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 Attribution Reporting (улучшение конфиденциальности ключа отладки)

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

В настоящее время 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) — это предложение Privacy Sandbox для обслуживания случаев ремаркетинга и использования индивидуальных аудиторий, разработанное таким образом, чтобы третьи стороны не могли отслеживать поведение пользователей при просмотре веб-сайтов.

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

Поддержка URL-адресов неспециальных схем

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

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

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

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

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

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

Веб-последовательный порт: connected атрибут и события подключения RFCOMM

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

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

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

Дополнительную информацию можно найти в разделе «Обновления Bluetooth RFCOMM в Web Serial» .

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

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

API детектора языка

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

Форматы подтверждения WebAuthn

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

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

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

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

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

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

Удалить expectedImprovement в DelegatedInkTrailPresenter

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

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

Отменить поддержку нестандартного метода GPUAdapter requestAdapterInfo()

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