Дата стабильного выпуска: 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
только в том случае, если по ним ранее щелкали на этом сайте верхнего уровня и в источнике фрейма.
Исключением являются «собственные ссылки», когда ссылки на собственные страницы сайта могут быть оформлены как :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.
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, который позволяет веб-приложениям:
- Пересылать события колеса на захваченную вкладку.
- Прочитайте и измените уровень масштабирования захваченной вкладки.
Ошибка отслеживания № 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 поддерживается только в том случае, если устройство пользователя и операционная система предоставляют необходимые возможности.
Используйте 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.