Mientras que Google eliminara la compatibilidad con el manifiesto de Chrome v2 y v3, Firefox planea mantenerla
Hace poco los desarrolladores de Mozilla que están a cargo de Firefox, dieron a conocer sus planes relacionados con el soporte de las versiones 2 y 3 del manifiesto de Chrome en Firefox. Y es que, aunque Google tiene la intención de dejar de admitir complementos que utilicen la segunda versión del manifiesto en las versiones de prueba de Chrome 127 Mozilla ha decidido no dejar de admitir la segunda versión del manifiesto en el futuro previsible.
Además de ello Mozilla asegura que mantendrá la capacidad de lanzar complementos que utilicen funciones no disponibles en la tercera versión del manifiesto. La decisión de no hacer que Firefox sea totalmente compatible con la versión 3 del manifiesto de Chrome sigue vigente. Firefox conservará la API webRequest completa, la cual cambiará al modo de solo lectura en Chrome.
Además, Firefox utilizará el mecanismo de páginas de eventos para conservar el soporte para ejecutar scripts en segundo plano basados en el DOM. Mientras que la tercera versión del manifiesto requiere el uso de Service Workers, los scripts en segundo plano basados en Service Workers aún no son compatibles con Firefox. Sin embargo, los desarrolladores tendrán la oportunidad de definir tanto un controlador basado en páginas de eventos como scripts basados en Service Workers en el complemento, lo que les permitirá crear complementos que cumplan con la tercera versión del manifiesto y funcionen en Chrome y Firefox.
El manifiesto de Chrome define las capacidades y recursos disponibles para las extensiones escritas utilizando la API WebExtensions. Desde la versión 57, Firefox pasó por completo a utilizar la API WebExtensions para desarrollar complementos, abandonando la tecnología XUL.
Esta transición permitió unificar el desarrollo de complementos con otras plataformas como Chrome, Opera, Safari y Edge, simplificó la transferencia de complementos entre diferentes navegadores web y habilitó completamente el modo multiproceso de operación. Firefox proporciona compatibilidad casi total con la segunda versión del manifiesto de Chrome para unificar el desarrollo de complementos con otros navegadores.
Como parte de una iniciativa para facilitar la creación de complementos seguros y de alto rendimiento, y dificultar la creación de complementos lentos e inseguros, Google ha desarrollado la versión tres del manifiesto. Sin embargo, ha habido descontento principalmente debido a la traducción al modo de solo lectura de la API webRequest en la tercera versión del manifiesto.
La principal preocupación con la tercera versión del manifiesto radica en la traducción de la API webRequest al modo de solo lectura, lo que ha generado cierto descontento entre los desarrolladores. Esta API permitía conectar controladores propios que tenían acceso completo a las solicitudes de red y podían modificar el tráfico de manera dinámica. En lugar de la API webRequest, la tercera versión del manifiesto agregó la API declarativaNetRequest, que tiene capacidades más limitadas y proporciona acceso al motor de filtrado integrado sin permitir el uso de algoritmos de filtrado propios.
A pesar de estas diferencias y desafíos, Firefox ha implementado características importantes al adoptar la tercera versión del manifiesto de Chrome:
- Una nueva API de filtrado de contenido declarativo en la cual se ha mantenido la compatibilidad con el antiguo modo de bloqueo de la API webRequest.
- Implementación del mecanismo de Páginas de eventos: Este mecanismo elimina las limitaciones asociadas con el uso de Service Workers y permite que las adiciones de páginas de fondo cumplan con los requisitos de la tercera versión del manifiesto.
- Firefox ha introducido un nuevo modelo de permisos que requiere la aprobación del usuario para cada sitio en el que el complemento desea funcionar.
- Se ha agregado un botón «Extensiones unificadas» para controlar directamente el acceso de cada complemento a los sitios.
- Cambio en el procesamiento de solicitudes de origen cruzado: Se aplican las mismas restricciones de permisos a los scripts de procesamiento de contenido que a la página principal en la que están integrados.
- Firefox ha implementado restricciones para evitar la ejecución de código descargado de fuentes externas, aumentando así la seguridad de los complementos.
Finalmene si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.