Опубликовано: 1 мая 2025 г.
Если не указано иное, следующие изменения относятся к новейшей версии бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о функциях, перечисленных здесь, по предоставленным ссылкам или из списка на ChromeStatus.com. Chrome 130 является бета-версией по состоянию на 30 апреля 2025 г. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android.
CSS и пользовательский интерфейс
В этом выпуске добавлено семь новых функций CSS и пользовательского интерфейса.
Функция if()
Функция CSS if()
обеспечивает краткий способ выражения условных значений. Он принимает серию пар условие-значение, разделенных точкой с запятой. Функция последовательно оценивает каждое условие и возвращает значение, связанное с первым истинным условием. Если ни одно из условий не имеет значения true, функция возвращает пустой поток токенов. Это позволяет выражать сложную условную логику простым и кратким способом. Пример:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Свойства reading-flow
и reading-order
Свойство CSS reading-flow
управляет порядком, в котором элементы в гибком, сеточном или блочном макете подвергаются воздействию инструментов специальных возможностей и фокусируются с помощью навигации по фокусу с помощью клавиатуры табуляции. Он принимает одно из следующих значений ключевого слова:
-
normal
-
flex-visual
-
flex-flow
-
grid-rows
-
grid-columns
-
grid-order
-
source-order
CSS reading-order
позволяет вручную переопределить порядок внутри контейнера потока чтения. Это целое число со значением по умолчанию 0.
Чтобы узнать больше, прочтите «Используйте поток чтения CSS для логической последовательной навигации по фокусу» и попробуйте несколько примеров потока чтения .
offset-path: shape()
Функция shape()
уже поддерживается в clip-path
и обеспечивает быстрое обрезку. Включение этого параметра также для offset-path
закрывает небольшой пробел, где для этого свойства можно использовать ту же самую форму.
Поддержка атрибута преобразования в SVGSVGElement
Эта функция позволяет применять свойства преобразования, такие как масштабирование, вращение, перемещение и наклон, непосредственно к корневому элементу <svg>
, используя его атрибут преобразования. Это усовершенствование позволяет манипулировать всей системой координат SVG или ее содержимым в целом, обеспечивая большую гибкость при создании динамической, адаптивной и интерактивной векторной графики. Поддерживая этот атрибут, элемент SVG можно преобразовать, не требуя дополнительных элементов-оболочек или сложных обходных решений CSS, что упрощает процесс создания масштабируемой и анимированной веб-графики.
Разрешите <use>
ссылаться на корневой элемент внешнего документа, опуская фрагмент.
В этой функции мы оптимизируем элемент SVG <use>
, ослабляя требования к ссылкам. В настоящее время вам необходимо явно ссылаться на фрагменты в документе SVG. Если идентификатор фрагмента не указан, <use>
не сможет разрешить цель, и ничего не будет визуализировано или передано.
Благодаря этой функции пропуск фрагментов или простое указание имени внешнего SVG-файла будет автоматически ссылаться на корневой элемент, что устраняет необходимость изменять указанный документ только для присвоения идентификатора корневому элементу. Это усовершенствование упрощает процесс ручного редактирования и повышает эффективность.
Системный цвет акцента для свойства accent-color
расширенного до Windows и ChromeOS.
Это позволяет использовать цвет акцента операционной системы для элементов формы. Используя свойство CSS accent-color
, вы можете гарантировать, что элементы формы, такие как флажки, переключатели и индикаторы выполнения, автоматически примут цвет акцента, определенный операционной системой пользователя. Это поддерживается в macOS с 2021 года, а теперь поддерживается в Windows и ChromeOS.
view-transition-name: match-element
Значение match-element
для свойства view-transition
генерирует уникальный идентификатор на основе идентификатора элемента и остается неизменным для этого элемента. Это используется в случаях одностраничного приложения, когда элемент перемещается и вы хотите анимировать его с помощью перехода вида.
Веб-API
Тип ошибки выравнивания, возникающий при создании учетных данных WebAuthn для «платежа»
Исправляет тип ошибки, возникающий при создании учетных данных WebAuthn для payment
учетных данных. Из-за исторического несоответствия спецификации создание payment
учетных данных в iframe с несколькими источниками без активации пользователя приведет к выдаче SecurityError
вместо NotAllowedError
, которое выдается для учетных данных неплатежа. Это кардинальное изменение. Код, который ранее обнаружил тип возникшей ошибки (например, e instanceof SecurityError
), будет затронут. Код, который обычно обрабатывает ошибки во время создания учетных данных (например, catch (e)
), продолжит работать правильно.
Разделение URL-адресов больших двоичных объектов: выборка/навигация
В качестве продолжения разделения хранилища здесь реализовано разделение доступа к URL-адресу BLOB-объекта по ключу хранилища (сайт верхнего уровня, происхождение фрейма и логическое значение has-cross-site-ancestor
), за исключением навигации верхнего уровня, которая останется секционированной только по происхождению фрейма.
Это изменение можно временно отменить, установив политику PartitionedBlobURLUsage
. Эта политика станет устаревшей, когда устареют другие корпоративные политики, связанные с разделением хранилища.
Стеки вызовов в отчетах о сбоях с не отвечающих веб-страниц
Эта функция захватывает стек вызовов JavaScript, когда веб-страница перестает отвечать на запросы из-за выполнения кода JavaScript в бесконечном цикле или других очень длительных вычислений. Это помогает разработчикам определить причину зависания и упростить ее устранение. Стек вызовов JavaScript включается в API отчетов о сбоях, когда причина не отвечает.
Типы цветов холста с плавающей запятой
Предоставляет возможность использовать форматы пикселей с плавающей запятой (в отличие от 8-битной фиксированной точки) с CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
и ImageData
. Это необходимо для высокоточных приложений (например, медицинской визуализации), содержимого с высоким динамическим диапазоном и линейных рабочих цветовых пространств.
Запретить ненадежный предварительный рендеринг HTTP в виде открытого текста
В настоящее время предварительная обработка разрешена через HTTP и HTTPS, а предварительная выборка работает только через HTTPS. Ограничьте предварительный рендеринг, чтобы он соответствовал предварительной выборке.
Политика изоляции документов
Document-Isolation-Policy
позволяет документу включать crossOriginIsolation
для себя без необходимости развертывания COOP или COEP и независимо от состояния crossOriginIsolation
страницы. Эта политика подкреплена изоляцией процессов. Кроме того, подресурсы документа, не относящиеся к CORS, будут либо загружены без учетных данных, либо должны будут иметь заголовок CORP.
Узнайте больше в разделе «Политика изоляции документов: с легкостью активируйте мощные веб-функции» .
Ed25519 в веб-криптографии
Эта функция добавляет поддержку алгоритмов Curve25519 в API веб-криптографии, а именно алгоритма подписи Ed25519.
Регистрация и отчетность по IP-адресам
Chrome Enterprise расширяет возможности мониторинга безопасности и реагирования на инциденты, собирая и сообщая о локальных и удаленных IP-адресах и отправляя эти IP-адреса в журналы расследования безопасности (SIT). Кроме того, Chrome Enterprise позволит администраторам при необходимости отправлять IP-адреса поставщикам 1P и 3P SIEM с помощью соединителя отчетов Chrome Enterprise. Это будет доступно для клиентов Chrome Enterprise Core.
Интеграция обещаний JavaScript
Интеграция обещаний JavaScript (JSPI) — это API, который позволяет приложениям WebAssembly интегрироваться с обещаниями JavaScript. Это позволяет программе WebAssembly выступать в качестве генератора промисов и позволяет программе WebAssembly взаимодействовать с API-интерфейсами, несущими промисы. В частности, когда приложение использует JSPI для вызова API-интерфейса Promise (JavaScript), код WebAssembly приостанавливается; и исходному вызывающему программу WebAssembly дается обещание, которое будет выполнено, когда программа WebAssembly окончательно завершится.
API детектора языка
API детектора языка — это API JavaScript, который определяет язык предоставленной строки. Этот API поддерживается базовой моделью, которая точно настроена для выполнения задач по определению языка.
При наличии строки API-интерфейс детектора языков возвращает упорядоченный список обнаруженных языков вместе с показателем достоверности для каждого результата.
При желании разработчики могут передать список ожидаемых языков ввода при создании экземпляра Language Detector, чтобы оптимизировать его для случаев использования, когда ожидается, что обнаружение будет выполняться на определенных языках.
Ограничить атрибуты и аргументы с плавающей запятой в SVGMatrix
, SVGRect
и SVGPoint
При установке атрибутов или аргументов с плавающей запятой в SVGMatrix
, SVGRect
и SVGPoint
вы теперь не можете установить для них значение Infinity
или Nan
. При попытке установить исключение JavaScript выдается исключение, как определено в спецификации SVG.
API выбора getComposedRanges
и direction
Эта функция предоставляет два новых метода API для Selection API:
-
Selection.direction
, который возвращает направление выделения:"none"
,"forward"
или"backward"
-
Selection.getComposedRanges()
, который возвращает список из 0 или 1 «составного»StaticRange
«Составленному» StaticRange
разрешено пересекать границы тени, чего не могут сделать обычные Ranges.
Например:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Если выделение пересекает границу теневого корня, которая не указана в списке shadowRoots
, конечные точки StaticRange
будут «перераспределены», чтобы оказаться за пределами этого дерева. Это гарантирует, что мы не обнажим неизвестные теневые деревья.
Расширения области веб-приложения
Добавляет поле манифеста веб- scope_extensions
, которое позволяет веб-приложениям расширять свою область действия на другие источники.
Пример:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
Это позволяет сайтам, управляющим несколькими поддоменами и доменами верхнего уровня, быть представленными как одно веб-приложение.
Требуется, чтобы указанные источники подтвердили связь с веб-приложением с помощью файла конфигурации .well-known/web-app-origin-association
{
"https://sample-app.com/": {
"scope": "/"
}
}
Подсказки ветвей WebAssembly
Повышает производительность скомпилированного кода WebAssembly, сообщая механизму, что конкретная инструкция ветвления, скорее всего, будет следовать по определенному пути. Это позволяет движку принимать более правильные решения по компоновке кода (улучшая попадание в кэш инструкций) и распределению регистров.
WebGPU: GPUTextureView
для привязки externalTexture
GPUTextureView
теперь можно использовать для привязки externalTexture
при создании GPUBindGroup
.
WebGPU: перегрузка copyBufferToBuffer
Метод GPUCommandEncoder
copyBufferToBuffer()
теперь включает более простой способ копирования целых буферов с использованием новой перегрузки с дополнительными параметрами смещения и размера.
Новые испытания происхождения
В Chrome 137 вы можете принять участие в следующих новых пробных версиях Origin .
Атрибут блокировки рендеринга с полной частотой кадров
Добавляет новый токен блокировки рендеринга с полной частотой кадров к атрибутам блокировки. Когда средство рендеринга заблокировано с помощью токена полной частоты кадров, средство рендеринга будет работать с более низкой частотой кадров, чтобы зарезервировать больше ресурсов для загрузки.
Приостановить воспроизведение мультимедиа на неотрисованных iframe
Добавляет политику разрешений "media-playback-while-not-rendered"
позволяющую веб-сайтам для внедрения приостанавливать воспроизведение мультимедиа встроенных iframe, которые не визуализируются, то есть иметь для свойства «display» значение «none». Это должно позволить разработчикам создавать более удобный для пользователя интерфейс, а также повысить производительность, позволяя браузеру обрабатывать воспроизведение контента, который не виден пользователям.
API перезаписи
API Rewriter преобразует и перефразирует входной текст запрошенными способами, опираясь на языковую модель искусственного интеллекта на устройстве. Разработчики могут использовать этот API для удаления избыточности в тексте, чтобы уложиться в ограничение на количество слов, перефразировать сообщения в соответствии с целевой аудиторией или сделать сообщение более конструктивным, если в сообщении используется токсичный язык, перефразировать сообщение или статью, чтобы использовать более простые слова и концепции и многое другое.
API писателя
API Writer можно использовать для написания нового материала при наличии подсказки о задании написание, поддерживаемой языковой моделью искусственного интеллекта на устройстве. Разработчики смогут использовать этот API для создания текстовых объяснений структурированных данных, составления публикации о продукте на основе обзоров или описания продукта, расширения списков «за» и «против» до полных представлений и многого другого.
,Опубликовано: 1 мая 2025 г.
Если не указано иное, следующие изменения относятся к новейшей версии бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о функциях, перечисленных здесь, по предоставленным ссылкам или из списка на ChromeStatus.com. Chrome 130 является бета-версией по состоянию на 30 апреля 2025 г. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android.
CSS и пользовательский интерфейс
В этом выпуске добавлено семь новых функций CSS и пользовательского интерфейса.
Функция if()
Функция CSS if()
обеспечивает краткий способ выражения условных значений. Он принимает серию пар условие-значение, разделенных точкой с запятой. Функция последовательно оценивает каждое условие и возвращает значение, связанное с первым истинным условием. Если ни одно из условий не имеет значения true, функция возвращает пустой поток токенов. Это позволяет выражать сложную условную логику простым и кратким способом. Пример:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Свойства reading-flow
и reading-order
Свойство CSS reading-flow
управляет порядком, в котором элементы в гибком макете, сетке или блоке подвергаются воздействию инструментов специальных возможностей и фокусируются с помощью навигации по фокусу с помощью клавиатуры табуляции. Он принимает одно из следующих значений ключевого слова:
-
normal
-
flex-visual
-
flex-flow
-
grid-rows
-
grid-columns
-
grid-order
-
source-order
CSS reading-order
позволяет вручную переопределить порядок внутри контейнера потока чтения. Это целое число со значением по умолчанию 0.
Чтобы узнать больше, прочтите «Используйте поток чтения CSS для логической последовательной навигации по фокусу» и попробуйте несколько примеров потока чтения .
offset-path: shape()
Функция shape()
уже поддерживается в clip-path
и обеспечивает быстрое обрезку. Включение этого параметра также для offset-path
закрывает небольшой пробел, где для этого свойства можно использовать ту же самую форму.
Поддержка атрибута преобразования в SVGSVGElement
Эта функция позволяет применять свойства преобразования, такие как масштабирование, вращение, сдвиг и наклон, непосредственно к корневому элементу <svg>
, используя его атрибут преобразования. Это усовершенствование позволяет вам манипулировать всей системой координат SVG или ее содержимым в целом, обеспечивая большую гибкость при создании динамической, адаптивной и интерактивной векторной графики. Поддерживая этот атрибут, элемент SVG можно преобразовать, не требуя дополнительных элементов-оболочек или сложных обходных решений CSS, что упрощает процесс создания масштабируемой и анимированной веб-графики.
Разрешите <use>
ссылаться на корневой элемент внешнего документа, опуская фрагмент.
В этой функции мы оптимизируем элемент SVG <use>
, ослабляя требования к ссылкам. В настоящее время вам необходимо явно ссылаться на фрагменты в документе SVG. Если идентификатор фрагмента не указан, <use>
не сможет разрешить цель, и ничего не будет визуализировано или передано.
Благодаря этой функции пропуск фрагментов или простое указание внешнего имени SVG-файла будет автоматически ссылаться на корневой элемент, что устраняет необходимость изменять указанный документ только для присвоения идентификатора корню. Это усовершенствование упрощает процесс ручного редактирования и повышает эффективность.
Системный цвет акцента для свойства accent-color
расширенного до Windows и ChromeOS.
Это позволяет использовать цвет акцента операционной системы для элементов формы. Используя свойство CSS accent-color
, вы можете гарантировать, что элементы формы, такие как флажки, переключатели и индикаторы выполнения, автоматически примут цвет акцента, определенный операционной системой пользователя. Это поддерживается в macOS с 2021 года, а теперь поддерживается в Windows и ChromeOS.
view-transition-name: match-element
Значение match-element
для свойства view-transition
генерирует уникальный идентификатор на основе идентификатора элемента и остается неизменным для этого элемента. Это используется в случаях одностраничного приложения, когда элемент перемещается и вы хотите анимировать его с помощью перехода вида.
Веб-API
Тип ошибки выравнивания, возникающий при создании учетных данных WebAuthn для «платежа»
Исправляет тип ошибки, возникающий при создании учетных данных WebAuthn для payment
учетных данных. Из-за исторического несоответствия спецификации создание payment
учетных данных в iframe с несколькими источниками без активации пользователя приведет к выдаче SecurityError
вместо NotAllowedError
, которое выдается для учетных данных неплатежа. Это кардинальное изменение. Код, который ранее обнаружил тип возникшей ошибки (например, e instanceof SecurityError
), будет затронут. Код, который обычно обрабатывает ошибки во время создания учетных данных (например, catch (e)
), продолжит работать правильно.
Разделение URL-адресов больших двоичных объектов: выборка/навигация
В качестве продолжения разделения хранилища здесь реализуется разделение доступа к URL-адресу BLOB-объекта по ключу хранилища (сайт верхнего уровня, происхождение фрейма и логическое значение has-cross-site-ancestor
), за исключением навигации верхнего уровня, которая останется секционированной только по происхождению фрейма.
Это изменение можно временно отменить, установив политику PartitionedBlobURLUsage
. Эта политика станет устаревшей, когда устареют другие корпоративные политики, связанные с разделением хранилища.
Стеки вызовов в отчетах о сбоях с не отвечающих веб-страниц
Эта функция захватывает стек вызовов JavaScript, когда веб-страница перестает отвечать на запросы из-за выполнения кода JavaScript в бесконечном цикле или других очень длительных вычислений. Это помогает разработчикам определить причину зависания и упростить ее устранение. Стек вызовов JavaScript включается в API отчетов о сбоях, когда причина не отвечает.
Типы цветов холста с плавающей запятой
Предоставляет возможность использовать форматы пикселей с плавающей запятой (в отличие от 8-битной фиксированной точки) с CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
и ImageData
. Это необходимо для высокоточных приложений (например, медицинской визуализации), содержимого с высоким динамическим диапазоном и линейных рабочих цветовых пространств.
Запретить ненадежный предварительный рендеринг HTTP в виде открытого текста
В настоящее время предварительная обработка разрешена через HTTP и HTTPS, а предварительная выборка работает только через HTTPS. Ограничьте предварительный рендеринг, чтобы он соответствовал предварительной выборке.
Политика изоляции документов
Document-Isolation-Policy
позволяет документу включать crossOriginIsolation
для себя без необходимости развертывания COOP или COEP и независимо от состояния crossOriginIsolation
страницы. Эта политика подкреплена изоляцией процессов. Кроме того, подресурсы документа, не относящиеся к CORS, будут либо загружены без учетных данных, либо должны будут иметь заголовок CORP.
Узнайте больше в разделе «Политика изоляции документов: с легкостью активируйте мощные веб-функции» .
Ed25519 в веб-криптографии
Эта функция добавляет поддержку алгоритмов Curve25519 в API веб-криптографии, а именно алгоритма подписи Ed25519.
Регистрация и отчетность по IP-адресам
Chrome Enterprise расширяет возможности мониторинга безопасности и реагирования на инциденты, собирая и сообщая о локальных и удаленных IP-адресах и отправляя эти IP-адреса в журналы расследования безопасности (SIT). Кроме того, Chrome Enterprise позволит администраторам при необходимости отправлять IP-адреса поставщикам 1P и 3P SIEM с помощью соединителя отчетов Chrome Enterprise. Это будет доступно для клиентов Chrome Enterprise Core.
Интеграция обещаний JavaScript
Интеграция обещаний JavaScript (JSPI) — это API, который позволяет приложениям WebAssembly интегрироваться с обещаниями JavaScript. Это позволяет программе WebAssembly выступать в качестве генератора промисов и позволяет программе WebAssembly взаимодействовать с API-интерфейсами, несущими промисы. В частности, когда приложение использует JSPI для вызова API-интерфейса Promise (JavaScript), код WebAssembly приостанавливается; и исходному вызывающему программу WebAssembly дается обещание, которое будет выполнено, когда программа WebAssembly окончательно завершится.
API детектора языка
API детектора языка — это API JavaScript, который определяет язык предоставленной строки. Этот API поддерживается базовой моделью, которая точно настроена для выполнения задач по определению языка.
При наличии строки API-интерфейс детектора языков возвращает упорядоченный список обнаруженных языков вместе с показателем достоверности для каждого результата.
При желании разработчики могут передать список ожидаемых языков ввода при создании экземпляра Language Detector, чтобы оптимизировать его для случаев использования, когда ожидается, что обнаружение будет выполняться на определенных языках.
Ограничить атрибуты и аргументы с плавающей запятой в SVGMatrix
, SVGRect
и SVGPoint
При установке атрибутов или аргументов с плавающей запятой в SVGMatrix
, SVGRect
и SVGPoint
вы теперь не можете установить для них значение Infinity
или Nan
. При попытке установить исключение JavaScript выдается исключение, как определено в спецификации SVG.
API выбора getComposedRanges
и direction
Эта функция предоставляет два новых метода API для Selection API:
-
Selection.direction
, который возвращает направление выделения:"none"
,"forward"
или"backward"
-
Selection.getComposedRanges()
, который возвращает список из 0 или 1 «составного»StaticRange
«Составленному» StaticRange
разрешено пересекать границы тени, чего не могут сделать обычные Ranges.
Например:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Если выделение пересекает границу теневого корня, которая не указана в списке shadowRoots
, конечные точки StaticRange
будут «перераспределены», чтобы оказаться за пределами этого дерева. Это гарантирует, что мы не обнажим неизвестные теневые деревья.
Расширения области веб-приложения
Добавляет поле манифеста веб- scope_extensions
, которое позволяет веб-приложениям расширять свою область действия на другие источники.
Пример:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
Это позволяет сайтам, управляющим несколькими поддоменами и доменами верхнего уровня, быть представленными как одно веб-приложение.
Требуется, чтобы указанные источники подтвердили связь с веб-приложением с помощью файла конфигурации .well-known/web-app-origin-association
{
"https://sample-app.com/": {
"scope": "/"
}
}
Подсказки ветвей WebAssembly
Повышает производительность скомпилированного кода WebAssembly, сообщая механизму, что конкретная инструкция ветвления, скорее всего, будет следовать по определенному пути. Это позволяет движку принимать более правильные решения по компоновке кода (улучшая попадание в кэш инструкций) и распределению регистров.
WebGPU: GPUTextureView
для привязки externalTexture
GPUTextureView
теперь можно использовать для привязки externalTexture
при создании GPUBindGroup
.
WebGPU: перегрузка copyBufferToBuffer
Метод GPUCommandEncoder
copyBufferToBuffer()
теперь включает более простой способ копирования целых буферов с использованием новой перегрузки с дополнительными параметрами смещения и размера.
Новые испытания происхождения
В Chrome 137 вы можете принять участие в следующих новых пробных версиях Origin .
Атрибут блокировки рендеринга с полной частотой кадров
Добавляет новый токен блокировки рендеринга с полной частотой кадров к атрибутам блокировки. Когда средство рендеринга заблокировано с помощью токена полной частоты кадров, средство рендеринга будет работать с более низкой частотой кадров, чтобы зарезервировать больше ресурсов для загрузки.
Приостановить воспроизведение мультимедиа на неотрисованных iframe
Добавляет политику разрешений "media-playback-while-not-rendered"
позволяющую веб-сайтам для внедрения приостанавливать воспроизведение мультимедиа встроенных iframe, которые не визуализируются, то есть иметь для свойства «display» значение «none». Это должно позволить разработчикам создавать более удобный для пользователя интерфейс, а также повысить производительность, позволяя браузеру обрабатывать воспроизведение контента, который не виден пользователям.
API перезаписи
API Rewriter преобразует и перефразирует входной текст запрошенными способами, опираясь на языковую модель искусственного интеллекта на устройстве. Разработчики могут использовать этот API для удаления избыточности в тексте, чтобы уложиться в ограничение на количество слов, перефразировать сообщения в соответствии с целевой аудиторией или сделать сообщение более конструктивным, если в сообщении используется токсичный язык, перефразировать сообщение или статью, чтобы использовать более простые слова и концепции и многое другое.
API писателя
API Writer можно использовать для написания нового материала при наличии подсказки о задании написание, поддерживаемой языковой моделью искусственного интеллекта на устройстве. Разработчики смогут использовать этот API для создания текстовых объяснений структурированных данных, составления публикации о продукте на основе обзоров или описания продукта, расширения списков «за» и «против» до полных представлений и многого другого.
,Опубликовано: 1 мая 2025 г.
Если не указано иное, следующие изменения относятся к новейшей версии бета-канала Chrome для Android, ChromeOS, Linux, macOS и Windows. Узнайте больше о функциях, перечисленных здесь, по предоставленным ссылкам или из списка на ChromeStatus.com. Chrome 130 является бета-версией по состоянию на 30 апреля 2025 г. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android.
CSS и пользовательский интерфейс
В этом выпуске добавлено семь новых функций CSS и пользовательского интерфейса.
Функция if()
Функция CSS if()
обеспечивает краткий способ выражения условных значений. Он принимает серию пар условие-значение, разделенных точкой с запятой. Функция последовательно оценивает каждое условие и возвращает значение, связанное с первым истинным условием. Если ни одно из условий не имеет значения true, функция возвращает пустой поток токенов. Это позволяет выражать сложную условную логику простым и кратким способом. Пример:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Свойства reading-flow
и reading-order
Свойство CSS reading-flow
управляет порядком, в котором элементы в гибком макете, сетке или блоке подвергаются воздействию инструментов специальных возможностей и фокусируются с помощью навигации по фокусу с помощью клавиатуры табуляции. Он принимает одно из следующих значений ключевого слова:
-
normal
-
flex-visual
-
flex-flow
-
grid-rows
-
grid-columns
-
grid-order
-
source-order
CSS reading-order
позволяет вручную переопределить порядок внутри контейнера потока чтения. Это целое число со значением по умолчанию 0.
Чтобы узнать больше, прочтите «Используйте поток чтения CSS для логической последовательной навигации по фокусу» и попробуйте несколько примеров потока чтения .
offset-path: shape()
Функция shape()
уже поддерживается в clip-path
и обеспечивает быстрое обрезку. Включение этого параметра также для offset-path
закрывает небольшой пробел, где для этого свойства можно использовать ту же самую форму.
Поддержка атрибута преобразования в SVGSVGElement
Эта функция позволяет применять свойства преобразования, такие как масштабирование, вращение, сдвиг и наклон, непосредственно к корневому элементу <svg>
, используя его атрибут преобразования. Это усовершенствование позволяет вам манипулировать всей системой координат SVG или ее содержимым в целом, обеспечивая большую гибкость при создании динамической, адаптивной и интерактивной векторной графики. Поддерживая этот атрибут, элемент SVG можно преобразовать, не требуя дополнительных элементов-оболочек или сложных обходных решений CSS, что упрощает процесс создания масштабируемой и анимированной веб-графики.
Разрешите <use>
ссылаться на корневой элемент внешнего документа, опуская фрагмент.
В этой функции мы оптимизируем элемент SVG <use>
, ослабляя требования к ссылкам. В настоящее время вам необходимо явно ссылаться на фрагменты в документе SVG. Если идентификатор фрагмента не указан, <use>
не сможет разрешить цель, и ничего не будет визуализировано или передано.
Благодаря этой функции пропуск фрагментов или простое указание внешнего имени SVG-файла будет автоматически ссылаться на корневой элемент, что устраняет необходимость изменять указанный документ только для присвоения идентификатора корню. Это усовершенствование упрощает процесс ручного редактирования и повышает эффективность.
Системный цвет акцента для свойства accent-color
расширенного до Windows и ChromeOS.
Это позволяет использовать цвет акцента операционной системы для элементов формы. Используя свойство CSS accent-color
, вы можете гарантировать, что элементы формы, такие как флажки, переключатели и индикаторы выполнения, автоматически примут цвет акцента, определенный операционной системой пользователя. Это поддерживается в macOS с 2021 года, а теперь поддерживается в Windows и ChromeOS.
view-transition-name: match-element
Значение match-element
для свойства view-transition
генерирует уникальный идентификатор на основе идентификатора элемента и остается неизменным для этого элемента. Это используется в случаях одностраничного приложения, когда элемент перемещается и вы хотите анимировать его с помощью перехода вида.
Веб-API
Тип ошибки выравнивания, возникающий при создании учетных данных WebAuthn для «платежа»
Исправляет тип ошибки, возникающий при создании учетных данных WebAuthn для payment
учетных данных. Из-за исторического несоответствия спецификации создание payment
учетных данных в iframe с несколькими источниками без активации пользователя приведет к выдаче SecurityError
вместо NotAllowedError
, которое выдается для учетных данных неплатежа. Это кардинальное изменение. Код, который ранее обнаружил тип возникшей ошибки (например, e instanceof SecurityError
), будет затронут. Код, который обычно обрабатывает ошибки во время создания учетных данных (например, catch (e)
), продолжит работать правильно.
Разделение URL-адресов больших двоичных объектов: выборка/навигация
В качестве продолжения разделения хранилища здесь реализуется разделение доступа к URL-адресу BLOB-объекта по ключу хранилища (сайт верхнего уровня, происхождение фрейма и логическое значение has-cross-site-ancestor
), за исключением навигации верхнего уровня, которая останется секционированной только по происхождению фрейма.
Это изменение можно временно отменить, установив политику PartitionedBlobURLUsage
. Эта политика станет устаревшей, когда устареют другие корпоративные политики, связанные с разделением хранилища.
Стеки вызовов в отчетах о сбоях с не отвечающих веб-страниц
Эта функция захватывает стек вызовов JavaScript, когда веб-страница перестает отвечать на запросы из-за выполнения кода JavaScript в бесконечном цикле или других очень длительных вычислений. Это помогает разработчикам определить причину зависания и упростить ее устранение. Стек вызовов JavaScript включается в API отчетов о сбоях, когда причина не отвечает.
Типы цветов холста с плавающей запятой
Предоставляет возможность использовать форматы пикселей с плавающей запятой (в отличие от 8-битной фиксированной точки) с CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
и ImageData
. Это необходимо для высокоточных приложений (например, медицинской визуализации), содержимого с высоким динамическим диапазоном и линейных рабочих цветовых пространств.
Запретить ненадежный предварительный рендеринг HTTP в виде открытого текста
В настоящее время предварительная обработка разрешена через HTTP и HTTPS, а предварительная выборка работает только через HTTPS. Ограничьте предварительный рендеринг, чтобы он соответствовал предварительной выборке.
Политика изоляции документов
Document-Isolation-Policy
позволяет документу включать crossOriginIsolation
для себя без необходимости развертывания COOP или COEP и независимо от состояния crossOriginIsolation
страницы. Эта политика подкреплена изоляцией процессов. Кроме того, подресурсы документа, не относящиеся к CORS, будут либо загружены без учетных данных, либо должны будут иметь заголовок CORP.
Узнайте больше в разделе «Политика изоляции документов: с легкостью активируйте мощные веб-функции» .
Ed25519 в веб-криптографии
Эта функция добавляет поддержку алгоритмов Curve25519 в API веб-криптографии, а именно алгоритма подписи Ed25519.
Регистрация и отчетность по IP-адресам
Chrome Enterprise расширяет возможности мониторинга безопасности и реагирования на инциденты, собирая и сообщая о локальных и удаленных IP-адресах и отправляя эти IP-адреса в журналы расследования безопасности (SIT). Кроме того, Chrome Enterprise позволит администраторам при необходимости отправлять IP-адреса поставщикам 1P и 3P SIEM с помощью соединителя отчетов Chrome Enterprise. Это будет доступно для клиентов Chrome Enterprise Core.
Интеграция обещаний JavaScript
Интеграция обещаний JavaScript (JSPI) — это API, который позволяет приложениям WebAssembly интегрироваться с обещаниями JavaScript. Это позволяет программе WebAssembly выступать в качестве генератора промисов и позволяет программе WebAssembly взаимодействовать с API-интерфейсами, несущими промисы. В частности, когда приложение использует JSPI для вызова API-интерфейса Promise (JavaScript), код WebAssembly приостанавливается; и исходному вызывающему программу WebAssembly дается обещание, которое будет выполнено, когда программа WebAssembly окончательно завершится.
API детектора языка
API детектора языка — это API JavaScript, который определяет язык предоставленной строки. Этот API поддерживается базовой моделью, которая точно настроена для выполнения задач по определению языка.
Учитывая строку, API детектора языка возвращает упорядоченный список обнаруженных языков, а также оценку доверия для каждого результата.
Необязательно, разработчики могут пройти в список ожидаемых языков ввода при создании экземпляра детектора языка, чтобы помочь оптимизировать для вариантов использования, когда ожидается, что обнаружение будет выполнено на определенных языках.
Ограничить атрибуты и аргументы плавания на SVGMatrix
, SVGRect
и SVGPoint
При настройке атрибутов или аргументов на SVGMatrix
, SVGRect
и SVGPoint
вы теперь не можете установить их как Infinity
или Nan
. Исключение JavaScript бросается, если вы попытаетесь установить его, как определено в спецификации SVG.
Отбор API getComposedRanges
и direction
Эта функция отправляет два новых метода API для отбора API:
-
Selection.direction
, который возвращает направление выбора как"none"
,"forward"
или"backward"
-
Selection.getComposedRanges()
, который возвращает список из 0 или 1 "составленного"StaticRange
«Скомпонентный» StaticRange
разрешается пересекать границы тени, которые не могут нормальные диапазоны.
Например:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Если выбор пересекает границу корня тени, которая не предоставлена в списке shadowRoots
, то конечные точки StaticRange
будут «спасены», чтобы быть за пределами этого дерева. Это гарантирует, что мы не выставляем неизвестные теневые деревья.
Расширения сбора веб -приложений
Добавляет поле веб -приложения scope_extensions
, которое позволяет веб -приложениям расширять свои возможности на другие происхождения.
Пример:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
Это позволяет представлено сайты, которые управляют несколькими субдоменами и доменами верхнего уровня в виде единого веб -приложения.
Требуется перечисленное происхождение для подтверждения связи с веб-приложением с использованием файла конфигурации .well-known/web-app-origin-association
.
{
"https://sample-app.com/": {
"scope": "/"
}
}
Веб -ассемблера филиала намекает
Улучшает производительность скомпилированного кода webassembly, информируя двигатель, что конкретная филиальная инструкция, скорее всего, пойдет на определенный путь. Это позволяет двигателю принимать лучшие решения для макета кода (улучшение хитов кэша инструкций) и регистрации.
WebGPU: GPUTextureView
для привязки externalTexture
Теперь разрешено использовать GPUTextureView
для привязки externalTexture
при создании GPUBindGroup
.
WebGPU: copyBufferToBuffer
перегрузка
Метод GPUCommandEncoder
copyBufferToBuffer()
теперь включает в себя более простой способ копирования целых буферов, используя новую перегрузку с дополнительными смещениями и параметрами размера.
Новые испытания происхождения
В Chrome 137 вы можете выбрать следующие новые испытания происхождения .
Атрибут блокировки рендеринга полной кадры
Добавляет новый токен для блокировки, к блокирующим атрибутам. Когда визуализатор блокируется с токеном с полнокадровой скоростью, рендерер будет работать с более низкой частотой кадров, чтобы зарезервировать больше ресурсов для загрузки.
Пауза воспроизведение медиа на неровных iframes
Добавляет "media-playback-while-not-rendered"
чтобы позволить веб-сайтам Encedder приостановить воспроизведение средств массовой информации во внедренных iframes, которые не визуализированы, то есть, есть их" дисплей ", установленное« нет ». Это должно позволить разработчикам создавать более удобный опыт, а также улучшить производительность, позволяя браузеру обрабатывать воспроизведение контента, который не виден для пользователей.
Переписать API
API переписывания преобразует и перефразирует ввод текста запрашиваемыми способами, подкрепленным языком ИИ настройки. Разработчики могут использовать этот API для удаления избыточных средств в тексте, чтобы вписаться в предел слова, перефразировать сообщения в соответствии с предполагаемой аудиторией или быть более конструктивным, если обнаружено, что сообщение использует токсичный язык, перефразируя пост или статью, чтобы использовать более простые слова, концепции и многое другое.
Писатель API
Автор API может быть использован для написания нового материала, учитывая операцию по написанию задачи, подкрепленную моделью языка ИИ настройки. Разработчики смогут использовать этот API для генерации текстовых объяснений структурированных данных, составляя сообщение о продукте, основанном на обзорах или описании продукта, расширяя списки Pro и Con в полные представления и многое другое.