Firefox ha comenzado a probar la tercera versión del manifiesto de Chrome.

La empresa Mozilla ha anunciado el inicio de las pruebas de la implementación de la tercera versión del manifiesto de Chrome en Firefox, que define las capacidades y recursos disponibles para las extensiones escritas utilizando la API WebExtensions. Para probar la tercera versión del manifiesto en la versión beta de Firefox 101, se debe establecer el parámetro «extensions.manifestV3.enabled» en true y el parámetro «xpinstall.signatures.required» en false en la página about:config. Para instalar extensiones, se puede utilizar la interfaz about:debugging. Se planea habilitar la tercera versión del manifiesto por defecto para fines de año.

Desde la versión 57, Firefox ha pasado completamente al uso de la API WebExtensions para el desarrollo de extensiones y ha discontinuado el soporte para la tecnología XUL. La transición a WebExtensions ha permitido unificar el desarrollo de extensiones con las plataformas de Chrome, Opera, Safari y Edge, simplificando el portado de extensiones entre diferentes navegadores web y permitiendo el uso completo del modo multiproceso (las extensiones WebExtensions pueden ejecutarse en procesos separados, aislados del resto del navegador). Para unificar el desarrollo de extensiones con otros navegadores, Firefox asegura una compatibilidad casi total con la segunda versión del manifiesto de Chrome.

Actualmente, en Chrome se trabaja en la transición a la tercera versión del manifiesto, y el soporte para la segunda versión se finalizará en enero de 2023. Dado que la tercera versión del manifiesto ha sido objeto de críticas y llevará a la interrupción del funcionamiento de muchas extensiones para bloquear contenido no deseado y asegurar la seguridad, la empresa Mozilla ha decidido alejarse de la práctica de garantizar una compatibilidad total con el manifiesto en Firefox e implementar de manera diferente algunos cambios.

La principal insatisfacción con la tercera versión del manifiesto se relaciona con el cambio del API webRequest a un modo de solo lectura, que permitía conectar controladores propios con acceso total a las solicitudes de red y la capacidad de modificar el tráfico al vuelo. Este API se utiliza en uBlock Origin y muchas otras extensiones para bloquear contenido no deseado y garantizar la seguridad. En lugar del API webRequest, la tercera versión del manifiesto propone un API declarativeNetRequest, que tiene capacidades limitadas, proporcionando acceso a un motor integrado para filtrado que procesa reglas de bloqueo por sí mismo, sin permitir el uso de algoritmos de filtrado propios, ni la creación de reglas complejas que se superpongan entre sí según las condiciones.

En la implementación de la tercera versión del manifiesto en Firefox, se añadió una nueva API declarativa para el filtrado de contenido, pero a diferencia de Chrome, no se ha dejado de lado el modo de operación del API webRequest. Entre otras características de la nueva implementación del manifiesto en Firefox están:

  • El manifiesto define la sustitución de las páginas en segundo plano por una variante de Service Workers, que funciona como procesos en segundo plano (Background Service Workers). Para garantizar la compatibilidad, Firefox implementará este requisito, pero además se ha propuesto un nuevo mecanismo llamado Event Pages, que es más familiar para los desarrolladores web, no requiere una reestructuración completa de las extensiones y elimina las limitaciones asociadas al uso de Service Workers. Event Pages permitirá adaptar las extensiones existentes con páginas en segundo plano a los requisitos de la tercera versión del manifiesto, manteniendo el acceso a todas las funciones necesarias para trabajar con el DOM. En la implementación del manifiesto que está disponible para pruebas en Firefox, actualmente solo se admiten Event Pages, y la compatibilidad con la solución basada en Service Workers se promete para más adelante. Esta propuesta ha sido respaldada por Apple, que ha implementado Event Pages en la versión 136 de Safari Technology Preview.
  • Un nuevo modelo granular de solicitud de permisos: el complemento no podrá activarse de inmediato para todas las páginas (se ha eliminado el permiso "all_urls"), y solo funcionará en el contexto de la pestaña activa, es decir, el usuario deberá confirmar la funcionalidad del complemento para cada sitio. En Firefox, todas las solicitudes de acceso a los datos del sitio se considerarán opcionales, y la decisión final sobre la concesión de acceso será tomada por el usuario, quien podrá decidir selectivamente a qué complemento otorgar acceso a sus datos en un sitio dado.
  • Cambio en el manejo de solicitudes Cross-origin: de acuerdo con el nuevo manifiesto, las restricciones de permisos se aplicarán a los scripts de procesamiento de contenido de la misma manera que a la página principal en la que se implementan estos scripts (por ejemplo, si la página no tiene acceso a la API de definición de ubicación, el script del complemento tampoco obtendrá ese acceso). Este cambio ya se ha implementado completamente en Firefox.
  • API basado en Promise. Firefox ya soporta esta API y la trasladará al espacio de nombres 'chrome.*' para la tercera versión del manifiesto.
  • Prohibición de la ejecución de código cargado desde fuentes externas servidores (se refiere a situaciones en las que una extensión carga y ejecuta código externo). Firefox ya aplica el bloqueo de código externo y los desarrolladores de Mozilla han añadido técnicas adicionales para rastrear la descarga de código propuestas en la tercera versión del manifiesto. Para los scripts de procesamiento de contenido se ha presentado una política separada de restricción de acceso al contenido (CSP, Content Security Policy).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster