Хром 115 бета

Несколько ключевых слов для свойства отображения CSS, WGSLLanguageFeatures для WebGPU, обновлений HTTPS и т. д.

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

CSS

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

Несколько значений свойства display

Свойство display CSS теперь принимает в качестве значения несколько ключевых слов, помимо устаревших заранее составленных ключевых слов. Первые два ключевых слова представляют внешнее и внутреннее значения display, есть необязательные флаги для list-item , внутренние значения, такие как table-cell , а также значения поля contents и none .

С помощью внешних и внутренних ключевых слов вы можете определить, как ведет себя внешний блок (блочный или встроенный) и как ведут себя внутренние дочерние элементы, например flex , grid или flow . Поэтому display: flex становится display: block flex и display: block становится display: block flow . См. MDN для получения списка общих сопоставлений и дополнительной информации.

Запросы контейнера в стиле логического контекста

Chrome 115 поддерживает запросы контейнера style() без значения объявления, а только имя свойства, как способ сопоставления неначальных значений. Раньше вам нужно было использовать: not style(--my-property: initial) Теперь вы можете использовать: style(--my-property) для соответствия любому неначальному значению.

Анимация, управляемая прокруткой

ScrollTimeline и ViewTimeline — это расширение спецификации Web Animations, которое позволяет разработчикам использовать положение скроллера или положение элемента внутри скроллера в качестве входного «времени», а не монотонного времени часов по умолчанию. Это обеспечивает ускоренную анимацию на основе прокрутки, например уменьшение панели навигации, без необходимости выполнения пользовательских сценариев. Их можно объявлять и создавать как с помощью CSS, так и с помощью JavaScript, используемого в CSS-анимации и веб-анимации.

Дополнительные сведения см. в разделе Анимация элементов при прокрутке с помощью анимации, управляемой прокруткой .

Исправлена ​​регрессия, при которой элементы с display: contents больше не отображались в дереве доступности.

Была введена регрессия, из-за которой элементы с display: contents теряли семантическую информацию и больше не отображались правильно в дереве доступности. Chrome 115 включает исправление этой проблемы .

Веб-API

Увеличение максимального размера WebAssembly.Module() в основном потоке до 8 МБ.

Конструктор WebAssembly.Module() синхронно компилирует двоичный модуль WebAssembly, который может блокировать основной поток. Чтобы избежать этого, максимальный размер модуля WebAssembly, который можно скомпилировать с помощью этого конструктора, ограничен 8 МБ. Модули большего размера можно скомпилировать асинхронно в основном потоке с помощью WebAssembly.compile() или синхронно в рабочем потоке. Ограничение в 8 МБ является расширением исходного ограничения в 4 КБ. Это расширение стало возможным благодаря улучшениям в среде выполнения WebAssembly V8. Предел в 8 МБ был определен путем измерения производительности телефона Google Pixel 1, который в настоящее время считается типичным телефоном бюджетного класса. Будущие разработки в V8 или аппаратном обеспечении могут позволить дальнейшее расширение предела.

FedCM: поддержка посреднических требований по управлению учетными данными для автоматической повторной аутентификации.

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

HTTPS-обновления

Автоматически и оптимистично обновляйте всю навигацию основного фрейма до HTTPS с быстрым возвратом к HTTP.

Разделение API-интерфейсов Storage, Service Worker и Communication API

Чтобы предотвратить определенные типы межсайтового отслеживания по побочным каналам, Chrome распределяет API-интерфейсы хранилища и связи в сторонние контексты. Сюда входят хранилище с управлением квотами, сервисные работники и коммуникационные API (например, BroadcastChannel). Дополнительные сведения см. в документации по разделению хранилища .

Сроки ресурса: выявите промежуточное время ответа.

Предоставляйте PerformanceResourceTiming.firstInterimResponseStart в тех случаях, когда навигация или выборка подресурса встречает промежуточный ответ 1xx. Например, при 100 продолжениях или 103 ранних подсказках firstInterimResponseStart теперь соответствует времени первого промежуточного ответа, а responseStart соответствует окончательному ответу, например, со статусом 200.

Обновление обработки префикса «xml» в lookupNamespaceURI() и createNSResolver()

Node.lookupNamespaceURI() по умолчанию поддерживает префиксы «xml» и «xmlns». Функция возвращает для них фиксированные строки пространства имен. Document.createNSResolver() и XPathEvaluator.createNSResolver() прекращают оборачивать указанный узел, чтобы добавить обработку префикса "xml". Они возвращают указанный узел как есть. Веб-разработчики теперь могут использовать элемент в качестве XPathNSResolver , не оборачивая его с помощью createNSResolver() .

VisibilityStateEntry

Отображает состояние видимости (видимое или скрытое) на временной шкале производительности. На временной шкале всегда будет запись со значением startTime , равным 0, и начальным состоянием видимости, а также записи, соответствующие любому изменению состояния видимости.

WGSLLanguageFeatures для WebGPU

Добавляет метод получения wgslLanguageFeatures для объекта GPU для WebGPU и соответствующий ему тип WGSLLanguageFeatures .

Команды WebDriver для взаимодействия с диалоговыми окнами FedCM

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

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

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

Вычислить давление

API Compute Pressure предлагает высокоуровневую информацию о текущем состоянии аппаратного обеспечения устройства, что позволяет сайтам найти для пользователей правильный баланс между использованием доступной вычислительной мощности и подверганием системы неуправляемой нагрузке. Вычислительное давление — это общий термин. На данный момент он рассчитывается на основе загрузки процессора, но в планах на будущее использование сигналов, например, о температуре и состоянии батареи. Подробности читайте в объявлении о втором пробном этапе Compute Pressure Origin .

Зарегистрируйтесь для участия в пробной версии Compute Pressure Origin .

Явные подсказки по компиляции с магическими комментариями.

Разрешить прикрепление информации о том, какие функции следует анализировать и компилировать в файлах JavaScript. Информация будет закодирована в виде магических комментариев. Мы будем экспериментировать с разными форматами волшебных комментариев. Например, пометить все функции в файле для быстрой компиляции или пометить только подмножество функций.

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

API длинных кадров анимации

Это расширение API длинных задач . Он измеряет задачу вместе с ее последующим обновлением рендеринга, добавляя такую ​​информацию, как длительные сценарии выполнения, время рендеринга и время, затраченное на принудительный макет и стиль, известный как перебор макета. Разработчики могут использовать это как диагностику «медлительности», которая измеряется с помощью Interaction to Next Paint (INP) , путем обнаружения причин перегрузки основного потока, которая часто является причиной плохого INP.

Зарегистрируйтесь для участия в пробной версии оригинальной версии Long Animation Frames .

API сегментов хранилища

Storage Buckets позволяет сайтам создавать несколько сегментов хранения для организации своих данных, позволяя пользовательским агентам удалять каждый сегмент независимо от других сегментов. В каждом сегменте хранилища могут храниться данные, связанные с установленными API-интерфейсами хранилища, такими как IndexedDB и CacheStorage. Зарегистрируйтесь для получения пробной версии исходного API Storage Buckets .

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

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

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

Устаревший установщик document.domain

Метод установки document.domain устарел, поскольку он позволяет разработчикам ослабить политику одного и того же происхождения — и, как таковой, он усложняет фундаментальную границу безопасности, которую мы стремимся поддерживать, и ставит препятствия на пути пост-Spectre изменений в модели процессов Chromium. Посетите Chrome отключает изменение document.domain в качестве альтернативы использованию document.domain. В большинстве случаев использования postMessage() или Channel Messaging API из разных источников могут заменить document.domain. В крайнем случае, вы можете выбрать document-domain через кластеры агентов с ключом Origin . Сеттер останется, но начало координат останется неизменным.

Устаревшие события мутации

События мутации, включая DOMSubtreeModified , DOMNodeInserted , DOMNodeRemoved , DOMNodeRemovedFromDocument , DOMNodeInsertedIntoDocument , были исключены из спецификации в 2011 году и были заменены в 2012 году API Mutation Observer API. Использование устаревших событий мутаций необходимо перенести в Mutation Observer перед их удалением в Chrome 127 (20 июля 2024 г.).

Узнайте больше об устаревших событиях мутации .