Хром 136, Хром 136

Дата стабильного выпуска: 29 апреля 2025 г.

Если не указано иное, следующие изменения относятся к стабильной версии Chrome 136 для Android, ChromeOS, Linux, macOS и Windows.

HTML и ДОМ

Языковая поддержка CanvasTextDrawingStyles

Элемент <canvas> DOM, как и все элементы DOM, принимает атрибут lang , который используется для определения языковой обработки выбора шрифта (когда шрифты имеют глифы, специфичные для локали). Браузеры уважают этот атрибут. Однако при создании OffscreenCanvas невозможно установить информацию о локали, что может привести к состоянию, когда закадровый холст создает визуализированные результаты, которые отличаются от холста, в котором используются его выходные данные. Эта функция добавляет IDL-атрибут lang к CanvasTextDrawingStyles , чтобы предоставить разработчикам прямой контроль над языком рисования текста и показателей.

Ошибка отслеживания № 385006131 | Запись ChromeStatus.com | Спецификация

CSS и пользовательский интерфейс

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

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

Ошибка отслеживания № 1470298 | Запись ChromeStatus.com | Спецификация

Чтобы исключить утечку истории посещений пользователей, элементы привязки оформляются как :visited только в том случае, если по ним ранее щелкали на этом сайте верхнего уровня и в источнике фрейма.

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

Ошибка отслеживания № 1448609 | Запись ChromeStatus.com | Спецификация

print-color-adjust без префикса

Свойство print-color-adjust позволяет настраивать цвета напечатанных веб-страниц. Это то же самое, что и уже поддерживаемый Chrome -webkit-print-color-adjust , но со стандартизированным именем.

Версия с префиксом -webkit- не удаляется.

Документы MDN | Ошибка отслеживания № 376381169 | Запись ChromeStatus.com | Спецификация

Переименуйте тип string attr() в raw-string

Рабочая группа CSS решила заменить тип string attr() на raw-string .

Поэтому из Chrome 136 attr(data-foo string) становится attr(data-foo raw-string) .

Ошибка отслеживания № 400981738 | Запись ChromeStatus.com | Спецификация

Независимый от типа резервный вариант var()

Резервная часть функции var() не проверяет тип пользовательского свойства, на которое ссылается.

Ошибка отслеживания № 372475301 | Запись ChromeStatus.com

Веб-API

Отправка событий щелчка на захваченный указатель

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

Для незахваченных указателей цель click остается неизменной.

Ошибка отслеживания № 40851596 | Запись ChromeStatus.com | Спецификация

Явные подсказки по компиляции с магическими комментариями.

Позволяет прикреплять информацию о том, какие функции следует анализировать и компилировать в файлах JavaScript.

Информация закодирована в виде магических комментариев.

Ошибка отслеживания № 13917 | Запись ChromeStatus.com | Спецификация

Включите инициатор навигации в ключ раздела кэша HTTP.

Схема ключей HTTP-кеша Chrome обновлена ​​и теперь включает логическое значение is-cross-site-main-frame-navigation для предотвращения атак межсайтовой утечки, включающих навигацию верхнего уровня.

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

Ошибка отслеживания № 398784714 | Запись ChromeStatus.com | Спецификация

Защищенная аудитория: помощники по конвертации текста

Сценарии назначения ставок и оценки защищенной аудитории, которые взаимодействуют с WebAssembly, должны эффективно преобразовывать строковые данные в байтовые массивы (и из них) (например, для передачи строк в WebAssembly и из них с помощью «памяти» ArrayBuffer). Это предоставляет две автономные функции, protectedAudience.encodeUtf8 и protectedAudience.decodeUtf8 для выполнения этих задач примерно на порядок эффективнее, чем в JavaScript.

Запись ChromeStatus.com

RegExp.escape

RegExp.escape — это статический метод, который принимает строку и возвращает экранированную версию, которую можно использовать в качестве шаблона внутри регулярного выражения.

Например:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));

Запись ChromeStatus.com | Спецификация

Правила спекуляции: поле тега

Это позволяет разработчикам добавлять поле тега в правила спекуляций. Это необязательное поле можно использовать для отслеживания источника правил спекуляции. Например, по-разному относиться к ним на промежуточном сервере. Любые теги, связанные со предположением, будут отправлены с заголовком Sec-Speculation-Tags .

Ошибка отслеживания № 381687257 | Запись ChromeStatus.com | Спецификация

Обновите ProgressEvent, чтобы использовать двойной тип для loaded и total

ProgressEvent имеет loaded и total атрибуты, указывающие прогресс, и их тип теперь unsigned long long .

Благодаря этой функции тип этих двух атрибутов вместо этого изменяется на double , что дает разработчику больше контроля над значением. Например, теперь разработчики могут создать ProgressEvent с total значением 1 и постепенно увеличивать loaded от 0 до 1. Это соответствует поведению HTML-элемента <progress> по умолчанию, если атрибут max опущен.

Запись ChromeStatus.com | Спецификация

Конфиденциальность и безопасность

Отчеты о политике разрешений для iframe

Введен новый тип нарушения под названием «Потенциальное нарушение политики разрешений», который будет учитывать только политику разрешений (включая политику только для отчетов) и атрибут allow , установленный в iframe, для обнаружения конфликта между применяемой политикой разрешений и разрешениями, распространяемыми на iframe.

Ошибка отслеживания № 40941424 | Запись ChromeStatus.com | Спецификация

Уменьшите количество отпечатков пальцев в информации заголовка Accept-Language.

Уменьшает объем информации, которую строка значения заголовка Accept-Language предоставляет в HTTP-запросах и в navigator.languages. Вместо отправки полного списка предпочитаемых пользователем языков в каждом HTTP-запросе Chrome теперь отправляет наиболее предпочтительный язык пользователя в заголовке Accept-Language.

Ошибка отслеживания № 1306905 | Запись ChromeStatus.com

Личность

Обновления FedCM

Позволяет FedCM отображать несколько поставщиков удостоверений в одном диалоговом окне, используя все поставщики в одном вызове get() . Это предоставляет разработчикам удобный способ представить пользователям все поддерживаемые поставщики удостоверений.

В Chrome 136 также удалена поддержка добавления еще одной учетной записи в пассивном режиме FedCM. Эта функция позволяет отображать кнопку «Использовать другую учетную запись» рядом с другими учетными записями IdP в средстве выбора. Эта функция в настоящее время не используется, и разговоры о UX привели нас к выводу, что поддержка этой функции приводит к усложнению процесса без особой пользы. Эта функция по-прежнему будет работать в активном режиме FedCM.

Ошибка отслеживания № 1348262 | Запись ChromeStatus.com | Спецификация

Условное создание веб-аутентификации (обновление ключа доступа)

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

Ошибка отслеживания № 377758786 | Запись ChromeStatus.com | Спецификация

Изображения и медиа

Прерванное состояние AudioContext

Добавляет "interrupted" состояние в AudioContextState . Это новое состояние позволяет агенту пользователя приостанавливать воспроизведение во время эксклюзивного доступа к аудио (VoIP) или при закрытии крышки ноутбука.

Ошибка отслеживания № 374805121 | Запись ChromeStatus.com | Спецификация

Захваченный контроль над поверхностью

Веб-API, который позволяет веб-приложениям:

  1. Пересылать события колеса на захваченную вкладку.
  2. Прочитайте и измените уровень масштабирования захваченной вкладки.

Ошибка отслеживания № 1466247 | Запись ChromeStatus.com | Спецификация

Захваченное разрешение поверхности

Выставляйте соотношение пикселей захваченной поверхности во время совместного использования экрана.

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

Ошибка отслеживания № 383946052 | Запись ChromeStatus.com | Спецификация

Поддержка кодека H265 (HEVC) в WebRTC

После этого изменения HEVC присоединится к VP8, H.264, VP9 и AV1 в качестве поддерживаемых кодеков в WebRTC. Поддержка будет доступна с помощью API MediaCapabilities.

Ошибка отслеживания № 391903235 | Запись ChromeStatus.com | Спецификация

Обновления поддержки кодека H26x для MediaRecorder

API MediaRecorder от Chromium теперь поддерживает кодировку HEVC, введя строку кодека hvc1.*, а также новые кодеки (hev1.* и avc3.*), поддерживающие видео с переменным разрешением в формате MP4.

Поддержка кодирования платформы HEVC была добавлена ​​в WebCodecs в Chromium M130. В качестве продолжения была добавлена ​​поддержка API MediaRecorder в Chromium. API теперь поддерживает типы мультиплексоров MP4 и Matroska с различными спецификациями типов MIME HEVC и H.264. Кодирование HEVC поддерживается только в том случае, если устройство пользователя и операционная система предоставляют необходимые возможности.

Запись ChromeStatus.com

Используйте DOMPointInit для getCharNumAtPosition , isPointInFill , isPointInStroke

Это изменение приводит код Chromium в соответствие с последней спецификацией W3C для SVGGeometryElement и SVGPathElement с точки зрения использования DOMPointInit вместо SVGPoint для getCharNumAtPosition , isPointInFill , isPointInStroke .

Ошибка отслеживания № 40572887 | Запись ChromeStatus.com | Спецификация

WebGPU: атрибут GPUAdapterInfo isFallbackAdapter

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

Ошибка отслеживания № 403172841 | Запись ChromeStatus.com | Спецификация

Изменения браузера

Плавные полосы прокрутки

Эта функция модернизирует полосы прокрутки Chromium (как с наложением, так и без наложения) в Windows и Linux, чтобы они соответствовали языку дизайна Windows 11 Fluent.

Полосы прокрутки Fluent без наложения будут включены по умолчанию в Linux и Windows. Это изменение применимо и к Linux, поскольку дизайн полосы прокрутки Chromium для Linux исторически соответствовал тому, что поставляется в Windows. Как включить наложение полос прокрутки Fluent, все еще решается.

Ошибка отслеживания № 1292117 | Запись ChromeStatus.com

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

API устройств вывода звука: setDefaultSinkId()

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

Пробная версия происхождения | Запись ChromeStatus.com | Спецификация

Включите веб-приложения для понимания времени бимодальной производительности.

Веб-приложения могут страдать от бимодального распределения производительности загрузки страниц из-за факторов, находящихся вне контроля веб-приложения. Например:

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

Новое поле confidence в объекте PerformanceNavigationTiming позволит разработчикам определить, является ли время навигации репрезентативным для их веб-приложения.

Пробная версия происхождения | Ошибка отслеживания № 1413848 | Запись ChromeStatus.com | Спецификация

Обновление реализации рендеринга текста Canvas.

Это не изменение, доступное через Интернет.

Реализация CanvasRenderingContext2D measureText() , fillText() и strokeText() претерпела радикальные изменения. Это может повлиять на производительность, поэтому мы хотели бы запустить пробную версию Origin, чтобы приложения с большим количеством холста могли опробовать новую реализацию.

Пробная версия происхождения | Ошибка отслеживания № 389726691 | Запись ChromeStatus.com

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

Удалить HTMLFencedFrameElement.canLoadOpaqueURL()

Метод HTMLFencedFrameElement canLoadOpaqueURL() был заменен на navigator.canLoadAdAuctionFencedFrame() в 2023 году, и его вызов приводил к предупреждению консоли об устаревании с тех пор, как указывал на новый API. Метод удален из Chrome 136.

Запись ChromeStatus.com