O que mudou
O Manifest V2 (as regras antigas) dava às extensões uma API poderosa chamada webRequest. As extensões podiam ver todos os pedidos que o navegador ia fazer e decidir, para cada um, se o bloqueavam. O uBlock Origin usava isto para:
- Bloquear pedidos com base no tipo de conteúdo (imagem, script, tipo de letra, etc.)
- Bloquear com base na página que fez o pedido (permitir no editor, bloquear no rastreador de terceiros)
- Executar expressões regulares e lógica complexa sobre os URL
- Atualizar a lista de bloqueio de imediato, sem passar pela análise da Chrome Web Store
O Manifest V3 substituiu o webRequest pelo declarativeNetRequest. A nova API recebe uma lista fixa de regras que o navegador interpreta internamente: a extensão nunca chega a tomar decisões em tempo real. Há um limite rígido para o número de regras que uma extensão pode ter. As atualizações à lista de regras têm de ser publicadas através de atualizações na Chrome Web Store.
Porque estragou o bloqueio de anúncios
As listas de bloqueio do uBlock Origin são grandes e atualizadas com frequência. Ambas as coisas deixaram de funcionar com o Manifest V3. O autor documentou as diferenças em pormenor; em resumo:
- A versão completa do uBlock Origin não conseguia continuar a funcionar com o V3, por isso foi retirada do Chrome.
- O uBlock Origin Lite foi criado especificamente para caber nas restrições do V3. Faz menos.
- Outros bons bloqueadores (Adguard, Ghostery) publicaram versões compatíveis com o V3, com compromissos semelhantes.
Porque o fez a Google
A razão oficial foi a segurança e o desempenho: a antiga API webRequest dava às extensões um alcance enorme, incluindo a capacidade de ler todo o tráfego HTTP de todos os separadores. Há um argumento real de que isso dava privilégios a mais.
A razão prática que muita gente notou: o negócio principal da Google é a publicidade. O navegador cujas novas regras limitam os bloqueadores de anúncios pertence à maior empresa de publicidade do mundo. Os dois factos não significam necessariamente que a mudança tenha sido mal-intencionada, mas a imagem não é boa.
Como reagiram os navegadores
O Firefox manteve o Manifest V2 a par do V3, pelo que o uBlock Origin completo ainda funciona aí. O Brave, o Vivaldi, o Opera e o Edge usam todos o Chromium e herdam o V3. A maioria inclui o seu próprio bloqueador de anúncios integrado, que não está sujeito às regras das extensões, e essa é a solução a longo prazo. O Dazr faz o mesmo: um bloqueador de anúncios integrado na camada de rede, com as mesmas listas de bloqueio que o uBlock Origin usa, que não tem de passar pela API de extensões do Chrome.