O Firefox iniciou os testes da terceira versão do manifesto Chrome

A Mozilla anunciou o início dos testes da implementação no Firefox da terceira versão do manifesto Chrome, que define as capacidades e recursos disponíveis para as extensões escritas usando a API WebExtensions. Para testar a terceira versão do manifesto na versão beta do Firefox 101, é necessário definir o parâmetro "extensions.manifestV3.enabled" como true e o parâmetro "xpinstall.signatures.required" como false na página about:config. O interface about:debugging pode ser usada para instalar extensões. A ativação da terceira versão do manifesto por padrão está programada para o final do ano.

A partir da versão 57, o Firefox mudou completamente para o uso da API WebExtensions para o desenvolvimento de extensões e descontinuou suporte à tecnologia XUL. A migração para WebExtensions unificou o desenvolvimento de extensões com as plataformas Chrome, Opera, Safari e Edge, simplificou o porto de extensões entre diferentes navegadores e permitiu que o modo de operação multiprocessos fosse aproveitado (extensões WebExtensions podem ser executadas em processos separados, isoladas das outras partes do navegador). Para unificar o desenvolvimento de extensões com outros navegadores, o Firefox garante quase total compatibilidade com a segunda versão do manifesto Chrome.

Atualmente, no Chrome, está em andamento a transição para a terceira versão do manifesto, e o suporte à segunda versão será encerrado em janeiro de 2023. Como a terceira versão do manifesto tem sido alvo de críticas e resultará na quebra de muitos complementos para bloqueio de conteúdo indesejado e segurança, a Mozilla decidiu se afastar da prática de garantir total compatibilidade com o manifesto no Firefox e implementar algumas mudanças de forma diferente.

A principal insatisfação com a terceira versão do manifesto está relacionada à mudança do API webRequest para um modo apenas de leitura, que permitia a conexão de manipuladores personalizados com acesso total às solicitações de rede e a modificação do tráfego em tempo real. O referido API é usado no uBlock Origin e em muitas outras extensões para bloquear conteúdo indesejado e garantir segurança. Em vez do API webRequest, a terceira versão do manifesto propôs um API declarativeNetRequest com capacidades limitadas, que fornece acesso a um mecanismo embutido para filtragem e que processa regras de bloqueio autonomamente, não permitindo o uso de algoritmos de filtragem personalizados nem possibilitando a definição de regras complexas que se sobreponham dependendo das condições.

Na implementação proposta no Firefox da terceira versão do manifesto, foi adicionado um novo API declarativo para filtragem de conteúdo, mas, ao contrário do Chrome, não foi interrompido o suporte ao antigo modo de bloqueio do API webRequest. Entre outras características da nova implementação do manifesto no Firefox:

  • No manifesto, foi definida a substituição das páginas de fundo por uma variante de Service Workers, que opera como processos em segundo plano (Background Service Workers). Para garantir compatibilidade, o Firefox implementará esta exigência, mas também foi proposto um novo mecanismo de Event Pages, que é mais familiar para desenvolvedores web, não requer uma reformulação completa das extensões e elimina as limitações associadas ao uso de Service Workers. Event Pages permitirá que as extensões existentes com páginas de fundo sejam adaptadas às exigências da terceira versão do manifesto, mantendo acesso a todos os recursos necessários para interagir com o DOM. Na implementação do manifesto disponível para teste no Firefox, apenas Event Pages são suportadas, e o suporte à solução baseada em Service Workers será adicionado posteriormente. A proposta foi apoiada pela Apple, que implementou Event Pages na versão 136 do Safari Technology Preview.
  • O novo modelo de solicitação granular de permissões — a extensão não poderá ser ativada imediatamente para todas as páginas (a permissão «all_urls» foi removida) e funcionará apenas no contexto da guia ativa, ou seja, o usuário precisará confirmar o funcionamento da extensão para cada site. No Firefox, todas as solicitações de acesso a dados do site serão tratadas como opcionais, e a decisão final sobre a concessão de acesso será tomada pelo usuário, que poderá decidir seletivamente a qual extensão conceder acesso aos seus dados em determinado site.
  • Mudança no tratamento de solicitações entre origens — de acordo com o novo manifesto, as scripts de manipulação de conteúdo estarão sujeitas às mesmas restrições de permissões que a página principal na qual essas scripts são inseridas (por exemplo, se a página não tiver acesso à API de definição de localização, então a script da extensão também não terá esse acesso). Esta mudança já está totalmente implementada no Firefox.
  • API baseada em Promise. O Firefox já suporta essa API e, para a terceira versão do manifesto, ela será transferida para o espaço de nomes «chrome.*».
  • Proibição da execução de código carregado de fontes externas servidores (refere-se a situações em que a extensão carrega e executa código externo). O Firefox já aplica o bloqueio de código externo e os desenvolvedores da Mozilla adicionaram técnicas adicionais de rastreamento de carregamentos de código, conforme proposto na terceira versão do manifesto. Uma política separada de restrição de acesso ao conteúdo (CSP, Content Security Policy) foi apresentada para scripts de manipulação de conteúdo.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster