Бесплатно Экспресс-аудит сайта:

11.12.2020

Версия Chrome 88 перейдет на поддержку Manifest V3

Компания Google сообщила о грядущем переходе браузера Chrome 88 на Manifest V3. Третья редакция манифеста Chrome нарушит функционал многих расширений для блокирования нежелательного контента и обеспечения безопасности. Поддержка расширений на базе второй версии манифеста будет сохранена на какое-то время, однако окончательная дата прекращения поддержки Manifest V2 пока не определена.

Манифест Chrome определяет возможности и ресурсы, предоставляемые дополнениям. Новый манифест создан с целью усилить безопасность, конфиденциальность и производительность расширений. С одной стороны, он упростит разработку безопасных расширений, и затруднит возможность создания небезопасных и медленных.

Некоторые эксперты высказали недовольство новыми изменениями в связи с прекращением поддержки блокирующего режима работы API webRequest. Вместо API webRequest для фильтрации контента в новом манифесте будет предложен API declarativeNetRequest.

API webRequest позволял использовать свои обработчики с полным доступом к сетевым запросам, способные модифицировать трафик. Новый API declarativeNetRequest использует универсальный встроенный движок для фильтрации и не разрешает использовать свои алгоритмы фильтрации или задавать сложные правила.

Компания Google прислушалась к разработчикам расширений и внедрила поддержку использования declarativeNetRequest для нескольких статических наборов правил, фильтрации по регулярным выражениям, модификации HTTP-заголовков, динамического изменения и добавления правил, удаления и замены параметров запросов.

В новом манифесте будет осуществлен переход к выполнению Service workers в форме фоновых процессов, требуя изменения кода некоторых расширений. Также внедрена новая гранулированная модель запроса полномочий, в связи с чем расширение не сможет активироваться сразу для всех страниц и будет работать только в контексте активной вкладки. С переходом на третью версию манифеста будет запрещено выполнение кода, загруженного с внешних серверов.