Хром 134 бета

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

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

CSS

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

Свойство CSS dynamic-range-limit

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

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

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

Диалоговое окно, свет, отключение

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

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

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

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

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

:has-slotted pseudo-class

Псевдокласс :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 хранилища в рамках механизма разделения хранилища. Кроме того, 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() , обеспечивая обратную совместимость, и предоставляет высокопроизводительный метод для мониторинга приложений и отображения данных о времени выполнения на панели «Производительность» в инструментах разработчика.

Записи времени, добавленные с помощью 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-кодов. Эта функция позволяет сайтам запрашивать информацию об идентификации у кошельков, используя систему IdentityCredential CredMan в Android. Она расширяема для поддержки нескольких форматов учетных данных (например, ISO mDoc и проверяемые учетные данные W3C) и позволяет использовать несколько приложений-кошельков. Добавляются механизмы, помогающие снизить риск злоупотребления реальными идентификационными данными в масштабах всей экосистемы.

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

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

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

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

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

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

Уровень использования значительно снизился и составляет от 0,000001% до 0,0009% (в зависимости от ограничения), а некоторые из них даже не изменились из-за изменений в стеке захвата звука Chromium. Вскоре ни одно из них не будет иметь никакого эффекта из-за других грядущих изменений.

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