News Xulfr

Du changement dans les composants XPCOM

mercredi 16 juin 2010 à 18:05

La prochaine version majeure de Firefox (la version 4 à priori), aura de nombreux changement dans le système d'extensions XPI. Par exemple, la plupart d'entre elles pourront être installées sans avoir à redémarrer l'application, nous l'avions évoqué dans une news précédente.

Un des obstacles à l'installation d'une extension sans redémarrage, est la façon dont les composants XPCOM sont activés. Actuellement, ils ne peuvent l'être qu'au démarrage. Gecko parcours le dossier components, charge le fichier dll/so/js, et appelle une fonction spécifique, NSGetModule implémentée dans la bibliothèque, pour que les composants puissent s'enregistrer.

Dans un futur proche (d'ici quelques jours ou semaines dans mozilla-central), la déclaration des composants se fera dans le chrome.manifest. Ce sera donc plus simple. Vous pourrez toutefois continuer à implémenter NSGetModule et cie, pour maintenir une compatibilité avec les versions précédentes de Gecko.

Ce changement permettra en plus un démarrage plus rapide de l'application, puisque gecko n'aura plus à parcourir le dossier components et à précharger les bibliothèques.

Une incidence à ce changement : le composant ne pourra plus écouter les notifications "xpcom-startup" et "app-startup", mais devra écouter la notification "profile-after-change", qui est préférable de toute façon, puisque elle est envoyée une fois le profil chargé, donc le composant a accès aux ressources du profil.

Pour plus de détails, et commencer donc à migrer vos composants pour Firefox 4, voir le billet de Dave Townsend.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.