Já faz algum tempo que o Google está atualizando a API usada nas extensões no navegador Chrome. Acontece que alguns desenvolvedores questionaram parte das mudanças propostas, visto que poderia impedir que muitos bloqueadores de anúncios funcionassem. Agora, o Google faz algumas concessões em meio a protestos do público e ameaças legais.

Os desenvolvedores do Google acreditam que a criação de uma nova API declarativeNetRequest para substituir a API webRequest, que muitas extensões (incluindo AdBlock Plus e uBlock Origin) usam atualmente, atrapalharia o desempenho do navegador, indo contra o que diz o Manifesto V3, divulgado pelo Google:

“O fluxo básico de quando um requerimento de conexão começa é o Chrome enviar as informações para as extensões e estas responderem com qual ação se deve tomar. Isso começa no navegador, vai para o renderizador da extensão, onde ela performa um JavaScript arbitrário (e potencialmente muito devagar) e no fim, o resultado volta para o processo do navegador.  Esse processo pode ter um efeito significativo em todo pedido de rede, mesmo aqueles que não modificados, redirecionados ou bloqueados pela extensão, já que o Chrome precisa despachar a situação para a extensão decidir o que fazer com ela”.

A Cliqz, companhia por trás da popular extensão de navegador Ghostery, realizou um estudo real sobre como o Chrome é afetado por essas extensões e não encontrou os problemas alegados pela gigante das buscas:

“Este trabalho foi motivado por uma das afirmações formuladas na proposta do Manifesto V3 do projeto Chromium: ‘a extensão executa JavaScript arbitrária (e potencialmente muito lento)’, falando sobre a capacidade de bloqueadores de conteúdo de processar todas as solicitações de rede. A partir das medições, não achamos que essa afirmação seja válida, já que todos os bloqueadores de conteúdo populares já são muito eficientes e não sofrem com nenhuma lentidão perceptível para os usuários”.

O estudo realizado mostrou que o impacto médio no desempenho entre os bloqueadores de anúncios populares – incluindo Ghostery, uBlock Origin e AdBlock Plus – era geralmente inferior a 0,05 milissegundos. Com a queixa sobre velocidade devagar rebatida, a empresa possui uma opinião diferente sobre o motivo da mudança na API.

O Cliqz relata em seu estudo que a Google finge estar fazendo isso pela privacidade e pelo desempenho, enquanto a realidade é outra:

“Os usuários teriam maneiras muito limitadas de impedir que terceiros interceptem o comportamento do Google ou se livrem de conteúdo indesejado. Se o Google faz isso para proteger seus negócios de publicidade ou simplesmente forçar suas próprias regras sobre todos os usuários, estaria fazendo nada menos do que outro caso de uso indevido de sua posição dominante no mercado, e nós vamos considerar fazer uma queixa legal anti-trust”.

Em resposta a isso, o engenheiro do Chrome Devlin Cronin escreveu no Grupos do Google que os novos recursos estão sendo adicionados à substituição da API:

Gostaria de reiterar que todas essas mudanças ainda estão no estágio de rascunho e design, como explicitamente explicadas no documento e no bug de rastreamento. A API declarativeNetRequest ainda está sendo expandida e está em desenvolvimento ativo, e as alterações exatas que serão implementadas como parte do Manifesto V3 não serão finalizadas. O feedback durante este tempo é crucial, e nós absolutamente queremos ouvir seus comentários e preocupações.

O nível atual da API para extensões do Chrome, chamado ‘Manifesto V2’, foi introduzido em 2012. Desde então, o Chrome tem sido objeto para extensões maliciosas. Com o Manifesto V3, atualmente em desenvolvimento, o Google espera conseguir reduzir os possíveis danos que as extensões mal-intencionadas podem causar, além de aumentar o desempenho e adicionar novos recursos.

A empresa afirmou que o feedback que recebeu é importante nessa fase de desenvolvimento e que a API webRequest não será totalmente removida.

Fonte: Android Police