Mozilla começará a aceitar extensões com base na terceira versão do manifesto do Chrome.

A partir de 21 de novembro, o catálogo AMO (addons.mozilla.org) começará a aceitar e validar assinaturas digitais para complementos que utilizam a terceira versão do manifesto do Chrome. Os complementos mencionados poderão ser testados nas versões noturnas do Firefox. O suporte à terceira versão do manifesto será incluído nas versões estáveis a partir do Firefox 109, previsto para 17 de janeiro de 2023. O suporte à segunda versão do manifesto será mantido no futuro próximo, mas ao final de 2023, após uma avaliação do progresso da transição dos complementos para a terceira versão do manifesto, será considerado se a segunda versão deve ser considerada obsoleta.

O manifesto do Chrome define as capacidades e recursos disponíveis para complementos escritos usando a API WebExtensions. A partir da versão 57, o Firefox fez a transição completa para o uso da API WebExtensions para desenvolver complementos e interrompeu o suporte à tecnologia XUL. A mudança para WebExtensions permitiu unificar o desenvolvimento de complementos com as plataformas Chrome, Opera, Safari e Edge, simplificando o porting de complementos entre diferentes navegadores web e permitindo o uso completo do modo multi-processo (os complementos WebExtensions podem ser executados em processos separados, isolados das outras partes do navegador). Para unificar o desenvolvimento de complementos com os outros navegadores, o Firefox apresenta quase total compatibilidade com a segunda versão do manifesto do Chrome.

Atualmente, está em andamento no Chrome a transição para a terceira versão do manifesto, enquanto o suporte à segunda versão será descontinuado em janeiro de 2024. O principal objetivo das mudanças na nova versão é simplificar a criação de complementos seguros e de alto desempenho, e dificultar a criação de complementos inseguros e lentos. Como a terceira versão do manifesto tem sido alvo de críticas e levará à interrupção do funcionamento de muitos complementos para bloqueio de conteúdo indesejado e segurança, a Mozilla decidiu se afastar 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.

Entre as características da implementação do novo manifesto no Firefox:

  • Foi adicionada uma nova API declarativa de filtragem de conteúdo, mas, ao contrário do Chrome, o suporte ao antigo modo bloqueador da API webRequest não foi interrompido.
  • No manifesto, a substituição das páginas em segundo plano por uma variante de Service Workers, que opera como processos em segundo plano (Background Service Workers), é definida. Para garantir compatibilidade futura, o Firefox implementará suporte a Service Workers, mas atualmente será proposto um novo mecanismo de Event Pages, que é mais familiar para desenvolvedores web, não requer uma reestruturação completa dos complementos e elimina limites associados ao uso de Service Workers. Event Pages permitirá adaptar os complementos existentes com páginas em segundo plano aos requisitos da terceira versão do manifesto, mantendo o acesso a todas as funcionalidades necessárias para trabalhar com o DOM.
  • 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.

    Para gerenciar permissões, uma nova botão "Unified Extensions" foi adicionada à interface, que já pode ser testada nas versões noturnas do Firefox. O botão fornece meios para gerenciar diretamente quais sites cada complemento pode acessar — o usuário pode conceder e revogar o acesso do complemento a qualquer site. O gerenciamento de permissões se aplica apenas a complementos baseados na terceira versão do manifesto; para complementos da segunda versão do manifesto, o controle granular de acesso a sites não é realizado.

    Mozilla começará a aceitar extensões com base na terceira versão do manifesto do Chrome.
  • 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 suporta essa API e para a terceira versão do manifesto a integrará ao espaço de nomes "chrome.*".
  • Proibição da execução de código carregado de fontes externas servidores (referindo-se a situações em que o complemento carrega e executa código externo). O Firefox aplica o bloqueio de código externo e os desenvolvedores da Mozilla adicionaram técnicas adicionais de rastreamento de downloads de código propostas na terceira versão do manifesto. Para scripts de processamento de conteúdo, foi apresentada uma política de restrição de acesso ao conteúdo (CSP, Content Security Policy) separada.

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