Хром 124 бета

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

CSS

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

CSSImportRule.styleSheet

Разрешить CSSImportRule.styleSheet иметь значение NULL. Атрибут styleSheet в CSSImportRule может иметь значение null, если нет связанной таблицы стилей CSS.

CSSKeyframesRule.length

Предоставляет атрибут length CSSKeyframesRule . Интерфейсы, поддерживающие индексированные свойства, должны определять атрибут целочисленного типа с именем length .

HTML

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

writingsuggestions

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

Новый атрибут writingsuggestions имеет значения true или false , что позволяет разработчикам включать или отключать предложения по написанию, предоставляемые браузером. Состояние атрибута элемента также может быть унаследовано от элементов-предков, что позволяет разработчикам управлять этой функциональностью в масштабе каждого элемента, документа или поддокумента.

Контейнеры прокрутки, фокусируемые на клавиатуре

Улучшает доступность, делая контейнеры прокрутки фокусируемыми с помощью навигации с последовательным фокусом. До этого изменения клавиша табуляции не фокусировала скроллеры, если для tabIndex явно не установлено значение 0 или более.

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

Эта функция будет постепенно внедряться, начиная с Chrome 124, и станет доступна всем пользователям в Chrome 125. Узнайте больше о скроллерах с фокусировкой на клавиатуре .

Веб-API

Дополнения к API отчетов по атрибуции

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

Документ «картинка в картинке»: добавьте возможность скрыть кнопку возврата на вкладку.

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

Хотя наличие кнопки для возврата на вкладку открытия всегда имеет смысл в случае видео «картинка в картинке» (видеопоток можно вернуть в элемент видео на вкладке открытия), это не всегда так для документа «картинка в картинке». -картинные переживания. Это дает разработчикам больше контроля над взаимодействием с пользователем, когда они определяют, что такая кнопка не имеет смысла для их варианта использования.

Подробную информацию см. в документации к документу «картинка в картинке» .

Блокировка рендеринга документа

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

Это особенно важно для переходов просмотра, где проанализированное состояние DOM в первом кадре может радикально изменить созданный переход.

Обратите внимание, что эта функция реализует синтаксис <link rel=expect href="#id"> который позволяет элементу ссылки ссылаться на другой ожидаемый элемент на странице. Затем рендеринг блокируется до тех пор, пока ожидаемый элемент не будет полностью проанализирован. Это заменяет предыдущую реализацию атрибута HTML, который позволяет блокировать отображение всего документа.

Атрибут jitterBufferTarget

Атрибут jitterBufferTarget позволяет приложениям указывать целевую продолжительность времени в миллисекундах для хранения буфера дрожания RTCRtpReceiver . Это влияет на объем буферизации, выполняемой пользовательским агентом, что, в свою очередь, влияет на повторную передачу и восстановление потерянных пакетов. Изменение целевого значения позволяет приложениям контролировать компромисс между задержкой воспроизведения и риском нехватки аудио- или видеокадров из-за дрожания сети.

событие pageswap

Событие pageswap вызывается для объекта окна документа, когда навигация заменяет этот документ новым документом. Событие предоставляет информацию об активации навигации ( type , NavigationHistoryEntry для нового документа).

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

заголовок priority HTTP-запроса

Это добавляет заголовок priority запроса для всех HTTP-запросов с информацией о приоритете запроса на момент его отправки.

RFC 9218 (Расширяемая схема приоритезации для HTTP) определяет priority заголовок HTTP-запроса, который используется для сигнализации приоритета запроса источникам (и посредникам). Он также определяет процессы согласования и кадры уровня протокола для HTTP/2 и HTTP/3 для передачи одинаковой информации о приоритете.

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

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

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

Разрешение на доступ к частной сети для облегчения смешанного контента

Чтобы установить соединения с устройствами в локальной сети, которые не имеют глобальных уникальных имен и, следовательно, не могут получить сертификаты TLS, эта функция представляет новую опцию fetch() , чтобы объявить о намерении разработчиков связаться с таким устройством. Это включает в себя новую управляемую политикой функцию для ограничения доступа каждого сайта к этой возможности, а также новые заголовки для предполетного ответа сервера для предоставления дополнительных метаданных.

Подсказка клиента Sec-CH-UA-Form-Factors

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

  • Рабочий стол : пользовательский агент, работающий на персональном компьютере.
  • Автомобильная промышленность : пользовательский агент, встроенный в транспортное средство, где пользователь может нести ответственность за управление транспортным средством и не иметь возможности следить за мелкими деталями.
  • Мобильное устройство : небольшое сенсорное устройство, которое обычно носит при себе пользователь.
  • Планшет : сенсорное устройство большего размера, чем «мобильное», которое обычно не носит с собой пользователь.
  • XR : иммерсивные устройства, которые дополняют или заменяют среду вокруг пользователя.
  • EInk : устройство, характеризующееся медленным обновлением экрана и ограниченным или отсутствующим цветовым разрешением.
  • Часы : мобильное устройство с крошечным экраном (обычно менее двух дюймов), расположенное таким образом, чтобы пользователь мог быстро на него взглянуть.

setHTMLUnsafe и parseHTMLUnsafe

Методы setHTMLUnsafe и parseHTMLUnsafe позволяют использовать декларативную теневую модель DOM из JavaScript. Эти методы также предлагают более простой способ императивного анализа HTML в DOM по сравнению с innerHTML или DOMParser .

Обновления API общего хранилища

В этом обновлении добавлена ​​поддержка запуска рабочих модулей с перекрестным происхождением без необходимости создания iframe.

Streams API: асинхронная итерация ReadableStream

API-интерфейсы потоков предоставляют повсеместные, совместимые примитивы для создания, составления и потребления потоков данных. Это изменение добавляет поддержку асинхронного итерируемого протокола в ReadableStream API , позволяя использовать читаемые потоки в качестве источника циклов for await...of .

context-fill и context-stroke SVG

Реализует существующую функцию SVG, которая позволяет использовать ключевые слова context-fill и context-stroke при указании свойств заливки и обводки. Это влияет только на поддеревья SVG, экземпляры которых создаются с помощью элемента <use> , и элементы <marker> , экземпляры которых создаются с использованием свойства marker в элементе <path> . В таких случаях context-fill и context-stroke разрешаются в значение свойств fill и stroke в <use> или <path> .

WebGPU: поддержка ServiceWorker и SharedWorker.

В WebGPU добавлена ​​поддержка ServiceWorker и SharedWorker в соответствии с существующими возможностями WebGL.

Service Workers обеспечивают автономные возможности и фоновую обработку для WebGPU. Это означает, что веб-приложения с интенсивным использованием графики или расширения Chrome могут кэшировать ресурсы и выполнять вычисления, даже когда пользователь не взаимодействует активно со страницей.

Общие работники позволяют нескольким вкладкам или контекстам расширений координировать и совместно использовать ресурсы WebGPU. Это приводит к более плавной работе и более эффективному использованию графического оборудования пользователя.

API WebSocketStream.

API WebSocket предоставляет интерфейс JavaScript для протокола WebSocket RFC6455. Несмотря на то, что он хорошо послужил, он неудобен с точки зрения эргономики и лишен такой важной функции, как противодавление. Цель API WebSocketStream — устранить эти недостатки путем интеграции потоков WHATWG с API WebSocket.

Узнайте больше в WebSocketStream: интеграция потоков с помощью WebSocket API .

Инкапсуляция ключей X25519Kyber768 для TLS

Защищает текущий TLS-трафик Chrome от будущего квантового криптоанализа, используя квантово-устойчивый алгоритм согласования ключей Kyber768.

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

Узнайте больше в статье «Защита трафика Chrome с помощью Hybrid Kyber KEM» .

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

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

Пробная версия устаревания для событий мутации

События мутации, включая DOMSubtreeModified , DOMNodeInserted , DOMNodeRemoved , DOMNodeRemovedFromDocument , DOMNodeInsertedIntoDocument и DOMCharacterDataModified , могут снизить производительность страницы, а также значительно усложнить добавление новых функций в Интернет. Эти API были исключены из спецификации в 2011 году и были заменены (в 2012 году) API Mutation Observer с гораздо лучшим поведением.

Поддержка событий мутации будет отключена по умолчанию, начиная с Chrome 127 , примерно 30 июля 2024 года. Код необходимо перенести в API Mutation Observer API до этой даты, чтобы избежать поломки сайта. Если требуется больше времени, зарегистрируйтесь для участия в пробной версии прекращения поддержки событий Mutation , чтобы повторно включить эту функцию на ограниченное время на определенном сайте. Его можно будет использовать в Chrome 134, заканчивающемся 25 марта 2025 г.

В качестве альтернативы для той же цели можно использовать корпоративную политику MutationEventsEnabled , в том числе через Chrome 134.

Зарегистрируйтесь для участия в пробной версии прекращения поддержки событий Mutation .

Прекращение поддержки и удаление

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

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

Удалите псевдоним «window-placement» для разрешения и политики разрешений «window-management».

Удаляет псевдоним «window-placement» для разрешения и политики разрешений «window-management». Это часть более масштабных усилий по переименованию строк, в конечном итоге объявив их устаревшими и удалив «window-placement» . Изменение терминологии увеличивает срок службы дескриптора по мере развития API управления окнами.