Chrome 135 бета, Chrome 135 бета

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

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

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

В этом выпуске добавлено тринадцать новых функций CSS и пользовательского интерфейса.

Позиционирование привязки с запоминанием смещения прокрутки

Добавьте поддержку концепции запоминаемого смещения прокрутки . Когда позиционированный элемент имеет привязку по умолчанию и привязан к этой привязке на одном краю и к исходному содержащему блоку на другом краю, смещение прокрутки будет учитываться при определении размера элемента. Это означает, что вы можете использовать все видимое пространство (используя position-area ) для привязанного элемента, когда документ прокручивается с заданным смещением прокрутки. Чтобы избежать макета (изменения размера элемента) каждый раз при прокрутке документа, браузер использует запомненное смещение прокрутки , а не всегда использует текущее смещение прокрутки. Запомненное смещение прокрутки обновляется в точке пересчета привязки , которая является либо позицией, в которой изначально отображается позиционированный элемент, либо когда выбран другой вариант позиции ( position-try-fallbacks ).

CSS-инертность

Если сделать элемент инертным, это повлияет на то, можно ли его фокусировать, редактировать, выбирать и использовать для поиска с помощью функции поиска на странице. Это также влияет на то, будет ли он виден в дереве доступности. Свойство interactivity определяет, являются ли элемент и его потомки в виде плоского дерева (включая текстовые фрагменты) инертными или нет. Свойство interactivity принимает одно из двух значений: auto или inert .

Свойства логического переполнения

Свойства CSS overflow-inline и overflow-block позволяют установить переполнение в строке и направлении блока относительно режима записи. В горизонтальном режиме записи overflow-inline отображается в overflow-x , а в вертикальном режиме записи — в overflow-y .

Функции, связанные со знаком, ​abs() и sign() вычисляют различные функции, связанные со знаком их аргумента.

Свойство dynamic-range-limit

Позволяет странице ограничить максимальную яркость HDR-контента.

Функция shape()

Функция shape() позволяет использовать адаптивные фигуры произвольной формы в свойстве clip-path . Он позволяет вам определить серию команд, эквивалентных командам в path() . Однако команды принимают адаптивные единицы измерения (например, % или vw ), а также любые значения CSS, такие как пользовательские свойства.

Псевдоэлемент ::column

Псевдоэлемент ::column , позволяющий применять ограниченный набор стилей к сгенерированным фрагментам. В частности, это ограничено стилями, которые не влияют на макет и, следовательно, могут применяться после макета.

Псевдоэлементы ::scroll-button()

Разрешить создание интерактивных кнопок прокрутки в качестве псевдоэлементов. Например:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Они должны быть фокусируемыми и вести себя как кнопки (включая их стили UA). При активации следует производить прокрутку в сторону на некоторую величину. Если прокрутка в этом направлении невозможна, их следует отключить (и стилизовать с помощью :disabled ), в противном случае они должны быть включены (и стилизованы с помощью :enabled ). Селектор позволяет определять кнопки в четырех логических направлениях: block-start , block-end , inline-start , inline-end ; а также четыре физических направления: up , down , left , right .

::scroll-marker и ::scroll-marker-group

Добавляет ::scroll-marker и ::scroll-marker-group для прокрутки контейнеров. Эти псевдоэлементы позволяют создавать набор фокусируемых маркеров для всех связанных элементов внутри контейнера прокрутки.

Стилизация вложенных псевдоэлементов

Позволяет стилизовать псевдоэлементы, вложенные в другие псевдоэлементы. На данный момент поддержка определена для: ::before::marker и ::after::marker , а ::column::scroll-marker будет поддерживаться в будущем.

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

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

Функциональные обозначения прогресса интерполяции: функции CSS *progress()

Функциональные обозначения progress() , media-progress() container-progress() представляют собой пропорциональное расстояние данного значения (значения прогресса) от одного значения (начального значения прогресса) до другого значения (конечного значения прогресса). Они позволяют отображать коэффициент прогресса на основе математических функций, медиа-функций и функций контейнера соответственно.

safe-area-max-inset- * переменные

В дополнение к переменным среды safe-area-inset Chrome теперь также поддерживает варианты этих переменных max-area-safe-inset- *. В отличие от динамических вставок, максимальные вставки не изменяются и представляют собой максимально возможную вставку безопасной области.

Эти значения необходимы при создании высокопроизводительного сквозного веб-интерфейса.

Веб-API

Добавьте поддержку MediaStreamTrack в API веб-речи.

Добавьте поддержку MediaStreamTrack в API веб-речи. Web Speech API — это веб-стандартный API, который позволяет разработчикам включать распознавание и синтез речи в свои веб-страницы. В настоящее время API веб-речи использует микрофон пользователя по умолчанию в качестве аудиовхода. Поддержка MediaStreamTrack позволяет веб-сайтам использовать API Web Speech для субтитров из других источников звука, включая удаленные звуковые дорожки.

Разделение URL-адресов больших двоичных объектов: получение и навигация

В качестве продолжения разделения хранилища эта функция реализует разделение доступа к URL-адресу BLOB-объекта по ключу хранилища (сайт верхнего уровня, происхождение фрейма и логическое значение has-cross-site-ancestor), за исключением навигации верхнего уровня, которая останется секционированной только по происхождению фрейма.

CSP require-sri-for для сценариев

Директива require-sri-for дает вам возможность утверждать, что каждый ресурс данного типа должен быть проверен на целостность. Если будет предпринята попытка загрузки ресурса этого типа без метаданных целостности, эта попытка завершится неудачей и вызовет отчет о нарушении CSP. Это намерение охватывает значение "script" этой директивы.

Создать клиент сервисного работника и наследовать контроллер сервисного работника для srcdoc iframe.

Контекстные документы Srcdoc в настоящее время не являются клиентами сервис-воркера и не покрываются их родительским сервис-воркером. Это приводит к некоторым расхождениям (например, Resource Timing сообщает URL-адреса, которые загружают эти документы, но сервис-воркер не перехватывает их). Это направлено на устранение несоответствий путем создания клиентов Service Worker для iframe srcdoc и заставить их наследовать контроллер Service Worker своего родителя.

Отправка событий клика на захваченный указатель

Если указатель захватывается во время отправки события pointerup , событие click будет отправлено захваченной цели вместо ближайшего общего предка событий pointerdown и pointerup согласно спецификации событий пользовательского интерфейса. Для незахваченных указателей цель click остается неизменной.

Float16Array

Добавляет типизированный массив Float16Array . Числовые значения округляются до IEEE fp16 при записи в экземпляры Float16Array .

Включение инициатора навигации в ключ раздела кэша HTTP

Схема ключей HTTP-кеша Chrome была обновлена ​​и теперь включает логическое значение is-cross-site-main-frame-navigation для предотвращения атак межсайтовой утечки, включающих навигацию верхнего уровня. В частности, это предотвратит межсайтовые атаки, при которых злоумышленник может инициировать навигацию верхнего уровня на заданную страницу, а затем перейти к ресурсу, который, как известно, загружается страницей, чтобы получить конфиденциальную информацию по времени загрузки. Это изменение также повышает конфиденциальность, не позволяя вредоносному сайту использовать навигацию для определения того, посещал ли пользователь данный сайт ранее.

Предотвращение отслеживания HSTS

Уменьшает отслеживание пользователей третьими лицами через кэш HSTS.

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

Команды Invoker: command и commandfor для атрибутов

Атрибуты command и commandfor для элементов <button> позволяют назначать поведение кнопкам более доступным и декларативным способом, одновременно уменьшая количество ошибок и упрощая объем JavaScript, необходимого для интерактивности. Кнопки с атрибутами commandfor и command — при нажатии, касании или нажатии клавиши — отправляют CommandEvent на элемент, на который ссылается commandfor , с некоторыми поведениями по умолчанию, такими как открытие диалоговых окон и всплывающих окон.

Добавляет поддержку <link rel="facilitated-payment" href="..."> как подсказку о том, что браузер должен уведомлять зарегистрированных платежных клиентов об ожидающем принудительном платеже.

Свойство sourceElement NavigateEvent

Когда навигация инициируется элементом (то есть щелчком ссылки или отправкой формы), свойство sourceElement в NavigateEvent вернет инициирующий элемент.

Изменение имени причины API NotRestoredReasons

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

API веб-речи на устройстве

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

URL-адрес клиента Service Worker игнорирует изменения history.pushState

Изменяет свойство Client.url сервисного работника, чтобы игнорировать изменения URL-адреса документа с помощью history.pushState() и других подобных API-интерфейсов истории. Свойство Client.url предназначено для использования в качестве URL-адреса создания HTML-документа, который игнорирует такие изменения.

Поддержка атрибутов rel и relList для SVGAElement

Интерфейс SVGAElement в SVG 2.0 позволяет манипулировать элементами <a> аналогично элементам привязки HTML. Поддержка атрибутов rel и relList повышает безопасность и конфиденциальность для разработчиков. Такое согласование с элементами привязки HTML обеспечивает согласованность и простоту использования веб-технологий.

Временные метки для кадров в кодировке RTC

Эта функция заключается в предоставлении Интернету некоторых временных меток, которые присутствуют в кадрах, закодированных WebRTC, передаваемых через RTCPeerConnection. Речь идет о временных метках:

  • Временная метка захвата: временная отметка, когда кадр был первоначально захвачен.
  • Временная метка получения: временная метка получения кадра.

Обновите ProgressEvent , чтобы использовать двойной тип для «загружено» и «всего».

ProgressEvent имеет loaded и total атрибуты, указывающие прогресс, и их тип теперь unsigned long long . Благодаря этой функции тип этих двух атрибутов вместо этого изменяется на double , что дает разработчику больше контроля над значением. Например, теперь разработчики могут создать ProgressEvent с total значением 1 и постепенно увеличивать loaded от 0 до 1. Это соответствует поведению HTML-элемента <progress> по умолчанию, если атрибут max опущен.

API-интерфейс fetchLater

API fetchLater() — это API JavaScript для запроса отложенной выборки, что особенно полезно для более надежного маяка в конце жизненного цикла страницы. После вызова в документе отложенный запрос ставится браузером в очередь в состоянии ОЖИДАНИЕ и будет вызван при наступлении самого раннего из следующих условий:

Документ уничтожен. По истечении указанного пользователем времени. По соображениям конфиденциальности все ожидающие запросы будут удалены, когда документ попадет в bfcache, независимо от того, сколько времени осталось. Браузер решает, что пришло время отправить его.

API возвращает FetchLaterResult , содержащий activated логическое поле, которое можно обновить, чтобы определить, был ли отправлен отложенный запрос или нет. При успешной отправке весь ответ будет проигнорирован браузером, включая тело и заголовки.

Обратите внимание, что с точки зрения пользователя API точное время отправки неизвестно.

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

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

Инвокеры интересов

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

Целостность на основе подписи

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

Устаревания и удаления

В этой версии Chrome представлены устаревшие и удаленные версии, перечисленные ниже. Посетите ChromeStatus.com, чтобы просмотреть списки запланированных, текущих и предыдущих удалений.

В этом выпуске Chrome исключена одна функция.

Устаревшие методы получения информации о международном локали

API Intl Locale Info — это предложение ECMAScript TC39 этапа 3 по расширению объекта Intl.Locale путем предоставления информации о языковом стандарте, такой как данные недели (первый день недели, день начала выходных, день окончания выходных, минимальный день в первой неделе) и часовой цикл направления текста, используемый в языковом стандарте. Chrome представил реализацию в Chrome 99, однако предложение было изменено, чтобы переместить несколько геттеров в функции. Нам нужно удалить устаревшие геттеры и перезапустить переименованные функции.

В этом выпуске Chrome удалены три функции.

Удалить устаревший метод navigator.xr.supportsSession

navigator.xr.supportsSession был заменен в спецификации WebXR методом navigator.xr.isSessionSupported в сентябре 2019 года после получения отзывов о форме API от TAG. С тех пор в Chrome он был помечен как устаревший, что привело к появлению предупреждения на консоли, перенаправляющего разработчиков на обновленный API. Использование этого вызова очень мало, и было подтверждено, что все основные платформы, используемые для создания контента WebXR, были обновлены для использования нового вызова.

Удалить свойство NavigateEvent canTransition

В Chrome 108 метод transitionWhile() и свойство canTransition NavigateEvent были заменены новым методом intercept() и свойством canIntercept . В то время метод transitionWhile() был удален. Однако мы забыли удалить свойство canTransition : вместо этого мы оставили его в качестве псевдонима для canIntercept . В Chrome 135 мы исправили это и удалили canTransition . Любое использование canTransition можно заменить на canIntercept без каких-либо изменений в поведении.

Удалить ограничение WebGPU maxInterStageShaderComponents

Ограничение maxInterStageShaderComponents снимается по ряду причин:

  • Избыточность с помощью maxInterStageShaderVariables : это ограничение уже служит аналогичной цели, контролируя объем данных, передаваемых между этапами шейдера.
  • Незначительные несоответствия. Хотя существуют небольшие различия в способах расчета этих двух пределов, эти различия незначительны и ими можно эффективно управлять в maxInterStageShaderVariables limit .
  • Упрощение. Удаление maxInterStageShaderComponents упрощает интерфейс шейдера и упрощает работу разработчиков. Вместо управления двумя отдельными ограничениями (которые оба применяются одновременно, но с небольшими различиями) они могут сосредоточиться на более подходящем названии и всеобъемлющем maxInterStageShaderVariables .
,

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

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

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

В этом выпуске добавлено тринадцать новых функций CSS и пользовательского интерфейса.

Позиционирование привязки с запоминанием смещения прокрутки

Добавьте поддержку концепции запоминаемого смещения прокрутки . Когда позиционируемый элемент имеет привязку по умолчанию и привязан к этой привязке на одном краю и к исходному содержащему блоку на другом краю, смещение прокрутки будет учитываться при определении размера элемента. Это означает, что вы можете использовать все видимое пространство (используя position-area ) для привязанного элемента, когда документ прокручивается с заданным смещением прокрутки. Чтобы избежать макета (изменения размера элемента) каждый раз при прокрутке документа, браузер использует запомненное смещение прокрутки , а не всегда использует текущее смещение прокрутки. Запомненное смещение прокрутки обновляется в точке пересчета привязки , которая является либо позицией, в которой изначально отображается позиционированный элемент, либо когда выбран другой вариант позиции ( position-try-fallbacks ).

CSS-инертность

Если сделать элемент инертным, это повлияет на то, можно ли его фокусировать, редактировать, выбирать и использовать для поиска с помощью функции поиска на странице. Это также влияет на то, будет ли он виден в дереве доступности. Свойство interactivity определяет, являются ли элемент и его потомки в виде плоского дерева (включая текстовые фрагменты) инертными или нет. Свойство interactivity принимает одно из двух значений: auto или inert .

Свойства логического переполнения

Свойства CSS overflow-inline и overflow-block позволяют установить переполнение в строке и направлении блока относительно режима записи. В горизонтальном режиме записи overflow-inline отображается в overflow-x , а в вертикальном режиме записи — в overflow-y .

Функции, связанные со знаком, ​abs() и sign() вычисляют различные функции, связанные со знаком их аргумента.

Свойство dynamic-range-limit

Позволяет странице ограничить максимальную яркость HDR-контента.

Функция shape()

Функция shape() позволяет использовать адаптивные фигуры произвольной формы в свойстве clip-path . Он позволяет вам определить серию команд, эквивалентных командам в path() . Однако команды принимают адаптивные единицы измерения (например, % или vw ), а также любые значения CSS, такие как пользовательские свойства.

Псевдоэлемент ::column

Псевдоэлемент ::column , позволяющий применять ограниченный набор стилей к сгенерированным фрагментам. В частности, это ограничено стилями, которые не влияют на макет и, следовательно, могут применяться после макета.

Псевдоэлементы ::scroll-button()

Разрешить создание интерактивных кнопок прокрутки в качестве псевдоэлементов. Например:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Они должны быть фокусируемыми и вести себя как кнопки (включая их стили UA). При активации следует производить прокрутку в сторону на некоторую величину. Если прокрутка в этом направлении невозможна, их следует отключить (и стилизовать с помощью :disabled ), в противном случае они должны быть включены (и стилизованы с помощью :enabled ). Селектор позволяет определять кнопки в четырех логических направлениях: block-start , block-end , inline-start , inline-end ; а также четыре физических направления: up , down , left , right .

::scroll-marker и ::scroll-marker-group

Добавляет ::scroll-marker и ::scroll-marker-group для прокрутки контейнеров. Эти псевдоэлементы позволяют создавать набор фокусируемых маркеров для всех связанных элементов внутри контейнера прокрутки.

Стилизация вложенных псевдоэлементов

Позволяет стилизовать псевдоэлементы, вложенные в другие псевдоэлементы. На данный момент поддержка определена для: ::before::marker и ::after::marker , а ::column::scroll-marker будет поддерживаться в будущем.

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

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

Функциональные обозначения прогресса интерполяции: функции CSS *progress()

Функциональные обозначения progress() , media-progress() container-progress() представляют собой пропорциональное расстояние данного значения (значения прогресса) от одного значения (начального значения прогресса) до другого значения (конечного значения прогресса). Они позволяют отображать коэффициент прогресса на основе математических функций, медиа-функций и функций контейнера соответственно.

safe-area-max-inset- * переменные

В дополнение к переменным среды safe-area-inset Chrome теперь также поддерживает варианты этих переменных max-area-safe-inset- *. В отличие от динамических вставок, максимальные вставки не изменяются и представляют собой максимально возможную вставку безопасной области.

Эти значения необходимы при создании высокопроизводительного сквозного веб-интерфейса.

Веб-API

Добавьте поддержку MediaStreamTrack в API веб-речи.

Добавьте поддержку MediaStreamTrack в API веб-речи. Web Speech API — это веб-стандартный API, который позволяет разработчикам включать распознавание и синтез речи в свои веб-страницы. В настоящее время API веб-речи использует микрофон пользователя по умолчанию в качестве аудиовхода. Поддержка MediaStreamTrack позволяет веб-сайтам использовать API Web Speech для субтитров из других источников звука, включая удаленные звуковые дорожки.

Разделение URL-адресов больших двоичных объектов: получение и навигация

В качестве продолжения разделения хранилища эта функция реализует разделение доступа к URL-адресу BLOB-объекта по ключу хранилища (сайт верхнего уровня, происхождение кадра и логическое значение has-cross-site-ancestor), за исключением навигации верхнего уровня, которая останется секционированной только по происхождению кадра.

CSP require-sri-for для сценариев

Директива require-sri-for дает вам возможность утверждать, что каждый ресурс данного типа должен быть проверен на целостность. Если будет предпринята попытка загрузки ресурса этого типа без метаданных целостности, эта попытка завершится неудачей и вызовет отчет о нарушении CSP. Это намерение охватывает значение "script" этой директивы.

Создать клиент сервисного работника и наследовать контроллер сервисного работника для srcdoc iframe.

Контекстные документы Srcdoc в настоящее время не являются клиентами сервис-воркера и не покрываются их родительским сервис-воркером. Это приводит к некоторым несоответствиям (например, Resource Timing сообщает URL-адреса, которые загружают эти документы, но Service Worker не перехватывает их). Это направлено на устранение несоответствий путем создания клиентов Service Worker для iframe srcdoc и заставить их наследовать контроллер Service Worker своего родителя.

Отправка событий клика на захваченный указатель

Если указатель захватывается во время отправки события pointerup , событие click будет отправлено захваченной цели вместо ближайшего общего предка событий pointerdown и pointerup согласно спецификации событий пользовательского интерфейса. Для незахваченных указателей цель click остается неизменной.

Float16Array

Добавляет типизированный массив Float16Array . Числовые значения округляются до IEEE fp16 при записи в экземпляры Float16Array .

Включение инициатора навигации в ключ раздела кэша HTTP

Схема ключей HTTP-кеша Chrome была обновлена ​​и теперь включает логическое значение is-cross-site-main-frame-navigation для предотвращения атак межсайтовой утечки, включающих навигацию верхнего уровня. В частности, это предотвратит межсайтовые атаки, при которых злоумышленник может инициировать навигацию верхнего уровня на заданную страницу, а затем перейти к ресурсу, который, как известно, загружается страницей, чтобы получить конфиденциальную информацию по времени загрузки. Это изменение также повышает конфиденциальность, не позволяя вредоносному сайту использовать навигацию для определения того, посещал ли пользователь данный сайт ранее.

Предотвращение отслеживания HSTS

Уменьшает отслеживание пользователей третьими лицами через кэш HSTS.

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

Команды Invoker: command и commandfor для атрибутов

Атрибуты command и commandfor в элементах <button> позволяют назначать поведение кнопкам более доступным и декларативным способом, одновременно уменьшая количество ошибок и упрощая объем JavaScript, необходимого для интерактивности. Кнопки с атрибутами commandfor и command — при нажатии, касании или нажатии клавиши — отправляют CommandEvent на элемент, на который ссылается commandfor , с некоторыми вариантами поведения по умолчанию, такими как открытие диалоговых окон и всплывающих окон.

Добавляет поддержку <link rel="facilitated-payment" href="..."> как подсказку о том, что браузер должен уведомлять зарегистрированных платежных клиентов об ожидающем принудительном платеже.

Свойство sourceElement NavigateEvent

Когда навигация инициируется элементом (то есть щелчком ссылки или отправкой формы), свойство sourceElement в NavigateEvent вернет инициирующий элемент.

Изменение имени причины API NotRestoredReasons

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

API веб-речи на устройстве

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

URL-адрес клиента Service Worker игнорирует изменения history.pushState

Изменяет свойство Client.url сервисного работника, чтобы игнорировать изменения URL-адреса документа с помощью history.pushState() и других подобных API-интерфейсов истории. Свойство Client.url предназначено для использования в качестве URL-адреса создания HTML-документа, который игнорирует такие изменения.

Поддержка атрибутов rel и relList для SVGAElement

Интерфейс SVGAElement в SVG 2.0 позволяет манипулировать элементами <a> аналогично элементам привязки HTML. Поддержка атрибутов rel и relList повышает безопасность и конфиденциальность для разработчиков. Такое согласование с элементами привязки HTML обеспечивает согласованность и простоту использования веб-технологий.

Временные метки для кадров в кодировке RTC

Эта функция заключается в предоставлении Интернету некоторых временных меток, которые присутствуют в кадрах, закодированных WebRTC, передаваемых через RTCPeerConnection. Речь идет о временных метках:

  • Временная метка захвата: временная отметка, когда кадр был первоначально захвачен.
  • Временная метка получения: временная метка получения кадра.

Обновите ProgressEvent , чтобы использовать двойной тип для «загружено» и «всего».

ProgressEvent имеет loaded и total атрибуты, указывающие прогресс, и их тип теперь unsigned long long . Благодаря этой функции тип этих двух атрибутов вместо этого изменяется на double , что дает разработчику больше контроля над значением. Например, теперь разработчики могут создать ProgressEvent с total значением 1 и постепенно увеличивать loaded от 0 до 1. Это соответствует поведению HTML-элемента <progress> по умолчанию, если атрибут max опущен.

API-интерфейс fetchLater

API fetchLater() — это API JavaScript для запроса отложенной выборки, что особенно полезно для более надежного оповещения в конце жизненного цикла страницы. После вызова в документе отложенный запрос ставится браузером в очередь в состоянии ОЖИДАНИЕ и будет вызван при наступлении самого раннего из следующих условий:

Документ уничтожен. По истечении указанного пользователем времени. По соображениям конфиденциальности все ожидающие запросы будут удалены, когда документ попадет в bfcache, независимо от того, сколько времени осталось. Браузер решает, что пришло время отправить его.

API возвращает FetchLaterResult , содержащий activated логическое поле, которое можно обновить, чтобы определить, был ли отправлен отложенный запрос или нет. При успешной отправке весь ответ будет проигнорирован браузером, включая тело и заголовки.

Обратите внимание, что с точки зрения пользователя API точное время отправки неизвестно.

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

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

Инвокеры интересов

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

Целостность на основе подписи

Эта функция предоставляет веб -разработчикам механизм для проверки происхождения ресурсов, от которых они зависят, создавая техническую основу для доверия к зависимости сайта. Короче говоря: серверы могут подписывать ответы с помощью пары ключей ED25519, и веб -разработчики могут потребовать, чтобы пользовательский агент проверил подпись с использованием конкретного открытого ключа. Это предлагает полезное дополнение к проверкам на основе URL-адресов, предлагаемых политикой безопасности контента, с одной стороны, и проверки на основе контента Subresource Intelecty на другой.

Объяснения и удаления

Эта версия Chrome представляет деформации и удаления, перечисленные ниже. Посетите Chromestatus.com для списков запланированных амортизаций, текущих детекваций и предыдущих удалений.

Этот выпуск Chrome осуждает одну особенность.

Установите Getters of Intl Locale Info

Intl Locale Info API представляет собой предложение ECMASCRING TC39 Stage 3, чтобы улучшить объект Intl.Locale путем разоблачения информации о локале, таких как недельные данные (первый день в неделю, день начала выходных, день окончания выходных, минимум на первую неделю) и цикл «Час направления текста», используемый в местах. Chrome принес реализацию в Chrome 99, однако предложение изменилось, чтобы перенести несколько функций. Нам нужно удалить устаревшие добычи и перезапустить переименованные функции.

Этот выпуск Chrome удаляет три функции.

Удалить устаревший метод navigator.xr.supportsSession

navigator.xr.supportsSession был заменен в спецификации webxr на navigator.xr.isSessionSupported , а также в сентябре 2019 года после получения обратной связи по форме API от тега. С тех пор он был отмечен как устаревший в Chrome, создавая консольную предупреждение, перенаправляющую разработчиков на обновленный API. Использование вызова очень низкое, и все основные структуры, которые используются для построения контента WebXR, были обновлены, чтобы использовать новый вызов.

Удалить свойство canTransition NavigateEvent

В Chrome 108 метод transitionWhile() и свойство canTransition от NavigateEvent была заменена на метод New intercept() и свойство canIntercept . В то время метод transitionWhile() был удален. Тем не менее, мы забыли удалить свойство canTransition : вместо этого мы оставили его как псевдоним для canIntercept . В Chrome 135 мы исправляем это и удаляем canTransition . Любое использование canTransition может быть заменено canIntercept , без изменений в поведении.

Удалить лимит WebGPU MaxInterstageShaderComponents

Предел maxInterStageShaderComponents удаляется из -за комбинации факторов:

  • Избыточность с maxInterStageShaderVariables : этот предел уже служит аналогичной цели, контролируя объем данных, передаваемых между этапами шейдеров.
  • Незначительные расхождения: хотя существуют небольшие различия в том, как рассчитываются эти два предела, эти различия незначительны и могут эффективно управляться в maxInterStageShaderVariables limit .
  • Упрощение: удаление maxInterStageShaderComponents Оптимирует интерфейс шейдера и уменьшает сложность для разработчиков. Вместо того, чтобы управлять двумя отдельными пределами (которые оба применяются одновременно, но с тонкими различиями), они могут сосредоточиться на более подходящих и комплексных maxInterStageShaderVariables .