Хром 147

Дата выхода стабильной версии: 7 апреля 2026 года.

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

CSS и UI

Переходы между представлениями, ограниченные областью видимости элемента.

Предоставляет доступ element.startViewTransition() для произвольных HTML-элементов. Этот элемент задает область видимости для перехода, что означает, что псевдоэлементы перехода затрагиваются родительскими клипами и преобразованиями, и несколько переходов на отдельных элементах могут выполняться одновременно.

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

CSS contrast-color()

Эта функция помогает соответствовать требованиям к контрастности для обеспечения доступности.

Функцию contrast-color() можно использовать в любом месте CSS, где ожидается значение цвета. Она принимает аргумент значения цвета и возвращает либо 'black', либо 'white', в зависимости от того, какой из них обеспечивает наибольший контраст с заданным цветом.

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

Временная шкала, именованный диапазон scroll

Эта функция расширяет набор именованных диапазонов для временных шкал просмотра, добавляя диапазон scroll к существующему набору диапазонов entry , exit , cover и contain .

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

Свойство CSS border-shape

Свойство CSS border-shape позволяет создавать непрямоугольные границы любой произвольной формы, например, многоугольника, круга или shape() .

Хотя border-shape принимает те же формы, что и clip-path , он принципиально отличается. border-shape определяет форму границы, добавляет к ней элементы и обрезает только внутреннюю часть.

border-shape имеет два варианта: один для обводки фигуры, а другой для заливки пространства между двумя фигурами.

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

Интерфейс CSSPseudoElement

Интерфейс CSSPseudoElement представляет собой псевдоэлемент в JavaScript.

CSSPseudoElement возвращается из Element.pseudo(type) , где type в данный момент равен ::after , ::before или ::marker . CSSPseudoElement — это прокси-объект, представляющий псевдоэлемент. В отличие от псевдоэлемента, CSSPseudoElement существует всегда.

Объект CSSPseudoElement имеет следующие атрибуты и методы:

  • Атрибут type представляет собой строку, обозначающую тип псевдоэлемента.
  • Атрибут element указывает на конечный исходный элемент псевдоэлемента.
  • Атрибут parent обозначает исходный элемент псевдоэлемента (либо Element , либо CSSPseudoElement для вложенных псевдоэлементов).
  • Метод pseudo(type) извлекает вложенные псевдоэлементы.

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

Псевдоцель для событий

В настоящее время для конкретных событий используется свойство ` .pseudoTarget , которое принимает значение либо CSSPseudoElement (если взаимодействие происходило с псевдоэлементом), либо null .

Это предоставляет более конкретную информацию об источнике события. Например, указывается, что был нажат псевдоэлемент ::after , а не просто исходный элемент ( Event.target ). Обратите внимание, что Event.target остается неизменным, поэтому событие содержит только дополнительную информацию о взаимодействии с псевдоэлементом.

К числу событий относятся UIEvent , AnimationEvent и TransitionEvent .

mouseover , mouseout , mouseenter , mouseleave и их аналоги pointer* пока не поддерживаются.

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

Разделите свойства *-width и *-style

В Chrome 147 обновлены спецификации CSS для поведения свойств border-width , outline-width и column-rule-width . Ранее, если для соответствующего border-style , outline-style или column-rule-style было установлено значение none или hidden , вычисленная ширина этих свойств принудительно устанавливалась равной 0px , независимо от указанного значения.

Благодаря этому изменению вычисленные значения border-width , outline-width и column-rule-width всегда будут соответствовать значениям, указанным автором, независимо от свойства *-style . Кроме того, полученные значения (возвращаемые функцией getComputedStyle() ) для outline-width и column-rule-width также будут соответствовать указанным значениям.

Это изменение приводит Chrome в соответствие с Firefox и WebKit, которые уже реализовали подобное поведение.

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

Поддержка атрибута path для элемента SVG <textPath>

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

Элемент <textPath> определяет геометрию текстового пути, используя следующие правила:

  1. Если присутствуют и path , и href , геометрия определяется по атрибуту path .
  2. Если присутствует и успешно обрабатывается только атрибут path , используется встроенное определение пути.
  3. Если атрибут path отсутствует или не удается его обработать, и указан атрибут href , в качестве запасного варианта используется элемент <path> на который есть ссылка.
  4. Существующее поведение href -only сохраняется без изменений.

Данная реализация соответствует определению атрибута path в <textPath> согласно спецификации SVG 2. Поведение разрешения соответствует другим браузерным движкам, что улучшает совместимость и соответствие стандартам. Примечание: Если в <textPath> указаны и path , и href , то, согласно спецификации SVG 2, приоритет имеет path .

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

Устройство

Обнаружение плоскостей WebXR

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

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

ДОМ

Добавляет поддержку модулей JSON и стилей в качестве целевых объектов <link rel="modulepreload"> . <link rel="modulepreload"> уже поддерживается в Chromium (см. функцию Chromestatus ), но в настоящее время она поддерживает только предварительную загрузку скриптов модулей, подобных скриптам. Эта функция устраняет пробел в функциональности, поскольку скрипты модулей JSON и CSS поддерживаются в Chromium в других местах, но не в качестве целевых объектов <link rel="modulepreload"> >. Вы можете предварительно загружать модули стилей с помощью <link rel="modulepreload" as="style" href="..."> и модули JSON с помощью <link rel="modulepreload" as="json" href="..."> .

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

Анализ XML-данных на Rust для сценариев без использования XSLT.

Реализует парсер XML на Rust для сценариев, где не требуется обработка XSLT.

Парсер XML на Rust повышает безопасность, устраняя ошибки повреждения памяти при разборе XML. Он заменяет использование libxml2 (написанной на C) безопасной альтернативой.

Мы прекращаем поддержку XSLT. Пока этот процесс продолжается, вы уже можете использовать безопасный синтаксический анализ XML в Rust в тех случаях, когда XSLT не требуется.

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

Графика

Слои WebXR

WebXR Layers предлагает более эффективный способ создания иммерсивного контента.

Помимо поддержки собственных цветовых и глубинных текстур, а также массивов текстур, она также обеспечивает поддержку различных типов слоев, которыми управляет системный композитор (в отличие от JavaScript).

Tracking bug #409255534 | ChromeStatus.com entry | Spec

JavaScript

Math.sumPrecise

Реализует предложение TC39 о добавлении метода суммирования нескольких значений в JavaScript.

Добавьте метод Math.sumPrecise , принимающий итерируемый объект и возвращающий сумму значений в итерируемом объекте, используя более точный алгоритм, чем наивное суммирование.

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

Сеть / Подключение

Атрибут Request.isReloadNavigation

Добавляет в интерфейс Request API Fetch атрибут isReloadNavigation boolean только для чтения. Этот атрибут указывает, был ли текущий запрос навигации инициирован пользователем как перезагрузка (например, с помощью кнопки «Обновить» , location.reload() или history.go(0) ). Этот сигнал в основном отображается в объекте Request в FetchEvent объекта Service Worker.

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

Производительность

Обновление ограничений API памяти устройства

Внесены изменения в набор возможных значений для API памяти устройства:

  • Android: 1, 2, 4, 8
  • Другие: 2, 4, 8, 16, 32. Эти значения заменяют старые значения 0,25, 0,5, 1, 2, 4 и 8, которые устарели.

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

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

Доступ к локальной сети (LNA)

For more information about LNA, see Local Network Access .

Ограничения доступа к локальной сети для сервис-воркера WindowClient.navigate()

Недавно были добавлены ограничения доступа к локальной сети (LNA), чтобы предотвратить односторонние запросы веб-сайтов к локальным сетям и локальным устройствам. Эти ограничения были добавлены для запросов на получение данных, инициированных сервис-воркерами, но не для навигации, которую сервис-воркеры выполняют через WindowClient.navigate() .

В этом обновлении этот пробел устранен за счет добавления ограничений LNA к вызовам WindowClient.navigate() . Он использует WindowClient в качестве инициатора навигации, чтобы определить, является ли навигация запросом LNA.

Это применимо только в том случае, если используемый WindowClient является подфреймом. В настоящее время Chrome не применяет никаких ограничений LNA к навигации по мейнфреймам.

Запись на ChromeStatus.com

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

Ограничивает возможность отправки запросов в локальную сеть пользователя с использованием WebTransport, доступ к которому осуществляется после запроса разрешения.

Запрос к локальной сети — это любой запрос с общедоступного веб-сайта на локальный IP-адрес или в область замыкания (loopback), или с локального веб-сайта (например, интрасети) в область замыкания. Ограничение возможности веб-сайтов выполнять эти запросы за определенными правами доступа снижает возможности сайтов использовать эти запросы для идентификации локальной сети пользователя.

Данное разрешение доступно только в защищенных контекстах.

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

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

Ограничения доступа к локальной сети (LNA) теперь распространяются и на WebSockets. Соединения WebSockets с локальными адресами теперь вызывают запросы на предоставление разрешений.

Все действующие корпоративные политики LNA по-прежнему распространяются на ограничения LNA WebSockets ( LocalNetworkAccessAllowedForUrls , LocalNetworkAccessBlockedForUrls и LocalNetworkAccessRestrictionsTemporaryOptOut ).

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

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

API веб-печати

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

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

Этот API предоставляет набор методов JavaScript, позволяющих разработчикам запрашивать информацию о локальных принтерах, отправлять задания на печать на наиболее подходящие принтеры, а также управлять параметрами и статусом заданий на печать. Для представления этих концепций используются имена атрибутов и семантика из спецификаций протокола интернет-печати (IPP).

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

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

Пререндеринг iframe из разных источников

Предварительно отображает iframe-элементы из разных источников, используя заголовок ответа с подтверждением согласия.

Теперь браузеры предварительно отображают все кросс-доменные фреймы, если HTTP-ответ фрейма верхнего уровня содержит Supports-Loading-Mode: prerender-cross-origin-frames .

Тестирование Origin | Отслеживание ошибки #440387014 | Запись на ChromeStatus.com | Спецификация

Событие автозаполнения

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

Эта функция добавляет событие autofill , которое позволяет разработчикам изменять свои формы в соответствии с автоматически заполненными данными и уведомлять браузер об этом.

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

ВебНН

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

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

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

Удалите встроенный XSLT для создания SVG-файлов.

Специально созданный XML-файл может содержать таблицу стилей XSL, которая преобразует стандартные XML-данные в файл SVG.

Например, см. gist.github.com .

Это частный случай обработки XSLT, который, согласно недавно введенным счетчикам использования XSLPIInSVGImage (идентификатор счетчика использования 5777) и XSLPIInSVGStandaloneDoc (идентификатор счетчика использования 5778), мы считаем практически несуществующим в веб-среде. Мы хотим объявить его устаревшим и удалить, прежде чем полностью отказаться от XSLT.

Это обновление внедряется синхронно с экспериментальным тестированием XML-парсера на основе Rust. В Chrome 147 оно не будет сразу же развернуто на 100%.

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