Planes para el soporte en Firefox de las versiones dos y tres del manifiesto de Chrome.

Los desarrolladores de Mozilla han actualizado la información sobre los planes relacionados con el soporte en Firefox para la segunda y tercera versión del manifiesto de Chrome. Google tiene previsto dejar de soportar extensiones que utilizan la segunda versión del manifiesto en las versiones de prueba de Chrome 127 (Dev, Canary y Beta) en junio de este año. En la rama estable, el soporte para la segunda versión del manifiesto se suspenderá no antes de julio.

Por su parte, Mozilla no tiene previsto suspender el soporte de la segunda versión del manifiesto en el futuro cercano y mantendrá la posibilidad de ejecutar extensiones que utilizan funciones no disponibles en la tercera versión del manifiesto. Sigue en pie la decisión de no garantizar la compatibilidad total con la tercera versión del manifiesto de Chrome en Firefox. Se mantendrá una API webRequest completa en Firefox, que en Chrome será trasladada a un modo de solo lectura.

En Firefox, también se mantendrá el soporte para la ejecución de scripts en segundo plano basados en DOM mediante el mecanismo Event Pages, en lugar de los Service Workers que se estipulan en la tercera versión del manifiesto. Aún no se soportan los scripts en segundo plano basados en Service Workers en Firefox, pero se les dará a los desarrolladores la opción de definir en la extensión tanto un manejador basado en Event Pages como scripts basados en Service Workers, lo que permitirá crear extensiones compatibles con la tercera versión del manifiesto que 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 ha migrado completamente al uso de la API WebExtensions para el desarrollo de extensiones y ha dejado de soportar la tecnología XUL. La transición a WebExtensions permitió unificar el desarrollo de extensiones con las plataformas de Chrome, Opera, Safari y Edge, simplificando la portabilidad 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 ofrece casi total compatibilidad con la segunda versión del manifiesto de Chrome.

En el marco de la iniciativa para simplificar la creación de complementos seguros y de alto rendimiento, y complicar la posibilidad de crear complementos inseguros y lentos, Google ha desarrollado la tercera versión del manifiesto. La principal queja respecto a la tercera versión del manifiesto se debe a la transición del API webRequest a un modo de solo lectura, que permitía conectar manejadores propios con acceso completo a las solicitudes de red y que podían modificar el tráfico en tiempo real. En lugar del API webRequest, la tercera versión del manifiesto introduce un API declarativeNetRequest limitado en sus capacidades, que proporciona acceso a un motor integrado para filtrado, que procesa las reglas de bloqueo por sí mismo y no permite el uso de algoritmos de filtrado personalizados.

Entre las características de la implementación de la tercera versión del manifiesto en Firefox:

  • Se ha añadido una nueva API de filtrado de contenido declarativa, pero a diferencia de Chrome, no se ha interrumpido el soporte para el antiguo modo de bloqueo del API webRequest.
  • Se ha implementado el mecanismo Event Pages, que es más familiar para los desarrolladores web, no requiere una reestructuración completa de los complementos y elimina las limitaciones relacionadas con el uso de Service Workers. Event Pages permitirá llevar los complementos existentes con páginas de fondo a los requisitos de la tercera versión del manifiesto, manteniendo el acceso a todas las funcionalidades necesarias para trabajar con DOM.
  • 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.

    Para gestionar los permisos, se ha añadido un botón "Unified Extensions" en la interfaz para administrar directamente a qué sitios tiene acceso cada complemento; el usuario puede conceder y revocar el acceso de un complemento a cualquier sitio. La gestión de permisos se aplica únicamente a los complementos basados en la tercera versión del manifiesto; para los complementos de la segunda versión del manifiesto, no se realiza la gestión granular del acceso a los sitios.

    Planes para el soporte en Firefox de las versiones dos y tres del manifiesto de Chrome.
  • 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 basada en Promise. Firefox admite esta API también para la tercera versión del manifiesto.
  • Prohibición de la ejecución de código cargado desde fuentes externas servidores (hablando de situaciones donde el complemento carga y ejecuta código externo). En Firefox, se aplica un bloqueo del código externo y los desarrolladores de Mozilla han añadido técnicas adicionales para rastrear la carga de código. Para los scripts de procesamiento de contenido, se ha establecido una política separada de limitació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