Mozilla comezará a aceptar complementos baseados na terceira versión do manifesto de Chrome

O 21 de novembro, o directorio AMO (addons.mozilla.org) comezará a aceptar e a asinar dixitalmente complementos mediante a versión 109 do manifesto de Chrome. Estes complementos pódense probar en versións nocturnas de Firefox. Nas versións estables, a compatibilidade coa versión 17 do manifesto estará habilitada en Firefox 2023, prevista para o 2023 de xaneiro de XNUMX. O apoio á segunda versión do manifesto manterase no futuro previsible, pero a finais de XNUMX, tras avaliar a dinámica de transferencia de engadidos á terceira versión do manifesto, a posibilidade de desaprobar o apoio á segunda versión do manifesto. serán considerados.

O manifesto de Chrome define as capacidades e os recursos dispoñibles para as extensións escritas mediante a API de WebExtensions. 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 2024 do manifesto e a compatibilidade coa versión XNUMX deixará de funcionar en xaneiro de XNUMX. O obxectivo principal dos cambios realizados na nova versión é facilitar a creación de complementos seguros e de alto rendemento e dificultar a creación de complementos inseguros e lentos. Dado que a terceira versión do manifesto foi criticada e romperá moitos complementos de bloqueo de contido e de seguridade, Mozilla decidiu deixar de ser totalmente compatible 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.

Entre as características da implementación do novo manifesto en Firefox:

  • Engadiuse unha nova API de filtrado de contido declarativo, pero a diferenza de Chrome, a compatibilidade co antigo modo de bloqueo da API webRequest non se interrompeu.
  • 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 no futuro, Firefox admitirá Service Workers, pero actualmente son substituídos por 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 a o uso de traballadores do servizo. 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.
  • 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.

    Para xestionar os permisos, engadiuse un novo botón "Extensións unificadas" á interface, que xa se pode probar nas versións nocturnas de Firefox. O botón proporciona un medio para controlar directamente a que sitios ten acceso cada complemento: o usuario pode conceder e revogar o acceso dun complemento a calquera sitio. A xestión de permisos só se aplica aos complementos baseados na terceira versión do manifesto para os complementos baseados na segunda versión do manifesto, o control de acceso granular aos sitios non se realiza.

    Mozilla comezará a aceptar complementos baseados na terceira versión do manifesto de Chrome
  • 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 admite esta API e para a terceira versión do manifesto moverao ao espazo de nomes "chrome.*".
  • 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 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