Desde hace poco (el 21 de noviembre para ser exactos) el directorio addons.mozilla.org comenzo a aceptar y firmar digitalmente complementos que usan la tercera versión del manifiesto de Chrome, mientras que el soporte para la segunda versión del manifiesto se mantendrá en el futuro previsible, pero a fines de 2023, luego de evaluar la dinámica de la transición de adiciones a la tercera versión del manifiesto, la posibilidad de desaprobar el soporte para la segunda versión del manifiesto el manifiesto será considerado.
El manifiesto de Chrome define las funciones y los recursos disponibles para los complementos escritos con la API de WebExtensions.
A partir de la versión 57, Firefox cambió por completo al uso de la API WebExtensions para desarrollar complementos y dejó de admitir la tecnología XUL. La transición a WebExtensions hizo posible unificar el desarrollo de complementos con las plataformas Chrome, Opera, Safari y Edge, simplificó la transferencia de complementos entre diferentes navegadores web e hizo posible el uso completo del modo multiproceso de operación (los complementos de WebExtensions se pueden ejecutar en procesos separados, aislados de otras partes del navegador). Para unificar el desarrollo de complementos con otros navegadores, Firefox proporciona una compatibilidad casi total con la segunda versión del manifiesto de Chrome.
Chrome se encuentra actualmente en el proceso de migración a la versión 3 del manifiesto, con la versión 2 obsoleta en enero de 2024. El objetivo principal de los cambios realizados en la nueva versión es facilitar la creación de complementos seguros y de alto rendimiento, y dificultar la creación de complementos inseguros y lentos.
Dado que la tercera versión del manifiesto ha sido objeto de críticas y romperá muchos complementos para bloquear contenido y seguridad inapropiados, Mozilla decidió dejar de garantizar la compatibilidad total con el manifiesto en Firefox e implementar algunos cambios de manera diferente.
Entre las características de la implementación del nuevo manifiesto en Firefox:
- Se agregó una nueva API de filtrado de contenido declarativo, pero a diferencia de Chrome, no se eliminó la compatibilidad con el antiguo comportamiento de bloqueo de la API webRequest.
- El manifiesto define el reemplazo de las páginas de fondo con una variante de Service Workers que funcionan como procesos en segundo plano (Background Service Workers). Para compatibilidad futura, Firefox admitirá Service Workers, pero ahora se reemplazan por el nuevo mecanismo de páginas de eventos, que es más familiar para los desarrolladores web, no requiere una revisión completa de los complementos y elimina las limitaciones asociadas con el uso de Trabajadores de servicios. Event Pages llevará los complementos de la página de fondo existentes a los requisitos de la tercera versión del manifiesto, mientras mantiene el acceso a todas las funciones necesarias para trabajar con el DOM.
- Nuevo modelo granular para solicitar permisos: el complemento no podrá activarse para todas las páginas a la vez (se eliminó el permiso «all_urls»), pero solo funcionará en el contexto de la pestaña activa, es decir el usuario deberá confirmar el funcionamiento del complemento para cada sitio. En Firefox, todas las solicitudes para acceder a los datos del sitio se tratarán como opcionales, y la decisión final sobre otorgar acceso la tomará el usuario, quien podrá decidir selectivamente qué complemento otorgará acceso a sus datos en un sitio en particular.
- Para administrar los permisos, se ha agregado un nuevo botón «Extensiones unificadas» a la interfaz, que ya se puede probar en las compilaciones nocturnas de Firefox. El botón proporciona los medios para controlar directamente a qué sitios tiene acceso cada complemento: el usuario puede otorgar y revocar el acceso del complemento a cualquier sitio. El control de permisos se aplica solo a los complementos basados en la tercera versión del manifiesto; para los complementos basados en la segunda versión del manifiesto, no se realiza un control de acceso granular a los sitios.
- Cambiar el procesamiento de solicitudes de origen cruzado: de acuerdo con el nuevo manifiesto, los scripts de procesamiento de contenido estarán sujetos a las mismas restricciones de permisos que para la página principal en la que están integrados estos scripts (por ejemplo, si la página no tiene acceso a la API de ubicación, entonces los complementos de secuencias de comandos tampoco obtendrán este acceso). Este cambio está completamente implementado en Firefox.
Finalmente, cabe mencionar que los complementos se pueden probar en versiones nightly de Firefox. En versiones estables, se habilitará el soporte para la tercera versión del manifiesto en Firefox 109, programado para el 17 de enero de 2023.
Fuente: https://blog.mozilla.org