Chrome 140 бета

Опубликовано: 6 августа 2025 г.

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

CSS и UI

Типизированная арифметика CSS

Типизированная арифметика позволяет писать выражения в CSS, например calc(10em / 1px) или calc(20% / 0.5em * 1px) . Это полезно, например, в типографике, поскольку позволяет преобразовывать типизированное значение в нетипизированное и повторно использовать его для свойств, принимающих числа. Другой вариант использования — умножение безразмерного значения на другой тип. Например, можно преобразовать пиксели в градусы.

Свойство scroll-target-group

Свойство scroll-target-group определяет, является ли элемент контейнером группы маркеров прокрутки. Оно принимает одно из следующих значений:

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

Создание контейнера для группы маркеров прокрутки позволяет любым HTML-элементам-якорям с идентификатором фрагмента, находящимся внутри такого контейнера, быть HTML-эквивалентом псевдоэлементов ::scroll-marker . Элемент-якорь, целевая область прокрутки которого в данный момент видна, может быть стилизован с помощью псевдокласса :target-current .

Включите функции counter() и counters() в альтернативном тексте свойства content .

Эта функция добавляет возможность использования counter() и counters() в альтернативном тексте свойства content . Это позволяет предоставлять более информативные данные для повышения доступности.

Псевдонимы переходов представления наследуют больше свойств анимации.

Теперь псевдодерево переходов между представлениями наследует ряд свойств анимации:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Включить вложенные переходы между представлениями

Эта функция позволяет создавать вложенное дерево псевдоэлементов для переходов между окнами, а не плоское дерево. Это позволяет переходу между окнами выглядеть более гармонично с исходными элементами и визуальным замыслом. Она обеспечивает обрезку, вложенные 3D-преобразования и корректное применение таких эффектов, как прозрачность, маскирование и фильтры.

Распространить overscroll-behavior области просмотра из корневого каталога.

Это изменение распространяет overscroll-behavior от корневого элемента, а не от элемента body. Рабочая группа CSS решила не передавать свойства из <body> в область просмотра. Вместо этого свойства области просмотра передаются от корневого элемента ( <html> ). Таким образом, overscroll-behavior должно передаваться от корневого элемента. Однако у Chrome давно существует проблема: он передает overscroll-behavior от <body> , а не от корневого элемента. Такое поведение несовместимо с другими браузерами. Это изменение позволяет Chrome соответствовать спецификации и стать совместимым с другими реализациями.

опция контейнера ScrollIntoView

Параметр ScrollIntoViewOptions позволяет разработчикам выполнять операцию scrollIntoView , которая прокручивает только ближайший родительский контейнер прокрутки. Например, следующий фрагмент кода прокручивает только контейнер прокрутки target , чтобы вывести target в поле зрения, но не прокручивает все контейнеры прокрутки до области просмотра:

target.scrollIntoView({container: 'nearest'});

Добавьте свойство CSS caret-animation

Chromium поддерживает анимацию свойства ` caret-color . Однако при анимации стандартное мигание курсора мешает процессу.

Свойство CSS caret-animation имеет два возможных значения: auto и manual . auto означает значение по умолчанию для браузера (мигание), а manual означает, что анимацией курсора управляет разработчик. Кроме того, пользователи, которых раздражают или у которых возникают негативные реакции на мигание или мерцание, могут отключить мигание с помощью пользовательской таблицы стилей.

highlightsFromPoint API FromPoint

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

Изменение вида Переход завершен обещание время

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

Добавьте атрибут источника события ToggleEvent

Атрибут source объекта ToggleEvent содержит элемент, который вызвал срабатывание ToggleEvent , если таковой имеется. Например, если пользователь щелкает по элементу <button> с атрибутом popovertarget или commandfor , установленным для открытия всплывающего окна, то атрибут source ToggleEvent , срабатывающего на всплывающем окне, будет установлен на вызвавший его элемент <button> .

Предотвратите попадание foreignObject SVG на холст из-за URL-адресов двоичных файлов.

Все браузеры давно поддерживают использование элемента <img> с источником SVG в операции drawImage на HTML-холсте. Однако поведение, связанное с «загрязнением» холста, различается на разных платформах. Все браузеры «загрязняют» холст, когда источник SVG включает тег foreignObject и на него ссылается HTTP URI. Когда тот же SVG ссылается через data URI, ни один браузер не «загрязняет» холст. Однако, когда используется blob URI, «загрязняют» холст как Chromium (до этого изменения), так и WebKit, но Gecko — нет. После внедрения этой функции поведение Chromium будет соответствовать поведению Gecko, что позволит использовать более широкий спектр SVG-контента в вызовах drawImage для холста без «загрязнения».

Поддерживайте дескриптор font-variation-settings в @font-face rule

CSS позволяет разработчикам настраивать толщину, ширину, наклон и другие параметры шрифта с помощью свойства ` font-variation-settings для отдельных элементов. Однако браузеры на основе Chromium не поддерживают это свойство в объявлениях @font-face . Эта функция поддерживает строковый синтаксис для font-variation-settings как определено в CSS Fonts Level 4. Недопустимые или нераспознанные теги функций игнорируются в соответствии со спецификацией. Бинарные или нестандартные формы не поддерживаются. Вариативные шрифты становятся все более распространенными как с точки зрения производительности, так и типографической гибкости. Добавление поддержки этого дескриптора в Chromium повышает контроль, уменьшает повторение и поддерживает более масштабируемый, современный подход к веб-типографике.

Веб-API

Преобразование Uint8Array в формат base64 и шестнадцатеричный формат и обратно.

Base64 — это распространённый способ представления произвольных двоичных данных в формате ASCII. В JavaScript для двоичных данных используются Uint8Arrays . Однако в нём отсутствует встроенный механизм для кодирования этих данных в формате Base64 или для преобразования данных Base64 в соответствующий массив Uint8Array . Эта функция добавляет возможность и методы для преобразования между шестнадцатеричными строками и Uint8Arrays .

Используйте параметр min объекта ReadableStreamBYOBReader

Эта функция добавляет параметр min в существующий метод ` ReadableStreamBYOBReader.read(view) . Метод уже принимает объект ` ArrayBufferView в который он считывает данные, но в настоящее время не гарантирует, сколько элементов будет записано до завершения чтения. Указав значение min , вы можете потребовать, чтобы поток ждал, пока не будет доступно как минимум это количество элементов, прежде чем завершить чтение. Это улучшает текущее поведение, когда чтение может завершиться с меньшим количеством элементов, чем может вместить представление.

В некоторых случаях на стороне сервера важно различать cookie-файлы, устанавливаемые сервером, и cookie-файлы, устанавливаемые клиентом. Один из таких случаев касается cookie-файлов, которые обычно всегда устанавливаются сервером. Однако неожиданный код (например, уязвимость XSS, вредоносное расширение или коммит от некомпетентного разработчика) может установить их на стороне клиента. Это предложение добавляет сигнал, позволяющий серверам проводить такое различие. Более конкретно, оно определяет префиксы __Http и __HostHttp , которые гарантируют, что cookie-файл не будет установлен на стороне клиента с помощью скрипта.

Ограничения доступа к локальной сети

В Chrome 140 ограничена возможность отправки запросов в локальную сеть пользователя, что требует запроса разрешения. Запрос в локальную сеть — это любой запрос с общедоступного веб-сайта на локальный IP-адрес или адрес замыкания (loopback), или с локального веб-сайта (например, интрасети) на адрес замыкания. Ограничение возможности веб-сайтов выполнять эти запросы за счет запроса разрешения снижает риск атак типа «подделка межсайтовых запросов» (CSRF) на локальные сетевые устройства, такие как маршрутизаторы. Это также уменьшает возможность использования этих запросов для идентификации локальной сети пользователя. Это разрешение ограничено безопасными контекстами. В случае предоставления разрешения также ослабляется блокировка смешанного контента для запросов в локальную сеть, поскольку многие локальные устройства по разным причинам не могут получить общедоступные доверенные TLS-сертификаты.

Подробнее см. в разделе «Новое поле запроса разрешений для доступа к локальной сети» .

Разрешить скриптам SharedWorker наследовать контроллер для URL-адресов скриптов BLOB-объектов.

В спецификации указано, что рабочие процессы должны наследовать контроллеры для URL-адреса BLOB-объекта. Однако существующий код позволяет наследовать контроллер только выделенным рабочим процессам; общие рабочие процессы этого не позволяют. Это исправляет поведение Chrome в соответствии со спецификацией. Эта функция управляется корпоративной политикой SharedWorkerBlobURLFixEnabled .

Добавить ServiceWorkerStaticRouterTimingInfo

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

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

  • RouterEvaluationStart : Начинается сопоставление запроса с зарегистрированными правилами маршрутизатора.
  • CacheLookupStart : Если источником является "cache" , то начинается поиск в хранилище кэша.

Кроме того, эта функция добавляет два элемента информации об источнике маршрутизатора: соответствующий источник маршрутизатора и конечный источник маршрутизатора.

Включить условное создание с использованием веб-аутентификации в Android (не входит в состав готовой версии).

Изолированные веб-приложения

Представляем API управляемых кадров.

Эта функция добавляет API для управления фреймами, доступный только для изолированных веб-приложений (IWA). Как и аналогичные API на других платформах, Controlled Frame позволяет встраивать любой контент, даже сторонний, который нельзя встроить в <iframe> . Controlled Frame также позволяет управлять встроенным контентом с помощью набора методов и событий API. Для получения дополнительной информации об изолированных веб-приложениях см. пояснение к изолированным веб-приложениям .

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

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

Добавьте событие clipboardchange

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

Включить уведомления о входящих звонках

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

Представляем API-интерфейс для создания отчетов о сбоях (ключ-значение).

Эта функция представляет новый API типа «ключ-значение», предварительно названный window.crashReport , основанный на карте для каждого документа, которая содержит данные, добавляемые к отчетам о сбоях.

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

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

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

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

Устаревшие специальные правила изменения размера шрифта для <h1> внутри некоторых элементов.

Спецификация HTML содержит список специальных правил для тегов <h1> вложенных в элементы <article> , <aside> , <nav> или <section> .

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