Entreprise Mozilla , bien que malgré l'utilisation dans Firefox du système d'extensions basé sur l'API WebExtensions, les développeurs n'ont pas l'intention de suivre complètement la future troisième version du manifeste des extensions Chrome. En particulier, Firefox continuera de prendre en charge le mode de travail bloquant de l'API , permettant de modifier le contenu reçu à la volée et prisé dans les bloqueurs de publicité et les systèmes de filtrage de contenu.
L'idée principale du passage à l'API WebExtensions était l'unification de la technologie de développement des extensions pour Firefox et Chrome, c'est pourquoi, dans sa forme actuelle, Firefox assure presque à 100 % la compatibilité avec la deuxième version actuelle du manifeste Chrome. Le manifeste définit la liste des possibilités et des ressources offertes aux extensions. En raison de l'introduction de mesures restrictives dans la troisième version du manifeste, perçues négativement par les développeurs d'extensions, Mozilla s'éloignera de la pratique de suivre entièrement le manifeste et ne transférera pas dans Firefox les changements qui compromettent la compatibilité avec les extensions.
Rappelons que , la société Google prévoit de mettre fin au support dans Chrome du mode de travail bloquant de l'API webRequest, en le limitant à un mode de lecture uniquement et en proposant un nouvel API déclaratif pour le filtrage de contenu . Alors que l'API webRequest permettait d'attacher ses propres gestionnaires, ayant un accès complet aux requêtes réseau et capables de modifier le trafic à la volée, la nouvelle API declarativeNetRequest fournit un accès à un moteur intégré universel prêt à l'emploi pour le filtrage, traitant seul les règles de blocage, interdisant l'utilisation de ses propres algorithmes de filtrage et ne permettant pas de définir des règles complexes qui se chevauchent en fonction des conditions.
Mozilla évalue également la pertinence du transfert dans Firefox du soutien à certains autres changements de la troisième version du manifeste Chrome, compromettant la compatibilité avec les extensions :
- Le passage à l'exécution des Service workers sous forme de processus en arrière-plan, ce qui exigera des développeurs qu'ils modifient le code de certaines extensions. Bien que cette nouvelle méthode soit plus optimale en termes de performances, Mozilla envisage de maintenir la prise en charge de l'exécution des pages de fond.
- Un nouveau modèle granulaire de demande de permissions - l'extension ne pourra pas s'activer immédiatement pour toutes les pages (la permission « all_urls » a été supprimée), mais fonctionnera uniquement dans le contexte de l'onglet actif, c'est-à-dire que l'utilisateur devra confirmer l'utilisation de l'extension pour chaque site. Mozilla explore des moyens d'améliorer le contrôle d'accès sans distraire constamment l'utilisateur.
- Le changement dans le traitement des requêtes Cross-origin — conformément au nouveau manifeste, les mêmes restrictions de pouvoir s'appliquer aux scripts de traitement de contenu que celles de la page principale dans laquelle ces scripts sont intégrés (par exemple, si la page n'a pas accès à l'API de définition de localisation, le script d'extension n'aura également pas cet accès). Ce changement est prévu pour être mis en œuvre dans Firefox.
- Interdiction de l'exécution de code chargé depuis des serveurs externes (cela concerne les situations où une extension charge et exécute du code externe). Firefox bloque déjà le code externe et les développeurs de Mozilla sont favorables à renforcer cette protection en appliquant des techniques supplémentaires de suivi du chargement de code, proposées dans la troisième version du manifeste.
Source : opennet.ru
