Новая редакция манифеста Chrome сделает невозможным использование uBlock Origin
Рэймонд Хилл (Raymond Hill), автор систем блокирования нежелательного контента uBlock Origin и uMatrix, предупредил о невозможности использования в браузере Chrome дополнения uBlock Origin в случае утверждения третьей версии манифеста Chrome.
Манифест определяет перечень возможностей и ресурсов, предоставляемых дополнениям Chrome. В текущем черновом варианте третьей версии манифеста прекращена поддержка обработки API webRequest в блокирующем режиме и в качестве замены предложено использовать существенно более ограниченный API declarativeNetRequest. По мнению Рэймонда Хилла предложенного API недостаточно для обеспечения полноценной блокировки рекламы и в случае утверждения манифеста в текущем виде дополнения uBlock Origin и uMatrix не смогут выпускаться для Chrome.
При этом изменение не повлияет на работу блокировщика Adblock Plus, построенного на базе API declarativeNetRequest. Рэймонд отмечает, что при помощи декларативного API declarativeNetRequest невозможно создавать эффективные движки для блокировки нежелательного контента, так как данный API является уже готовой сильно ограниченной реализацией одного специфичного движка, не дающий самостоятельно контролировать поступающий контент на низком уровне.
Из недостатков API declarativeNetRequest называется жесткое ограничение максимального числа подключаемых фильтров - список правил фильтрации ограничивается 30 тысячами записей, что недостаточно с учетом того, что только в одном списке EasyList присутствует более 42 тысяч блокировок. Кроме того, предложенный API не дает использовать собственные алгоритмы фильтрации и не позволяет создавать сложные правила, перекрывающие друг друга в зависимости от условий. При помощи API declarativeNetRequest также невозможно организовать блокировку больших мультимедийных элементов, остановить выполнение JavaScript через подстановку директив CSP и удалить заголовки с Cookie.
В качестве причины прекращения поддержки API webRequest называется желание защитить пользователей от неконтролируемого доступа дополнений к контенту. По мнению Google пользователи должны иметь возможность определить, какая информация доступа дополнению, а какая нет.