La société Google de la troisième version du manifeste Chrome, de nombreux modules d'extension pour bloquer le contenu indésirable et assurer la sécurité. Le support du nouveau manifeste, qui définit les capacités et les ressources fournies aux modules d'extension, a été ajouté dans les versions expérimentales .
Le nouveau manifeste a été élaboré dans le cadre du renforcement de la sécurité, de la confidentialité et des performances des modules d'extension (l'objectif principal est de simplifier la création de modules sécurisés et performants, et de compliquer la création de modules non sécurisés et lents).
Le manifeste est actuellement en phase de test alpha précoce, n'est pas définitif et a été ajouté pour permettre aux développeurs de commencer à expérimenter et à adapter leurs modules.
L'activation du nouveau manifeste est prévue pour l'année prochaine. Le moment de l'arrêt du support de la seconde version du manifeste n'est pas encore défini.
Pour faciliter la migration des modules vers le nouveau manifeste, une , comprenant les changements auxquels les développeurs doivent prêter attention, a été préparée.
Rappelons que est lié à l'arrêt du support du mode de blocage de l'API webRequest, qui sera limité au mode en lecture seule. Une exception sera faite uniquement pour l'édition Chrome pour entreprises (Chrome for Enterprise), où le support de l'API webRequest sera maintenu. L'entreprise Mozilla a décidé de ne pas suivre le nouveau manifeste et de conserver dans Firefox la possibilité d'utiliser pleinement l'API webRequest.
Au lieu de l'API webRequest pour filtrer le contenu, le nouveau manifeste propose une API déclarative . 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.
Le nouveau manifeste présente également d'autres changements affectant la compatibilité avec les modules. Parmi eux :
- Passage à l'exécution des Service workers sous forme de processus d'arrière-plan, nécessitant des modifications de code de la part des développeurs pour certaines extensions.
- Nouveau modèle granulaire de demande d'autorisations — l'extension ne pourra pas s'activer immédiatement pour toutes les pages (l'autorisation « 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.
- Modification du traitement des requêtes Cross-origin — conformément au nouveau manifeste, les scripts de traitement de contenu seront soumis aux mêmes restrictions d'autorisation que 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, alors le script de l'extension n'aura également pas cet accès).
- Interdiction d'exécuter du code chargé depuis des serveurs externes (il s'agit des situations où l'extension charge et exécute un code externe).
Source : opennet.ru
