Firefox comezou a probar a terceira versión do manifesto de Chrome

Mozilla anunciou que comezou a probar a implementación de Firefox da terceira versión do manifesto de Chrome, que define as capacidades e recursos dispoñibles para os complementos escritos mediante a API de WebExtensions. Para probar a terceira versión do manifesto en Firefox 101 beta, debes establecer o parámetro "extensions.manifestV3.enabled" como verdadeiro e o parámetro "xpinstall.signatures.required" como falso na páxina about:config. Para instalar complementos, pode usar a interface about:debugging. Está previsto que a terceira versión do manifesto se active de forma predeterminada a finais de ano.

A partir da versión 57, Firefox pasou completamente ao uso da API de WebExtensions para desenvolver complementos e deixou de admitir a tecnoloxía XUL. A transición a WebExtensions permitiu unificar o desenvolvemento de complementos coas plataformas Chrome, Opera, Safari e Edge, simplificou a portabilidade de complementos entre diferentes navegadores web e permitiu utilizar plenamente o modo multiproceso de operación (os complementos de WebExtensions pódense executar en procesos separados, illados do resto do navegador). Para unificar o desenvolvemento de complementos con outros navegadores, Firefox ofrece unha compatibilidade case total coa segunda versión do manifesto de Chrome.

Chrome está a traballar actualmente para pasar á versión 2023 do manifesto e a compatibilidade coa versión XNUMX deixará de funcionar en xaneiro de XNUMX. Dado que a terceira versión do manifesto foi criticada e romperá moitos complementos de bloqueo de contido e de seguridade, Mozilla decidiu afastarse da práctica de garantir a compatibilidade total co manifesto en Firefox e implementar algúns cambios de forma diferente.

A principal insatisfacción coa terceira versión do manifesto está relacionada coa tradución ao modo de só lectura da API webRequest, que permitiu conectar os seus propios controladores que teñen acceso total ás solicitudes de rede e poden modificar o tráfico sobre a marcha. Esta API úsase en uBlock Origin e en moitos outros complementos para bloquear contido inadecuado e proporcionar seguridade. En lugar da API webRequest, a terceira versión do manifesto ofrece unha API declarativa NetRequest de capacidade limitada, que proporciona acceso a un motor de filtrado integrado que procesa de forma independente as regras de bloqueo, non permite o uso dos seus propios algoritmos de filtrado e non permite permiten establecer regras complexas que se superpoñen en función das condicións.

Na implementación da terceira versión do manifesto proposta en Firefox, engadiuse unha nova API declarativa para o filtrado de contido, pero a diferenza de Chrome, non deixaron de soportar o antigo modo de funcionamento de bloqueo da API webRequest. Outras características da nova implementación do manifesto en Firefox inclúen:

  • O manifesto define a substitución das páxinas en segundo plano coa opción Service Workers, que se executa como procesos en segundo plano (Background Service Workers). Para garantir a compatibilidade, Firefox implementará este requisito, pero ademais ofrecerá un novo mecanismo de páxinas de eventos, que é máis familiar para os desenvolvedores web, non require unha reelaboración completa dos complementos e elimina as limitacións asociadas ao uso de Service Workers. As páxinas de eventos permitirán que as adicións de páxinas en segundo plano existentes cumpran cos requisitos da terceira versión do manifesto, mantendo o acceso a todas as capacidades necesarias para traballar co DOM. Na implementación de manifesto dispoñible para probar en Firefox, actualmente só se admiten as páxinas de eventos, e promete engadir soporte para unha solución baseada en Service Workers máis tarde. Apple apoiou a proposta e implementou páxinas de eventos en Safari Technology Preview 136.
  • O novo modelo de solicitude de permiso granular: o complemento non poderá activarse para todas as páxinas á vez (eliminouse o permiso "all_urls"), pero só funcionará no contexto da pestana activa, é dicir. o usuario terá que confirmar que o complemento funciona para cada sitio. En Firefox, todas as solicitudes de acceso aos datos do sitio consideraranse opcionais, e a decisión final sobre conceder o acceso será tomada polo usuario, que poderá decidir de forma selectiva que complemento conceder acceso aos seus datos nun sitio concreto.
  • Cambio no tratamento de solicitudes de orixe cruzada: de acordo co novo manifesto, os scripts de procesamento de contido estarán suxeitos ás mesmas restricións de permisos que para a páxina principal na que se incrustan estes scripts (por exemplo, se a páxina non ten acceso ao API de localización, os complementos de script tampouco recibirán este acceso). Este cambio está totalmente implementado en Firefox.
  • API baseada en promesas. Firefox xa admite esta API e moveraa ao espazo de nomes "chrome.*" para a terceira versión do manifesto.
  • Prohibición da execución de código descargado de servidores externos (falamos de situacións nas que o complemento carga e executa código externo). Firefox xa usa o bloqueo de código externo e os desenvolvedores de Mozilla engadiron técnicas de seguimento de descarga de código adicionais que se ofrecen na terceira versión do manifesto. Para os scripts de procesamento de contido, ofrécese unha política de restrición de acceso ao contido separada (CSP, Política de seguridade de contido).

Fonte: opennet.ru

Engadir un comentario