Mise à jour des extensions pour Firefox 7
Cet article offre des conseils aux développeur·euse·s d'extensions qui souhaitent mettre à jour leurs extensions pour qu'elles fonctionnent dans Firefox 7. Heureusement, la plupart des changements sont relativement mineurs dans cette version, et peu d'extensions devraient nécessiter des modifications importantes pour fonctionner dans Firefox 7.
Note : Pour une liste complète des changements liés aux développeur·euse·s dans Firefox 7, voir Firefox 7 pour les développeuses et développeurs.
Comme toujours, vous devez recompiler tous les composants binaires (angl.) pour les rendre compatibles avec Firefox 7.
Changements XPCOM affectant la compatibilité
La plupart des changements dans cette version sont des suppressions d'interfaces XPCOM, ou des suppressions d'API spécifiques et obsolètes des interfaces.
Interfaces supprimées
Les interfaces suivantes ont été supprimées, car elles n'étaient plus indispensables :
nsIDOM3NodensIDOM3TypeInfoschemaTypeInfonsIDOMNSDocumentnsIDOMDocumentStyle
Vous pouvez obtenir une liste complète des interfaces supprimées dans la section Interfaces supprimées de Firefox 7 pour les développeuses et développeurs.
Changements des méthodes
Certaines interfaces ont des méthodes qui ont été modifiées :
-
Ces interfaces ont été modifiées pour mieux prendre en charge Firefox Sync en ajoutant un nouveau paramètre GUID à plusieurs de leurs méthodes. Le code basé sur JavaScript ne doit pas nécessiter de modifications, car il s'agit simplement de l'ajout d'un nouveau paramètre optionnel. Cependant, les composants binaires doivent être mis à jour pour prendre en compte le nouveau paramètre.
nsIDOMFile-
Un certain nombre de méthodes non standard ont été supprimées de cette interface. Cela affecte les méthodes
File.getDataAsUrl()etFile.getAsBinary()de l'objetFile. Cependant, cette fonctionnalité peut désormais être trouvée dans l'objet standardFileReader.
Autres changements notables
Ces changements n'affectent pas la compatibilité (nous ne plaisantions pas lorsque nous avons dit qu'il n'y avait pas beaucoup de changements qui le faisaient dans cette version), mais ils ajoutent des capacités faciles à exploiter qui pourraient vous être particulièrement utiles.
Déchargement des modules de code JavaScript
La nouvelle méthode Components.utils.unload() vous permet de décharger les modules de code JavaScript précédemment chargés en appelant Components.utils.load(). Cela peut être particulièrement utile avec les extensions sans redémarrage (auto-amorcées), afin de pouvoir décharger une ancienne version d'un module de code lorsqu'une nouvelle version de votre extension est installée.
Préférences embarquées
Vous pouvez désormais avoir des options de préférences embarquées (angl.) dans la fenêtre du gestionnaire de modules complémentaires, ce qui permet aux utilisateur·ice·s de configurer votre module complémentaire sans avoir à ouvrir une boîte de dialogue de préférences séparée. Il y a des limites à ce que les types de contrôles de configuration peuvent être fournis, mais cela reste très utile — de plus, cela fonctionne pour les extensions sans redémarrage (auto-amorcées) (angl.).