Бета-версия Chrome 99 была выпущена 3 февраля 2022 года и, как ожидается, станет стабильной версией в начале марта 2022 года.
Удалить API состояния батареи в небезопасном источнике
API состояния батареи больше не поддерживается для небезопасных источников , таких как HTTP-страницы или HTTPS-iframe, встроенные в HTTP-страницы. API состояния батареи позволяет веб-разработчикам, среди прочего, получать доступ к уровню зарядки батареи системы и узнать, заряжается ли она. Это мощная функция, которая существует уже более десяти лет и поэтому изначально разрабатывалась с различными ограничениями безопасности.
Удалить семейство шрифтов -webkit-standard
В этой версии Chrome удалена поддержка значения font-family "-webkit-standard" . Это значение является просто псевдонимом проприетарного ключевого слова "-webkit-body" и доступно только потому, что оно унаследовано от WebKit. Удаление этого улучшает соответствие спецификациям CSS и Firefox.
Удалить список геймпадов
Метод navigator.getGamepads() теперь возвращает массив объектов Gamepad вместо GamepadList . GamepadList больше не поддерживается в Chrome. Это приводит Chrome в соответствие со спецификацией, а также с Gecko и Webkit. Дополнительную информацию о геймпадах см. в разделе «Играйте в динозавровую игру Chrome с помощью геймпада ».
Обновите WebCodecs, чтобы они соответствовали спецификации.
Chrome удалил два элемента из-за недавних изменений в спецификации WebCodecs.
Метод EncodedVideoChunkOutputCallback() принимает словарь EncodedVideoChunkMetadata . Ранее член с именем temporalLayerId находился по адресу EncodedVideoChunkMetadata.temporalLayerId . В соответствии со спецификацией он теперь расположен по адресу EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId .
Спецификация требует, чтобы конструктор VideoFrame() включал аргумент метки времени ( VideoFrameInit.timestamp ) для типов CanvasImageSource , которые неявно не имеют метки времени (например, HTMLCanvasElement ). Если не включить временную метку, это должно привести к ошибке TypeError , но Chrome ранее по умолчанию установил для временной метки нулевое значение. Это кажется полезным, но проблематично, если вы затем отправляете VideoFrame в VideoEncoder , где временные метки используются для управления битрейтом.
Политика прекращения поддержки
Чтобы поддерживать работоспособность платформы, мы иногда удаляем из веб-платформы API, которые отработали свой срок. Может быть много причин, по которым мы должны удалить API, например:
- Они заменены более новыми API.
- Они обновляются с учетом изменений в спецификациях, чтобы обеспечить согласованность и согласованность с другими браузерами.
- Это ранние эксперименты, которые так и не были реализованы в других браузерах и, таким образом, могут увеличить нагрузку на веб-разработчиков.
Некоторые из этих изменений затронут очень небольшое количество сайтов. Чтобы устранить проблемы заранее, мы стараемся заранее уведомлять разработчиков, чтобы они могли внести необходимые изменения для поддержания работоспособности своих сайтов.
В настоящее время в Chrome существует процедура прекращения поддержки и удаления API , по сути:
- Объявите об этом в списке рассылки Blink-dev .
- Устанавливайте предупреждения и указывайте временные рамки в консоли Chrome DevTools, когда на странице обнаруживается использование.
- Подождите, отслеживайте, а затем удаляйте эту функцию по мере снижения ее использования.
Вы можете найти список всех устаревших функций на сайте chromestatus.com, используя устаревший фильтр , а также удаленные функции, применив удаленный фильтр . В этих постах мы также попытаемся обобщить некоторые изменения, рассуждения и пути миграции.