Ce qui a changé
Manifest V2 (les anciennes règles) offrait aux extensions une API puissante appelée webRequest. Les extensions voyaient chaque requête que le navigateur s’apprêtait à envoyer et décidaient, pour chacune, de la bloquer ou non. uBlock Origin s’en servait pour :
- Bloquer des requêtes selon le type de contenu (image, script, police, etc.)
- Bloquer selon la page à l’origine de la requête (autoriser chez l’éditeur, bloquer chez le traceur tiers)
- Appliquer des expressions régulières et une logique complexe aux URL
- Mettre à jour sa liste de blocage instantanément, sans passer par la validation du Chrome Web Store
Manifest V3 a remplacé webRequest par declarativeNetRequest. La nouvelle API prend une liste fixe de règles que le navigateur interprète en interne ; l’extension ne prend jamais de décision en temps réel. Le nombre de règles par extension est strictement plafonné. Les mises à jour de la liste doivent passer par des mises à jour du Chrome Web Store.
Pourquoi cela a cassé le blocage des publicités
Les listes de uBlock Origin sont volumineuses et mises à jour souvent. Ces deux aspects ont été cassés par Manifest V3. L’auteur a documenté les différences en détail ; en résumé :
- La version complète de uBlock Origin ne pouvait pas fonctionner sous V3 : elle a donc été retirée de Chrome.
- uBlock Origin Lite a été conçu spécialement pour tenir dans les limites de V3. Il en fait moins.
- D’autres bons bloqueurs (Adguard, Ghostery) ont publié des versions compatibles V3, avec des compromis similaires.
Pourquoi Google l’a fait
La raison officielle était la sécurité et les performances : l’ancienne API webRequest donnait aux extensions une portée énorme, jusqu’à pouvoir lire tout le trafic HTTP de chaque onglet. On peut sérieusement défendre que c’était trop de privilèges.
La raison pratique que beaucoup ont relevée : le cœur de métier de Google, c’est la publicité. Le navigateur dont les nouvelles règles limitent les bloqueurs de publicités appartient à la plus grande régie publicitaire du monde. Ces deux faits ne prouvent pas que le changement était malveillant, mais l’image n’est pas très bonne.
Comment les navigateurs ont réagi
Firefox a conservé Manifest V2 en parallèle de V3, uBlock Origin complet y fonctionne donc toujours. Brave, Vivaldi, Opera et Edge utilisent tous Chromium et héritent de V3. La plupart intègrent leur propre bloqueur, non soumis aux règles des extensions, ce qui est la solution à long terme. Dazr fait de même : un bloqueur intégré au niveau du réseau, avec les mêmes listes que uBlock Origin, qui n’a pas du tout à passer par l’API d’extensions de Chrome.