Опубликовано: 25 июня 2025 г.
Если не указано иное, следующие изменения применяются к новейшему выпуску бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о перечисленных здесь функциях по предоставленным ссылкам или из списка на ChromeStatus.com. Chrome 139 является бета-версией с 25 июня 2025 года. Вы можете загрузить последнюю версию на Google.com для настольного компьютера или в Google Play Store на Android.
CSS
В этом выпуске добавлены шесть новых функций CSS и пользовательского интерфейса.
Короткое замыкание var()
и attr()
Если откат не используется, функции var()
и attr()
оцениваются без поиска циклов в этом откате. Следующий CSS работает, поскольку существуют --green
и --blue
.
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
CSS свойство caret-animation
Chrome уже поддерживал анимацию свойства caret-color
, но при анимации поведение мигания курсора по умолчанию мешало анимации. Свойство CSS caret-animation
имеет два возможных значения: auto
и manual
, где auto
означает значение по умолчанию браузера (мигание), а manual
означает, что веб-разработчик управляет анимацией курсора. Свойство также позволяет пользователям отключать мигание с помощью пользовательской таблицы стилей.
Формирование угла
Включите стилизацию углов поверх существующего border-radius
, указав форму или кривизну угла. Это позволяет создавать такие формы, как квадратики, вырезы и совки, и анимировать между ними. Узнайте больше в этом посте от Амита Шина .
Продолжайте выполнять переходы при переключении на начальное значение перехода.
Когда свойства, связанные с переходом, изменяются, они должны влиять только на вновь начатые переходы. Это означает, что если вы измените свойства перехода, если вы также не измените свойства, которые имеют активные анимации перехода, эти анимации перехода продолжатся с ранее указанной продолжительностью, плавностью и т. д. Blink неправильно отменял переходы, когда свойство перехода было установлено на "none", хотя он не отменяет их, если вы измените только transition-duration. С этой функцией Blink будет соответствовать webkit и gecko, позволяя активным переходам продолжать выполняться, если или пока не изменится значение их свойства, вызывая новое обновление перехода.
Пользовательские функции CSS
Пользовательские функции похожи на пользовательские свойства, но вместо возврата одного фиксированного значения они возвращают значения, основанные на других пользовательских свойствах, параметрах и условиях.
@function --negate(--value) {
result: calc(var(--value) * -1);
}
div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
Поддержка width
и height
в качестве атрибутов представления для вложенных элементов <svg>
Поддерживает применение width
и height
в качестве атрибутов представления для вложенных элементов <svg>
как через разметку SVG, так и через CSS. Этот двойной подход обеспечивает еще большую гибкость, позволяя вам управлять и стилизовать элементы SVG более эффективно в сложных проектах.
Веб-API
Манифест веб-приложения: указать право на обновление, URL-адреса значков являются Cache-Control: immutable
Укажите алгоритм соответствия обновления в спецификации манифеста. Это делает процесс обновления более детерминированным и предсказуемым, предоставляя разработчикам больше контроля над тем, должны ли (и когда) обновления применяться к существующим установкам, и позволяя удалить «дроссель проверки обновлений», который в настоящее время необходимо реализовать пользовательским агентам, чтобы избежать траты сетевых ресурсов.
Улучшения производительности определения глубины WebXR
Открывает несколько новых механизмов для настройки поведения функции определения глубины в сеансе WebXR с целью повышения производительности генерации или потребления буфера глубины. Основные раскрываемые механизмы: возможность запрашивать необработанный или сглаженный буфер глубины, возможность запрашивать остановку или возобновление выполнения, предоставляя буфер глубины, и возможность отображать буфер глубины, который не совпадает с видом пользователя в точности, так что пользовательскому агенту не нужно выполнять ненужные повторные проекции в каждом кадре.
Разрешить больше символов в JavaScript DOM API
HTML-парсер всегда (или долгое время) позволял элементам и атрибутам иметь широкий спектр допустимых символов и имен, но JavaScript DOM API, которые создают те же элементы и атрибуты, более строги и не соответствуют парсеру. Это изменение ослабляет проверку JavaScript DOM API для соответствия парсеру HTML.
команда вызова request-close
Элементы диалога могут быть закрыты с помощью различных механизмов, иногда разработчики хотят иметь возможность предотвратить закрытие. Чтобы добиться этого, диалоги запускают событие отмены. Первоначально это запускалось только через запрос закрытия (например, нажатие клавиши Esc
), недавно была добавлена функция JS requestClose()
, которая также запускает событие отмены. Команда request-close
привносит эту новую возможность в API декларативных команд вызывающего.
WebGPU: поддержка 3D-текстур для сжатых форматов BC и ASTC
Функции WebGPU texture-compression-bc-sliced-3d
и texture-compression-astc-sliced-3d
добавляют соответственно поддержку 3D-текстур для сжатых форматов BC и ASTC.
Подтверждение безопасного платежа: ключи, привязанные к браузеру
Добавляет дополнительную криптографическую подпись к утверждениям подтверждения безопасного платежа и созданию учетных данных. Соответствующий закрытый ключ не синхронизируется между устройствами. Это помогает веб-разработчикам выполнять требования по привязке устройств для платежных транзакций.
Безопасное подтверждение платежа: обновление UX
Обновляет элементы UX для диалога SPC на Android Chrome. Помимо просто представления UX, добавляется следующее:
- Позволяет продавцам предоставлять необязательный список логотипов платежных организаций, связанных с платежом, которые будут отображаться.
- Возвращение различных состояний вывода обратно продавцу в зависимости от того, хочет ли пользователь продолжить транзакцию без SPC или отменить транзакцию.
- Добавляет новое поле метки платежных реквизитов в платежный инструмент, чтобы текст отображался в две строки.
core-features-and-limits
-WebGPU
Функция core-features-and-limits
означает, что адаптер и устройство WebGPU поддерживают основные функции и ограничения спецификации.
Кандидат на исправление приоритета привязки прокрутки
В настоящее время алгоритм привязки прокрутки выбирает приоритетных кандидатов, когда они доступны в качестве целей привязки. Приоритетными кандидатами в настоящее время являются сфокусированный редактируемый элемент и подсветка поиска на странице. Это может привести к неоптимальному пользовательскому опыту, если есть большой сфокусированный редактируемый элемент контента, содержимое которого изменилось за пределами экрана (в результате чего курсор смещается). Это исправление изменяет алгоритм: вместо выбора приоритетного кандидата в качестве привязки используйте кандидата в качестве области действия или корня обычного алгоритма выбора привязки, который выбирает самый глубокий экранный элемент в качестве привязки.
Поддержка атрибута async
для элементов SVG <script>
Интерфейс SVGScriptElement
в SVG 2.0 вводит атрибут async
, аналогичный HTMLScriptElement
. Этот атрибут позволяет выполнять скрипты асинхронно, улучшая производительность и скорость отклика веб-приложений, использующих SVG.
API веб-речи на устройстве
Эта функция добавляет поддержку распознавания речи на устройстве к API Web Speech, позволяя веб-сайтам гарантировать, что ни аудио, ни транскрибированная речь не будут отправлены на сторонний сервис для обработки. Веб-сайты могут запрашивать доступность распознавания речи на устройстве для определенных языков, предлагать пользователям устанавливать необходимые ресурсы для распознавания речи на устройстве и выбирать между распознаванием речи на устройстве или облачным распознаванием по мере необходимости.
Очистить window.name
для кросс-сайтовых навигаций, которые переключают группу контекста просмотра
Значение свойства window.name
в настоящее время сохраняется на протяжении всего жизненного цикла вкладки, даже при навигации, которая переключает группы контекста просмотра, что может привести к утечке информации и потенциально использоваться в качестве вектора отслеживания. Очистка свойства window.name
решает эту проблему. Это должно быть изменение с низким риском, поскольку поиск контекста просмотра по имени уже не работает, если он находится в другой группе контекста просмотра, поэтому имя на самом деле бесполезно.
Корпоративная политика: ClearWindowNameCrossSiteBrowsing
(перестанет работать в Chrome 142).
Расширения области действия веб-приложений
Добавляет поле манифеста веб-приложения "scope_extensions"
, которое позволяет веб-приложениям расширять свою область действия на другие источники.
Это позволяет сайтам, которые контролируют несколько поддоменов и доменов верхнего уровня, быть представленными как одно веб-приложение. Требует перечисленных источников для подтверждения связи с веб-приложением с помощью файла конфигурации .well-known/web-app-origin-association
.
Определение типа JSON MIME, соответствующее спецификации
Chromium теперь распознает все допустимые типы JSON MIME, определенные спецификацией WHATWG mimesniff. Это включает любой тип MIME, подтип которого заканчивается на +json
, в дополнение к традиционным application/json
и text/json
. Это изменение гарантирует, что веб-API и функции, полагающиеся на обнаружение JSON, ведут себя согласованно со стандартом веб-платформы и другими браузерами. Ключевой мотивацией этого изменения является исправление поведения импорта модуля JSON, когда ранее допустимые типы JSON MIME, такие как text/html+json
и image/svg+json
, не загружались как модули.
Частный API агрегации: агрегированные отчеты об ошибках
Существует ряд условий ошибок, которые могут возникнуть при использовании API Private Aggregation. Например, бюджет конфиденциальности может исчерпаться, что предотвратит дальнейшие вклады в гистограмму. Эта функция позволяет разработчикам регистрировать вклады в гистограмму, которые должны отправляться только в случае возникновения определенного типа ошибки. Эта функция поддерживает измерение частоты условий ошибок и разделение этих измерений на соответствующие указанные разработчиком измерения (например, версию развернутого кода). Поскольку сами ошибки могут быть межсайтовой информацией, мы не можем просто выставить их на странице для пользователей без сторонних файлов cookie. Вместо этого эта функция повторно использует существующие агрегированные, зашумленные конвейеры отчетности через службу агрегации.
API отчетов о сбоях: укажите crash-reporting, чтобы получать только отчеты о сбоях
Эта функция гарантирует, что разработчики будут получать только отчеты о сбоях, указав конечную точку с именем crash-reporting
. По умолчанию отчеты о сбоях доставляются на конечную точку default
, которая получает множество других видов отчетов, помимо отчетов о сбоях. Разработчики могут предоставить отдельный URL для известной конечной точки с именем crash-reporting
, чтобы направлять отчеты о сбоях туда, а не на конечную точку default
.
Уменьшить отпечатки пальцев в заголовке Accept-Language
Уменьшает объем информации, которую строка значения заголовка Accept-Language
раскрывает в HTTP-запросах и в navigator.languages
. Вместо отправки полного списка предпочитаемых пользователем языков в каждом HTTP-запросе с заголовком Accept-Language
. Теперь мы отправляем наиболее предпочитаемый пользователем язык в заголовке Accept-Language
. Чтобы минимизировать риски совместимости, первоначальный запуск уменьшает информацию в HTTP-заголовке, в будущем мы уменьшим связанные геттеры JavaScript navigator.languages
.
Вызвать событие ошибки вместо того, чтобы выбросить заблокированный рабочий процесс CSP
При блокировке Content Security Policy (CSP) Chrome в настоящее время выдает SecurityError
из конструктора Worker и SharedWorker. Спецификация требует, чтобы CSP проверялся как часть выборки и асинхронно запускает события ошибок вместо того, чтобы выдавать исключение, когда скрипт запускает new Worker(url)
или new SharedWorker(url)
. Это изменение делает спецификацию Chrome соответствующей: не выдает во время конструктора и запускает события ошибок асинхронно.
Уровень звука для кадров, закодированных RTC
Предоставляет в Интернете уровень звука закодированного кадра, переданного с помощью RTCPeerConnection
и представленного с помощью WebRTC Encoded Transform.
Испытания нового происхождения
В Chrome 139 вы можете принять участие в следующих новых пробных версиях Origin .
API-интерфейс Prompt
API Prompt предназначен для взаимодействия с языковой моделью ИИ с использованием текстовых, графических и аудиовходов. Он поддерживает различные варианты использования: от создания подписей к изображениям и выполнения визуального поиска до транскрибирования аудио, классификации звуковых событий, создания текста в соответствии с определенными инструкциями и извлечения информации или выводов из текста. Он поддерживает структурированные выходные данные , которые гарантируют, что ответы соответствуют предопределенному формату, обычно выраженному в виде схемы JSON, для повышения соответствия ответов и упрощения интеграции с нижестоящими приложениями, которым требуются стандартизированные форматы выходных данных. Этот API также представлен в расширениях Chrome. Эта пробная версия Origin предназначена для показа в Интернете.
Атрибут блокировки рендеринга с полной частотой кадров
Мы предлагаем добавить новый токен блокировки рендеринга full-frame-rate к блокирующим атрибутам. Когда рендерер заблокирован токеном full-frame-rate, рендерер будет работать с более низкой частотой кадров, чтобы зарезервировать больше ресурсов для загрузки.
Режим совместимости с WebGPU
Добавляет опциональное, слегка ограниченное подмножество API WebGPU, способное запускать старые графические API, такие как OpenGL и Direct3D11. Выбрав этот режим и соблюдая его ограничения, разработчики могут расширить охват своих приложений WebGPU на многие старые устройства, которые не имеют современных явных графических API, которые требуются ядру WebGPU. Для простых приложений единственным необходимым изменением является указание featureLevel "compatibility"
при вызове requestAdapter
. Для более сложных приложений могут потребоваться некоторые изменения, чтобы приспособиться к ограничениям режима. Поскольку режим совместимости является подмножеством, полученные приложения также являются допустимыми приложениями ядра WebGPU и будут работать даже на пользовательских агентах, которые не поддерживают режим совместимости.
Устаревания и удаления
Эта версия Chrome представляет устаревания и удаления, перечисленные ниже. Посетите ChromeStatus.com для получения списков запланированных устаревших функций, текущих устаревших функций и предыдущих удалений.
В этой версии Chrome удалены две функции.
Удалить поддержку macOS 11
Chrome 138 — последний релиз с поддержкой macOS 11. Начиная с Chrome 139 macOS 11 не поддерживается, так как находится за пределами окна поддержки Apple. Работа на поддерживаемой операционной системе имеет важное значение для поддержания безопасности. На компьютерах Mac с macOS 11 Chrome продолжит работать, показывая предупреждающую информационную панель, но больше не будет обновляться. Если пользователь хочет обновить Chrome, ему необходимо обновить свой компьютер до поддерживаемой версии macOS. Для новых установок Chrome 139 и выше потребуется macOS 12 или более поздняя версия.
Удалить автоматическое определение кодировки ISO-2022-JP в HTML
Известны проблемы безопасности, связанные с автоматическим определением набора символов для ISO-2022-JP. Учитывая, что использование очень низкое, а Safari не поддерживает автоматическое определение ISO-2022-JP, Chrome прекращает его поддержку, чтобы устранить проблемы безопасности.