Почти в каждой версии Chrome мы видим значительное количество обновлений и улучшений продукта, его производительности, а также возможностей веб-платформы. В этой статье описаны устаревания и удаления из Chrome 57, который находится в стадии бета-тестирования с начала февраля. Этот список может быть изменен в любое время.
Удалить атрибут BluetoothDevice.uuids
Атрибут BluetoothDevice.uuids
удаляется, чтобы привести веб-интерфейс Bluetooth API в соответствие с текущей спецификацией. Вы можете получить все разрешенные службы GATT, вызвав метод device.getPrimaryServices() .
Удалить элемент генерации ключей
Начиная с Chrome 49, по умолчанию <keygen>
возвращает пустую строку, если для этой страницы не было предоставлено разрешение. IE/Edge не поддерживает <keygen>
и не указал общедоступные сигналы для поддержки <keygen>
. Firefox уже скрывает <keygen>
за жестом пользователя, но публично поддерживает его удаление. Safari выпускает <keygen>
и не выразил публичного мнения относительно его дальнейшей поддержки. В Chrome 57 этот элемент удален.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить API-интерфейс управления буфером синхронизации ресурсов с префиксом.
Два метода и обработчик событий: webkitClearResourceTimings()
, webkitSetResourceTimingBufferSize()
и onwebkitresourcetimingbufferfull
являются устаревшими и зависят от поставщика. Стандартные версии этих API поддерживаются начиная с Chrome 46, и префиксные функции также устарели в этой версии. Эти функции изначально были реализованы в WebKit, но Safari их не включил. Firefox, IE 10+ и Edge имеют только версию API без префикса. Поэтому версии вебкита удаляются.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалите ServiceWorkerMessageEvent в пользу использования MessageEvent.
Спецификация HTML расширила MessageEvent
, чтобы разрешить ServiceWorker
в качестве типа source
атрибута. client.postMessage()
и создание пользовательских событий сообщений изменены на использование MessageEvent
вместо ServiceWorkerMessageEvent
. ServiceWorkerMessageEvent
удален.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить глобальные псевдонимы IndexedDB с префиксом webkit.
Точка входа IndexedDB
и глобальные конструкторы были представлены с префиксами webkit
где-то в Chrome 11. Версии без префиксов были добавлены в Chrome 24, а версии с префиксами устарели в Chrome 38. Затронуты следующие интерфейсы:
-
webkitIndexedDB
(основная точка входа) -
webkitIDBKeyRange
(невызываемый глобальный конструктор, но имеет полезные статические методы) -
webkitIDBCursor
-
webkitIDBDatabase
-
webkitIDBFactory
-
webkitIDBIndex
-
webkitIDBObjectStore
-
webkitIDBRequest
-
webkitIDBTransaction
(невызываемые глобальные конструкторы)
Намерение удалить | Трекер Chromestatus | Ошибка хрома
WebAudio: удалить префикс AudioContext и OfflineAudioContext.
Chrome поддерживает WebAudio
с середины 2011 года, включая AudioContext
. OfflineAudioContext
был добавлен в следующем году. Учитывая, как долго поддерживаются стандартные интерфейсы, а также долгосрочную цель Google по удалению префиксных функций, версии этих интерфейсов с префиксами устарели с конца 2014 года и в настоящее время удаляются.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Устареть и удалить webkitCancelRequestAnimationFrame
Метод webkitCancelRequestAnimationFrame()
— это устаревший API, зависящий от поставщика, а стандартный метод cancelAnimationFrame()
уже давно поддерживается в Chromium. Поэтому версия вебкита удаляется.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Устарело сопоставление без учета регистра для атрибута usemap.
Атрибут usemap
ранее определялся как безрегистровый. К сожалению, реализация этого была настолько сложной, что ни один браузер не реализовал ее правильно. Исследования показали, что такой сложный алгоритм не нужен, и даже сопоставление ASCII без учета регистра не является необходимым.
Следовательно, спецификация была обновлена, и теперь применяется сопоставление с учетом регистра. Старое поведение устарело в Chrome 57, и ожидается, что оно будет удалено в Chrome 58.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Устаревший FileReaderSync в сервис-воркерах
В спецификации Service Worker всегда было (ненормативное) примечание, что «любые типы синхронных запросов не должны инициироваться внутри Service Worker», чтобы избежать блокировки Service Worker. Блокировка сервис-воркера заблокирует все сетевые запросы от контролируемых страниц. К сожалению, API FileReaderSync
уже давно доступен в сервис-воркерах.
В настоящее время только Firefox и Chrome предоставляют FileReaderSync
в сервис-воркерах. В обсуждении спецификации Firefox согласился с тем, что это следует исправить. Удаление ожидается в Chrome 59.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Устаревший вызывающий объект для HTMLEmbedElement и HTMLObjectElement.
Наличие у интерфейса устаревшего вызывающего объекта означает, что экземпляр можно вызывать как функцию. В настоящее время HTMLEmbedElement
и HTMLObjectElement
поддерживают эту функцию. В Chrome 57 эта возможность устарела. После удаления, которое ожидается в Chrome 58, вызов вызовет исключение.
Это изменение приводит Chrome в соответствие с недавними изменениями спецификаций. Устаревшее поведение не поддерживается в Edge или Safari и удаляется из Firefox .
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Устаревший RTCRtcpMuxPolicy для «переговоров»
rtcpMuxPolicy
используется Chrome для указания предпочтительной политики использования мультиплексирования RTP/RTCP. В Chrome 57 мы изменили стандартную политику rtcpMuxPolicy
на «require» и объявили устаревшей «согласование» по следующим причинам:
- Немультиплексированный RTCP использует дополнительные сетевые ресурсы.
- Удаление «согласования» упростит интерфейс API, поскольку «RtpSender»/«RtpReceiver» тогда будет иметь только один транспорт.
В Chrome 57 «переговоры» устарели. Мы считаем, что это некритическое изменение, поскольку пользователь получит сообщение об устаревании, а RTCPeerConnection
все равно можно будет создать. Удаление происходит в Chrome 63.
Намерение прекратить поддержку | Ошибка хрома
Устарела поддержка встроенных учетных данных в запросах подресурсов.
Жесткое кодирование учетных данных в запросах субресурсов является проблематичным с точки зрения безопасности, поскольку в прошлом это позволяло хакерам перебирать учетные данные. Эти опасности усугубляются при запросах авторизованных подресурсов, которые достигают внутренних диапазонов IP-адресов (ваших маршрутизаторов и т. д.). Учитывая низкий уровень использования, закрытие этой (небольшой) дыры в безопасности кажется вполне разумным.
Разработчики могут встраивать ресурсы, которые не требуют базовой/дайджест-аутентификации, вместо этого полагаясь на файлы cookie и другие механизмы управления сеансами.