Chrome 142 бета

Опубликовано: 1 октября 2025 г.

Если не указано иное, эти изменения относятся к бета-версии Chrome 142 для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше об этих функциях по предоставленным ссылкам или на сайте ChromeStatus.com. Загрузите бета-версию Chrome 142 с сайта Google.com для ПК или из Google Play Store для Android.

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

Псевдоклассы :target-before и :target-after

Эти псевдоклассы соответствуют маркерам прокрутки, которые находятся до или после активного маркера (соответствующего :target-current ) в пределах одной группы маркеров прокрутки, как определено порядком плоского дерева:

  • :target-before : Соответствует всем маркерам прокрутки, которые предшествуют активному маркеру в порядке плоского дерева внутри группы.
  • :target-after : Соответствует всем маркерам прокрутки, которые следуют за активным маркером в порядке плоского дерева внутри группы.

Абсолютное позиционирование для элемента ::view-transition

Переходы между представлениями используют псевдоподдерево элемента, при этом ::view-transition является корнем этого перехода. Ранее элемент ::view-transition имел свойство position: fixed . Рабочая группа CSS приняла решение сделать position: absolute , и Chrome теперь учитывает это изменение.

Это изменение не должно быть заметным, поскольку содержащий этот элемент блок остаётся блоком, содержащим снимок, как в абсолютном, так и в фиксированном случае. Единственное заметное отличие — в getComputedStyle .

свойство activeViewTransition в документе

API View Transitions позволяет разработчикам запускать визуальные переходы между различными состояниями. Основной точкой входа в SPA является startViewTransition() , который возвращает объект перехода. Этот объект содержит несколько обещаний и функций для отслеживания хода перехода, а также позволяет управлять переходами, например, пропуская переход или изменяя его типы.

Начиная с Chrome 142 разработчикам больше не нужно хранить этот объект. Этот объект представлен свойством document.activeViewTransition или null , если переход не выполняется.

Это также относится к переходам MPA, где объект доступен только через события pageswap и pagereveal . В этом обновлении document.activeViewTransition устанавливается на этот объект на время перехода.

Синтаксис диапазона для запросов контейнера стилей и if()

Chrome улучшает запросы в стиле CSS и функцию if() , добавляя поддержку синтаксиса диапазона.

Он расширяет возможности стилевых запросов за пределы точного соответствия значений (например, style(--theme: dark) ). Разработчики могут использовать операторы сравнения (например, > и < ) для сравнения пользовательских свойств, литеральных значений (например, 10px или 25%) и значений из функций подстановки, таких как attr() и env() . Для корректного сравнения обе стороны должны разрешаться в один и тот же тип данных. Он ограничен следующими числовыми типами: <length> , <number> , <percentage> , <angle> , <time> , <frequency> , и <resolution> .

Примеры:

Сравните пользовательское свойство с буквальной длиной:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

Сравнение двух буквенных значений

@container style(1em < 20px) {
  /* ... */
}

Использование диапазонов стилей в if() :

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

Вызывающие интерес (атрибут interestfor )

Chrome добавляет атрибут interestfor к элементам <button> и <a> . Этот атрибут добавляет элементу поведение, определяющее «интерес». Когда пользователь проявляет интерес к элементу, на целевом элементе запускаются действия, например, отображается всплывающее окно. Пользовательский агент определяет, проявляет ли пользователь интерес к элементу, с помощью таких методов, как наведение указателя мыши на элемент, нажатие специальных горячих клавиш на клавиатуре или долгое нажатие на элемент на сенсорных экранах. При появлении или потере интереса для целевого элемента срабатывает событие InterestEvent , которое имеет стандартные действия для всплывающих окон, например, отображение и скрытие всплывающего окна.

Свойство font-language-override

В Chrome появилась поддержка CSS-свойства font-language-override . Это свойство позволяет разработчикам переопределять системный язык, используемый для подстановки глифов OpenType, указав четырёхсимвольный языковой тег непосредственно в CSS.

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

Атрибут download в элементе SVG <a>

Chrome добавляет поддержку атрибута download в интерфейс SVGAElement , что соответствует спецификации SVG 2. Атрибут download позволяет авторам указывать, что он загружает целевой объект гиперссылки SVG, а не переходит к нему. Это отражает поведение, уже поддерживаемое в HTMLAnchorElement . Это способствует совместимости между основными браузерами и обеспечивает единообразное поведение элементов HTML и SVG <a> , а также улучшает взаимодействие с разработчиками и оправдывает ожидания пользователей.

Соответствие мобильных и настольных устройств для выбранных режимов рендеринга элементов

Используя size и атрибуты multiple , элемент <select> можно отобразить как внутристраничный список или кнопку со всплывающим окном. Однако эти режимы не всегда доступны в мобильной и десктопной версии Chrome. Отображение внутристраничного списка недоступно на мобильных устройствах, а кнопка со всплывающим окном недоступна на десктопах при наличии атрибута multiple .

Это обновление добавляет список на мобильные устройства и всплывающее окно с множественным выбором на компьютеры, а также гарантирует, что выбор size и multiple атрибутов приводит к одинаковому режиму отображения на мобильных устройствах и компьютерах. Изменения кратко изложены ниже:

  • Если атрибут size имеет значение больше 1 , всегда используется внутристраничный рендеринг. Раньше мобильные устройства игнорировали это.
  • Если задан атрибут multiple без атрибута size , используется внутристраничный рендеринг. Ранее на мобильных устройствах вместо списка на странице использовалось всплывающее окно.
  • Если атрибут multiple установлен с size=1 , используется всплывающее окно. На настольных устройствах ранее использовался список на странице.

Закрепленная активация пользователя при навигации, инициированной рендерером того же источника

Chrome сохраняет состояние «прилипшей» активации пользователя после перехода со страницы на другую страницу того же источника. Отсутствие активации пользователя на странице после навигации препятствует некоторым сценариям использования, например, отображению виртуальной клавиатуры при автофокусировке. Это затрудняет разработку многостраничных приложений (MPA) на основе одностраничных приложений (SPA).

Это не распространяется на навигационные запросы, инициированные браузером (перезагрузка, навигация по истории, ввод URL в адресной строке и т. д.).

Веб-API

WebGPU: функция primitive_index

WebGPU добавляет новую дополнительную возможность, которая предоставляет доступ к новому встроенному шейдеру WGSL — primitive_index . Он предоставляет индекс для каждого примитива для фрагментных шейдеров на поддерживаемом оборудовании, аналогичный встроенным vertex_index и instance_index . Индекс примитива полезен для сложных графических технологий, таких как виртуализированная геометрия.

WebGPU: Форматы текстур tier1 и tier2

Расширьте поддержку форматов текстур GPU с помощью таких возможностей, как присоединение рендера, смешивание, мультисэмплинг, разрешение и привязка к хранилищу.

Свойство DataTransfer для событий ввода insertFromPaste , insertFromDrop и insertReplacementText

Заполните свойство dataTransfer для событий ввода значениями inputType insertFromPaste , insertFromDrop и insertReplacementText чтобы обеспечить доступ к буферу обмена и перетаскиваемым данным во время операций редактирования в элементах contenteditable.

Объект dataTransfer содержит те же данные, которые были доступны во время события beforeinput .

Эта функция применима только к элементам, доступным для редактирования контента. Для элементов управления формы (textarea , input ) поведение остаётся неизменным.

Это свойство обеспечивает взаимодействие Chrome с Safari и Firefox.

Медиа-сеанс: добавьте причину для входа в детали действия enterpictureinpicture

Добавляет enterPictureInPictureReason к MediaSessionActionDetails , передаваемому действию enterpictureinpicture в API Media Session. Это позволяет разработчикам различать действия enterpictureinpicture , вызванные явно пользователем (например, нажатием кнопки в пользовательском агенте), и действия enterpictureinpicture вызванные автоматически пользовательским агентом из-за перекрытия контента.

Контекстное смещение API Web Speech

Это обновление позволяет веб-сайтам поддерживать контекстное смещение для распознавания речи путем добавления списка фраз распознавания в API Web Speech.

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

Более строгая проверка токена MIME *+json для модулей JSON

Отклонять ответы скриптов JSON-модулей, тип или подтип MIME которых содержит кодовые точки, отличные от HTTP-токенов (например, пробелы), при сопоставлении с *+json . Это соответствует спецификации MIME Sniffing и другим механизмам. Это входит в область внимания модулей Interop2025.

FedCM — поддержка отображения сторонних источников iframe в пользовательском интерфейсе.

До Chrome 142 FedCM всегда отображал сайт верхнего уровня в своем пользовательском интерфейсе.

Это хорошо работает, когда iframe концептуально является основным (например, foo.com может иметь iframe foostatic.com , который не имеет смысла для пользователя).

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

Изоляция процесса с ключом происхождения

Изменяет политику изоляции процессов с блокировки процессов на сайте (например, example.com ) на их блокировку на определенном источнике (например, foo.example.com ).

Для дальнейшего повышения безопасности Chrome переходит на более детальную модель изоляции процессов под названием «Изоляция источника». Chrome использовал «Изоляцию сайта», которая объединяла различные источники одного сайта, например, a.example.com и b.example.com , в единый процесс рендеринга.

Благодаря изоляции источника каждый отдельный источник (например, https://foo.example.com ) изолируется в собственном процессе рендеринга. Это укрепляет архитектуру безопасности Chrome, согласуя границы процессов с фундаментальной моделью безопасности Интернета, основанной на источнике, обеспечивая более надежную защиту от потенциальных уязвимостей на сайтах.

Интероперабельные события pointerrawupdate , доступные только в безопасных контекстах

Спецификация PointerEvents в 2020 году ограничила pointerrawupdate безопасными контекстами, скрывая как запуск событий, так и глобальные прослушиватели событий от небезопасных контекстов. Благодаря этому обновлению Chrome соответствует обновлённой спецификации и становится совместимым с другими популярными браузерами.

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

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

Учетные данные сеанса, привязанные к устройству

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

Он позволяет серверам безопасно привязывать сеанс к устройству. Браузер периодически обновляет сеанс по запросу сервера, подтверждая наличие закрытого ключа.

Пул сокетов TCP для каждого сайта верхнего уровня

В этом эксперименте оценивается влияние изменения размера пула TCP-сокетов для каждого профиля с 256 (по умолчанию) до 513 с добавлением ограничения 256 для каждого сайта верхнего уровня (чтобы гарантировать, что никакие две вкладки не исчерпают весь пул). Возможность увеличения ограничения до 512 для каждого профиля была изучена и не дала отрицательных результатов. Ограничение 256 для каждого сайта верхнего уровня равно ограничению по умолчанию для каждого профиля, поэтому оно не должно отрицательно влиять на производительность. Эти ограничения устанавливаются независимо для пула WebSocket и пула обычных сокетов (HTTP).

Цель состоит в том, чтобы немедленно запустить этот эксперимент, если не возникнет никаких негативных последствий.