Google объявил о переходе на новую платформу для расширений в Chrome – Manifest v3. Разработчики расширений опасаются, что блокировщики рекламы не смогут работать с новой версией платформы.
Manifest V3
Manifest v3 – новая версия платформы для разработки расширений в браузере Chrome. Manifest v3 разработан для решения проблем, связанных с безопасностью и производительностью предшественника – V2.
Изменения коснутся следующих функций:
- Manifest V3 заменяет фоновые страницы Service workers.
- Модификация сетевого запроса теперь обрабатывается с помощью нового API.
- Удаленно размещенный код будет запрещен, расширение может выполнять только JavaScript, включенный в его пакет.
- Поддержка promise добавлена R03;R03;ко многим методам, хотя обратные вызовы по-прежнему поддерживаются в качестве альтернативы.
- На замену устаревшему API webRequest в MV3 появился новый API declarative Net Request, который позволяет расширениям изменять и блокировать сетевые запросы с сохранением конфиденциальности и высокой производительностью. Использование этого декларативного подхода резко снижает потребность в постоянных разрешениях хоста.
График перехода
Google уже составил график перехода на новую платформу.
- С 17 января 2022 года разработчики не смогут публиковать новые расширения на базе Manifest V2 в интернет-магазине Chrome.
- С января 2023 года браузер прекратит поддерживать расширения на базе Manifest V2, поддержка обновлений также будет отключена.
Что это значит для разработчиков
Разработчики расширений для Chrome боятся, что нововведения погубят их продукты.
Раймонд Хилл, разработчик uBlock Origin, предупредил, что Manifest V3 нарушит работу его расширения для блокировки рекламы. Он заявил: «Последняя версия Declarative Net Request API по-прежнему нарушает динамическую фильтрацию из-за невозможности реализовать концепцию noop».
Другие разработчики расширений также видят в Manifest V3 потенциальную угрозу. Внедрение Manifest V3 может сделать многие блокировщики рекламы неэффективными, что ударит как по производителям так и по пользователям Chrome.
Основная проблема новой спецификации состоит в том, что в ней нельзя обновить списки фильтров блокировки с помощью новых шаблонов без повторной публикации расширения.
С WebRequest API расширения могут перехватывать запросы, перенаправлять их и изменять возвращаемое значение. Новый declarativeNetRequest API передает функцию обработки запросов браузеру, который может отклонять операции, если посчитает их опасными для пользователя. Обновление может сделать бесполезными ряд популярных блокировщиков рекламы.
К блокировщиком рекламы негативно относятся немало компаний, в том числе и Google. По мнению этих компаний, блокировщики лишают их определенной доли дохода.
Сообщество W3C Web Extensions
Компании Microsoft, Mozilla и Apple поддержали инициативу Manifest V3, и создали сообщество W3C Web Extensions.
Цель объединения – упростить разработчикам расширений задачу улучшения взаимодействия с конечными пользователями, одновременно подталкивая их в сторону API-интерфейсов, которые повышают производительность и предотвращают злоупотребления.
W3C Web Extensions – форум для разработчиков веб-расширений. Участники сообщества стремятся согласовать общее видение расширений браузера и работать над будущей стандартизацией. В их задачи входит:
- Упростить создание расширений для разработчиков, указав согласованную модель и общее ядро R03;R03;функций, API и разрешений.
- Описать архитектуру, которая повышает производительность и является более безопасной и устойчивой к злоупотреблениям.