Дополнения к API захвата экрана, интерполяция свойств CSS-шаблонов сеток и многое другое.
Если не указано иное, описанные ниже изменения относятся к последней версии бета-версии Chrome для Android, ChromeOS, Linux, macOS и Windows. Подробнее о перечисленных здесь функциях можно узнать по предоставленным ссылкам или из списка на ChromeStatus.com. Chrome 107 находится в бета-версии по состоянию на 29 сентября 2022 года. Вы можете загрузить последнюю версию на Google.com для настольных компьютеров или в Google Play Store для Android.
Интерполяция свойств CSS grid-template
В CSS Grid свойства grid-template-columns и grid-template-rows позволяют разработчикам задавать имена строк и отслеживать изменения размеров столбцов и строк сетки соответственно. Благодаря нашим сотрудникам из Microsoft, теперь мы поддерживаем интерполяцию для этих свойств. Теперь макеты сетки могут плавно переходить между состояниями, вместо того чтобы останавливаться в середине анимации или перехода.
Настройки совместного использования экрана для сохранения конфиденциальности
API захвата экрана дополняет существующие API захвата и потоковой передачи мультимедиа, позволяя пользователю выбирать экран или его часть (например, окно) для захвата в виде потока мультимедиа. Этот поток затем можно записать или передать другим пользователям по сети. В этой бета-версии в API добавлены некоторые новые функции.
DisplayMediaStreamConstraints.selfBrowserSurface
Подсказка: веб-приложениям следует указывать браузеру, следует ли при вызове getDisplayMedia() исключать текущую вкладку из списка вкладок, предлагаемых пользователю.
Это помогает предотвратить случайное самозахват, когда пользователи случайно выбирают вкладку, в которой запущено приложение, возникает эффект «зеркального зала», который сбивает пользователей с толку и сбивает с толку обсуждения с удаленными пользователями.
DisplayMediaStreamConstraints.surfaceSwitching
Добавляет возможность программного управления отображением кнопки переключения вкладок в Chrome при совместном использовании экрана. Эта опция будет передана в navigator.mediaDevices.getDisplayMedia() .
Кнопка «Поделиться этой вкладкой» позволяет пользователям легко переключаться между вкладками, которые они показывают, без необходимости снова выбирать вкладку видеоконференции, нажимать кнопку для повторного вызова getDisplayMedia() или выбирать новую вкладку из длинного списка вкладок. Эта функция доступна условно, поскольку не все веб-приложения способны обрабатывать такое поведение.
MediaTrackConstraintSet.displaySurface
При вызове функции getDisplayMedia() браузер предлагает пользователю выбор поверхностей отображения: вкладки, окна или мониторы. Используя ограничение displaySurface, веб-приложение теперь может подсказать браузеру, предпочитает ли оно, чтобы определенный тип поверхности отображался пользователю более заметно.
Статус блокировки рендеринга в Resource Timing
Добавляет поле в PerfomanceResourceTiming , указывающее на статус блокировки рендеринга ресурса. В настоящее время с точки зрения разработчика единственный способ определить, какие ресурсы действительно блокируют рендеринг, — это полагаться на сложные эвристические алгоритмы. Новое поле, напротив, будет предоставлять прямой сигнал об этом.
Использование символов-заменителей в источниках политики разрешений
Эта функция добавляет поддержку символов подстановки в политику разрешений, структурированную как SCHEME://*.HOST:PORT (например, https://*.foo.com/), где допустимый Origin может быть сформирован из SCHEME://HOST:PORT (например, https://foo.com/). Это требует, чтобы HOST был как минимум eTLD+1 (регистрируемый домен). Это означает, что https://*.bar.foo.com/ будет работать, а https://*.com/ нет. Символы подстановки в разделе схемы и порта не будут поддерживаться, и https://*.foo.com/ не будет делегировать запросы https://foo.com/ . Ранее политика разрешений могла выглядеть следующим образом:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")
С помощью этой функции вы можете использовать:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")
Поддерживает атрибут rel для элементов <form>
Эта функция добавляет атрибут rel к элементам форм, что позволяет предотвратить наличие window.opener на веб-сайтах, на которые переходят элементы форм с атрибутом rel=noopener , а также предотвращает отправку заголовка referer с rel=noreferrer .
Испытания происхождения
В этой версии Chrome появились 2 новые пробные версии Origin .
Декларативный API PendingBeacon
API для работы с маяками, сохраняющий состояние, позволяет браузеру контролировать время отправки маяков. Маяк — это пакет данных, отправляемый на серверную часть без ожидания конкретного ответа. Часто желательно отправлять их в конце посещения пользователем страницы, но подходящего момента для вызова функции «отправить» не существует. Этот API делегирует отправку самому браузеру, поэтому он может поддерживать отправку маяков при загрузке или скрытии страницы, без необходимости для разработчика реализовывать вызовы отправки в точно нужное время.
Предполагается, что это пробное тестирование продлится до версии Chrome 109. Зарегистрироваться для участия в пробном периоде можно здесь .
Политика разрешений: выгрузка
Эта функция позволяет страницам отключать выполнение обработчиков событий выгрузки. Цель состоит в том, чтобы сайты, которые удалили все обработчики событий выгрузки, могли избежать случайного добавления новых. Это поможет сайтам отказаться от обработчиков событий выгрузки и тем самым улучшить показатель попаданий в BFCache .
Предполагается, что это пробное тестирование продлится до версии Chrome 109. Зарегистрироваться для участия в пробном периоде можно здесь .
Амортизация и удаление
В этой версии Chrome представлены перечисленные ниже устаревшие и удаленные функции. Для получения списков запланированных, текущих и ранее удаленных функций посетите сайт ChromeStatus.com.
В этой версии Chrome одна функция устарела.
Ожидание-КТ
Expect-CT — это HTTP-заголовок, который позволял веб-сайтам подключаться к принудительному применению протокола Certificate Transparency (CT) до того, как он стал применяться по умолчанию. Он также имеет функцию формирования отчетов, помогающую разработчикам обнаруживать ошибки в настройке CT.
HTTP-заголовок Expect-CT был разработан для облегчения перехода к повсеместному применению принципа прозрачности сертификатов (CT), позволяя важным веб-сайтам подключаться к принудительному применению CT или сообщать о нарушениях для повышения безопасности до того, как принудительное применение CT стало обязательным (по мнению Chrome) для всех общедоступных веб-сайтов. Однако Expect-CT утратил свою актуальность. Chrome теперь требует наличия CT на всех общедоступных веб-сайтах, поэтому Expect-CT больше не представляет никакой ценности с точки зрения безопасности. Ни один другой браузер не реализовал Expect-CT поэтому его удаление не является проблемой совместимости.