Recentemente Os desenvolvedores da Mozilla responsáveis pelo Firefox deram para conhecer o seu planos em relação ao suporte para versões 2 e 3 do manifesto do Chrome no Firefox. E, embora o Google pretenda parar de oferecer suporte a plug-ins que usam a segunda versão do manifesto nas versões de teste do Chrome 127, a Mozilla decidiu não parar de oferecer suporte à segunda versão do manifesto em um futuro próximo.
Além disso Mozilla garante que manterá a capacidade de lançar add-ons que utilizam funções não disponíveis na terceira versão do manifesto. A decisão de não tornar o Firefox totalmente compatível com a versão 3 do manifesto do Chrome permanece em vigor. O Firefox manterá a API webRequest completa, que será alterada para o modo somente leitura no Chrome.
Além disso, O Firefox usará o mecanismo de páginas de eventos para manter o suporte à execução de scripts em segundo plano baseados em DOM. Embora a terceira versão do manifesto exija o uso de Service Workers, os scripts em segundo plano baseados em Service Workers ainda não são suportados no Firefox. No entanto, os desenvolvedores terão a oportunidade de definir um manipulador baseado em página de eventos e scripts baseados em Service Workers no plug-in, permitindo-lhes criar plug-ins que estejam em conformidade com a terceira versão do manifesto e funcionem no Chrome e no Firefox.
O manifesto do Chrome define os recursos disponíveis para extensões escritas usando a API WebExtensions. Desde a versão 57, o Firefox passou completamente a usar a API WebExtensions para desenvolver plug-ins, abandonando a tecnologia XUL.
esta transição permitiu unificar o desenvolvimento de plugins com outras plataformas como Chrome, Opera, Safari e Edge, simplificou a transferência de plug-ins entre diferentes navegadores da web e ativou totalmente o modo de operação multithread. O Firefox oferece compatibilidade quase total com a segunda versão do manifesto do Chrome para unificar o desenvolvimento de plugins com outros navegadores.
Como parte de uma iniciativa para facilitar a criação de plug-ins seguros e de alto desempenho e dificultar a criação de plug-ins lentos e inseguros, o Google desenvolveu a versão três do manifesto. Porém, Tem havido descontentamento principalmente devido à tradução somente leitura da API webRequest na terceira versão do manifesto.
A principal preocupação com a terceira versão do manifesto reside na tradução da API webRequest para o modo somente leitura, o que gerou algum descontentamento entre os desenvolvedores. Essa API permitiu conectar seus próprios controladores que tinham acesso total às solicitações de rede e podiam modificar o tráfego dinamicamente. Em vez da API webRequest, a terceira versão do manifesto adicionou a API declarativeNetRequest, que possui recursos mais limitados e fornece acesso ao mecanismo de filtragem integrado sem permitir o uso de seus próprios algoritmos de filtragem.
Apesar dessas diferenças e desafios, Firefox implementou recursos importantes adotando a terceira versão do manifesto do Chrome:
- Uma nova API declarativa de filtragem de conteúdo que mantém suporte para o antigo modo de bloqueio da API webRequest.
- Implementação do mecanismo Event Pages: Este mecanismo remove as limitações associadas ao uso de Service Workers e permite adições de páginas em segundo plano para cumprir os requisitos da terceira versão do manifesto.
- O Firefox introduziu um novo modelo de permissões que exige a aprovação do usuário para cada site em que o complemento deseja trabalhar.
- Um botão “Extensões Unificadas” foi adicionado para controlar diretamente o acesso de cada plugin aos sites.
- Alteração para processamento de solicitação de origem cruzada: as mesmas restrições de permissões se aplicam aos scripts de processamento de conteúdo e à página principal na qual estão incorporados.
- O Firefox implementou restrições para impedir a execução de códigos baixados de fontes externas, aumentando assim a segurança dos complementos.
Por fim, se tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.