Pour la réalisation d'extensions ou d'applications XulRunner, il est peut être nécessaire d'avoir à créer et compiler un composant XPCOM en C++.
Le premier reflexe qui vient souvent est de récupèrer le SDK de Gecko et de l'utiliser pour vos développements. Mais ce n'est pas une bonne idée dans la mesure où il n'est pas livré avec tous les fichiers d'entêtes et tous les fichiers IDL des composants disponibles dans Firefox, Thunderbird ou XulRunner. N'est livré avec le SDK que les fichiers IDL des interfaces déclarées "frozen" (gelées). De ce fait, votre composant ne pourra pas faire appel à beaucoup d'autres composants, certains pourtant pouvant être trés utiles.
De plus, il n'y a plus de SDK officiel depuis la sortie de Gecko 1.8 (Firefox 1.5), à cause justement de ces fichiers manquants. Vous pourriez récupérer une version "nightly build" mais qui peut comporter des incompatibilités (puisque c'est un SDK basé sur le tronc).
En fait Le SDK de Gecko est surtout fait pour ceux qui veulent juste intégrer Gecko dans leur application non XUL. Il n'est pas vraiment fait pour ceux qui veulent créer des composants pour Firefox ou Thunderbird.
Pour pouvoir créer des composants C++, il faut donc récupérer puis compiler les sources de Firefox ou de Thunderbird.
Vous allez donc compiler votre composant avec les sources d'une application Mozilla. Si vous faites un composant pour Firefox, vous prendrez les sources de Firefox. Si vous en faites un pour XulRunner, vous prendrez les sources de XulRunner etc..
Vous pouvez les récuperer sur le serveur ftp : http://ftp.mozilla.org/pub/mozilla.org/.
La marche à suivre ensuite est la suivante :
ToDo : à continuer...
En attendant, vous avez un tutoriel en anglais sur devmo : http://developer.mozilla.org/en/docs/Cre(..)
Une fois compilé, il faut installer le composant dans le repertoire components de l'extension ou de l'application (ainsi que les fichiers xpt si vous avez créée de nouvelles interfaces)
Si vous n'arrivez pas à accéder au composant, à l'instancier :
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.