Хром 110 бета

Начальные буквы CSS, обработчик запуска веб-приложения, поддержка iframe из разных источников для API FedCM и многое другое.

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

CSS

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

Начальные буквы CSS

Начальные буквы — это большие декоративные буквы, которые использовались для начала новых разделов текста еще до изобретения книгопечатания. Свойство CSS initial-letter позволяет установить количество строк, которые начальная буква должна погрузить в следующие строки текста. В следующем примере начальная буква будет отображаться в трех строках текста.

.content::first-letter {
  initial-letter: 3;
}

Абзац текста с начальной буквой, запавшей в три строки абзаца.

Псевдокласс CSS :picture-in-picture

Псевдокласс :picture-in-picture помогает веб-разработчикам настраивать медиаплеер при входе и выходе видео из режима «Картинка в картинке» .

Попробуйте демо-версию псевдокласса :картинка в картинке .

Веб-API

АудиоКонтекст.setSinkId()

AudioContext.setSinkId устанавливает идентификатор аудиоустройства, которое будет использоваться для вывода. Это позволяет AudioContext направлять звук на подключенное устройство вывода по выбору пользователя.

Подробнее об этой функции читайте в статье Изменение целевого устройства вывода в веб-аудио .

FedCM в iframe из разных источников

Добавляет поддержку iframe из разных источников для API FedCM через политику разрешений. Это позволяет веб-сайтам помещать в изолированную среду сценарии от поставщиков удостоверений, которые запускают API FedCM в iframe с перекрестным происхождением, чтобы они не имели полного контроля над всей страницей. Это также позволяет использовать случаи, когда сам iframe требует входа пользователя в систему. В обоих случаях родительский фрейм должен предоставить iframe перекрестного происхождения с политикой identity-credentials-get .

IFrame без учетных данных

IFrame без учетных данных дает разработчикам возможность загружать документы в сторонние iframe, используя новые и эфемерные контексты. Iframe без учетных данных — это обобщение COEP без учетных данных для поддержки сторонних iframe, которые не могут развертывать COEP. Это устраняет ограничение, согласно которому сторонние iframe должны поддерживать COEP для встраивания в страницу COEP, и разблокирует разработчиков, желающих внедрить изоляцию между источниками.

Узнайте больше о iframe без учетных данных .

Метод FileSystemHandle::remove()

Метод remove() FileSystemHandle включает распространенный случай использования, когда вы получаете дескриптор файла из showSaveFilePicker() , но затем решаете, что не хотите все-таки сохранять, и удаляете файл. До добавления этого метода было невозможно удалить файл или каталог по его дескриптору. Вам нужно было получить дескриптор родительского каталога и вызвать FileSystemDirectoryHandle::removeEntry() .

Предварительная выборка, инициируемая API правил спекуляции

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

Используйте непереходную обработку IDNA в URL-адресах

Включите IDNA 2008 в непереходном режиме для обработки URL-адресов, согласовав поведение Chrome с Firefox и Safari. В настоящее время Chrome использует IDNA 2008 в переходном режиме при обработке URL-адресов. Основное различие между переходным и непереходным режимами заключается в обработке четырех символов, известных как символы отклонения: ß (ЛАТИНСКАЯ СТРОЧНАЯ БУКВА SHARP S), ς (ГРЕЧЕСКАЯ СТРОЧНАЯ БУКВА ЗАКЛЮЧИТЕЛЬНАЯ СИГМА), ZWJ (соединение нулевой ширины) и ZWNJ (нулевая ширина). не присоединившийся). В переходном режиме символы отклонения обрабатываются так же, как и IDNA2003: ß отображается в ss, ς отображается в σ, а ZWJ и ZWNJ удаляются. В непереходном режиме домены, содержащие эти символы, разрешены в именах доменов без сопоставления и, таким образом, могут разрешаться в разные IP-адреса. Например, при вводе faß.de в Chrome и Firefox сегодня открываются разные сайты. Включение непереходного IDNA в Chrome позволит использовать символы отклонения в доменных именах. Firefox и Safari уже внесли это изменение в 2016 году и продолжают использовать непереходную обработку URL-адресов.

Обработчик запуска веб-приложения

Добавьте член манифеста веб-приложения launch_handler , который позволяет веб-приложениям настраивать поведение запуска для всех типов триггеров запуска приложений. Например, следующее приведет к тому, что все запуски приложения «Пример» будут фокусироваться на существующем окне приложения и перемещаться по нему (если оно существует) вместо того, чтобы всегда запускать новое окно приложения.

{
    "name": "Example app",
    "start_url": "/index.html",
    "launch_handler": {
        "client_mode": "navigate-existing"
    }
}

политика разрешений на общий доступ в Интернет

Управляет доступом к navigator.share() . По умолчанию сторонние iframe не имеют разрешения на использование API веб-ресурса.

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

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

Поддержка No-Vary-Search в кэше предварительной выборки навигации

Включает предварительную выборку для сопоставления, даже если параметры запроса URL-адреса изменяются. Заголовок ответа HTTP No-Vary-Search заявляет, что некоторые или все части URL-запроса могут игнорироваться для целей сопоставления с кэшем. Он может объявить, что порядок ключей параметров запроса не должен вызывать промахов в кэше, что определенные параметры запроса не должны вызывать промахи в кэше или что только определенные известные параметры запроса должны вызывать промахи в кэше. Это может относиться к нескольким кэшам, но эта запись относится к поддержке кэша предварительной выборки.

Зарегистрируйтесь для поддержки No-Vary-Search в пробной версии кэша предварительной выборки навигации .

PerformanceResourceTiming.deliveryType

Предоставлять информацию о том, как был доставлен ресурс. Например, полезно идентифицировать ресурсы, которые были доставлены из кэша (в настоящее время доступны через transferSize ), и навигацию, предварительно выбранную предыдущей страницей.

Запись о производительности SoftNavigation

Предоставляет (экспериментальную) эвристику мягкой навигации веб-разработчикам, используя как PerformanceObserver, так и временную шкалу производительности.

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

Правила спекуляции: доставка через заголовок Speculation-Rules

В настоящее время разработчики могут указывать правила спекуляций только с помощью встроенных тегов скрипта. Предлагаемая функция предоставляет альтернативу через заголовок «Правила спекуляций». Его значение должно быть URL-адресом текстового ресурса с типом MIME application/speculationrules+json . Правила ресурса будут добавлены в набор правил документа.

Правила спекуляции: правила, основанные на документах

Расширение синтаксиса правил спекуляции, которое позволяет браузеру получать URL-адреса для спекуляций из элементов ссылок на странице. Они могут включать критерии, ограничивающие использование этих ссылок.

X-Requested-With в WebView

Пробная версия устаревшей версии для сохранения устаревшего поведения X-Requested-Header в Android WebView. В настоящее время для этого заголовка в качестве значения установлено имя пакета внедряемого приложения, но это поведение будет удалено при медленном развертывании. Во время прекращения поддержки эта пробная версия позволит владельцам сайтов продолжать получать заголовок, отказываясь от его использования.

Более подробная информация об этом прекращении поддержки будет опубликована в отдельном сообщении в блоге. Зарегистрируйтесь для участия в пробной версии X-Requested-With здесь .

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

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

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

Удаление Web SQL в незащищенных контекстах

Web SQL теперь удален в незащищенных контекстах . Мы рекомендуем вам переключиться на SQLite Wasm в браузере, поддерживаемом исходной частной файловой системой .

Удалить window.webkitStorageInfo

Удалена поддержка устаревшего API квот хранилища, window.webkitStorageInfo. Первоначально представленный в 2011 году, Chrome реализовал API-интерфейс квот с префиксом, на смену которому сразу же пришел API-интерфейс квот, который с тех пор также устарел. Устаревший API квот хранилища никогда не был реализован ни в одном другом браузере и был помечен как устаревший с 2013 года.