Хром 134 бета

Опубликовано: 5 февраля 2025 г.

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

CSS

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

Свойство ограничения динамического диапазона CSS

Позволяет странице ограничить максимальную яркость HDR-контента.

Настраиваемый элемент <select>

Добавьте возможность настраивать элементы HTML <select> , включив новое поведение с base-select значением appearance . После этого вы сможете добавлять расширенный контент, включая изображения, а также изменять стили параметров.

Отключить световой индикатор диалога

Одной из приятных особенностей API Popover является возможность лёгкого закрытия. Эта функция предоставляет те же возможности элементу <dialog> . Новый атрибут closedby управляет поведением:

  • <dialog closedby=none> : полное отсутствие закрытия диалоговых окон пользователем.
  • <dialog closedby=closerequest> : нажатие ESC (или другого триггера закрытия) закрывает диалоговое окно.
  • <dialog closedby=any> : щелчок за пределами диалогового окна или нажатие клавиши ESC закрывает диалоговое окно. Аналогично поведению popover=auto .

Наследование подсветки CSS

При наследовании подсветки CSS псевдоклассы подсветки CSS, такие как ::selection и ::highlight , наследуют свои свойства через цепочку псевдоподсветки, а не через цепочку элементов. В результате получается более интуитивно понятная модель наследования свойств подсветки.

Чтобы узнать больше, прочитайте публикацию в блоге «Изменения в наследовании стилей выделения CSS», написанную Стивеном Ченни из Igalia.

:has-slotted псевдокласс

Псевдокласс :has-slotted представляет элемент-слот с содержимым, выделенным слотом, например, текстовым узлом или элементом. Его можно использовать для стилизации элементов в зависимости от того, используется ли в них резервное содержимое слота.

Веб-API

Функция отчётности по атрибуции: удаление ограничения на агрегируемый отчёт, если идентификатор контекста триггера не равен нулю

Это изменение основано на отзывах вызывающих API и необходимости иметь возможность измерять большее количество событий конверсии для определенных пользовательских потоков.

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

Кроме того, агрегируемые отчеты по-прежнему будут связаны другими ограничениями, которые ограничивают общий объем информации, поддающейся измерению, такими как бюджет вклада L1 (65 536) на источник и ограничение скорости атрибуции.

Разделение URL-адресов BLOB-объектов: извлечение/навигация

В продолжение Storage Partitioning реализует разделение доступа к URL-адресам Blob по ключу хранилища (сайт верхнего уровня, источник фрейма и логическое значение has-cross-site-ancestor), за исключением навигаций верхнего уровня, которые останутся разделёнными только по источнику фрейма. Это поведение аналогично тому, что в настоящее время реализовано в Firefox и Safari, и согласует использование URL-адресов Blob со схемой разделения, используемой другими API хранения в рамках Storage Partitioning. Кроме того, Chrome будет применять noopener к навигациям верхнего уровня, инициированным рендерером, к URL-адресам Blob, где соответствующий сайт является межсайтовым по отношению к сайту верхнего уровня, выполняющему навигацию. Это согласует поведение Chrome с аналогичным поведением в Safari, и соответствующие спецификации были обновлены с учётом этих изменений.

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

Политика документа: expect-no-linked-resources

Точка конфигурации expect-no-linked-resources в Document-Policy позволяет документу подсказать пользовательскому агенту о необходимости лучше оптимизировать последовательность загрузки, например, не использовать поведение спекулятивного синтаксического анализа по умолчанию (также известное как сканер предварительной загрузки ).

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

  • Страницы, в HTML-коде которых не объявлены какие-либо ресурсы.
  • Большие HTML-страницы с минимальной или нулевой загрузкой ресурсов, которые могли бы явно контролировать предварительную загрузку ресурсов с помощью других доступных механизмов предварительной загрузки.

Политика документа expect-no-linked-resources намекает пользовательскому агенту, что он может выбрать оптимизацию времени, затрачиваемого на определение таких подресурсов.

Явное управление ресурсами (асинхронное и синхронное)

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

Расширьте API console.timeStamp для поддержки измерений и параметров представления.

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

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

OffscreenCanvas getContextAttributes

Добавляет интерфейс getContextAttributes из CanvasRenderingContext2D в OffscreenCanvasRenderingContext2D .

API частного агрегирования: ограничения на вклад по контексту для вызывающих устройств общего хранилища

Позволяет пользователям общего хранилища настраивать количество вкладов в отчете о частном агрегировании.

Эта функция позволяет пользователям Shared Storage настраивать ограничения на количество вкладов для каждого контекста с помощью нового поля maxContributions . Пользователи устанавливают это поле, чтобы переопределить количество вкладов по умолчанию для одного отчёта — будут разрешены как большие, так и меньшие значения. Chrome принимает значения maxContributions от 1 до 1000 включительно; большие значения будут интерпретироваться как 1000.

Из-за дополнения размер полезной нагрузки каждого отчёта будет примерно пропорционален выбранному количеству вкладов в отчёт. Мы ожидаем, что переход на более крупные отчёты приведёт к увеличению стоимости эксплуатации сервиса агрегации.

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

Поддержка ImageSmoothingQuality в PaintCanvas

Добавлена ​​поддержка атрибута imageSmoothingQuality для Paint Canvas. Это позволяет веб-разработчикам выбирать компромисс между качеством и производительностью при масштабировании изображений. Доступны три значения для imageSmoothingQuality : low , medium и high .

Подгруппы WebGPU

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

Испытания нового происхождения

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

API цифровых учетных данных

Веб-сайты могут получать и получают учётные данные из мобильных приложений-кошельков с помощью различных механизмов, например, настраиваемых обработчиков URL-адресов и сканирования QR-кодов. Эта функция позволяет сайтам запрашивать идентификационную информацию из кошельков, используя систему Android IdentityCredential CredMan . Её можно расширить для поддержки различных форматов учётных данных (например, ISO mDoc и верифицируемых учётных данных W3C), а также использовать несколько приложений-кошельков. В настоящее время добавляются механизмы, помогающие снизить риск злоупотребления реальными идентификационными данными в масштабах экосистемы.

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

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

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

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

Удалить нестандартные аудиоограничения getUserMedia

Blink поддерживает ряд нестандартных ограничений с префиксом goog для getUserMedia которые появились еще до того, как ограничения были должным образом стандартизированы.

Использование значительно снизилось до 0,000001–0,0009% (в зависимости от ограничений), и некоторые из них вообще не действуют из-за изменений в стеке аудиозахвата Chromium. Скоро ни одно из них не будет действовать из-за других предстоящих изменений.

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