Несколько ключевых слов для свойства отображения 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 г.).
Узнайте больше об устаревших событиях мутации .