J'ai un contrôle ActiveX qui fonctionne correctement dans Internet Explorer et le programme ActiveX Control Test Container. Le comportement réel du contrôle est divisé en deux parties, où une partie est le gabarit ATL qui s'interface avec l'hôte OLE, et l'autre partie est la vraie viande, qui reçoit juste des rappels pour l'attachement, le dimensionnement, le dessin et la souris/clavier événements.Écrire un plug-in Firefox XPCOM avec une interface de fenêtre native? (comme le contrôle ActiveX)
Maintenant, je veux écrire l'équivalent du gabarit ATL, pour un plugin Firefox (idéalement dans le même binaire, donc je n'ai pas besoin de lier deux binaires, mais je peux être flexible ici). J'ai téléchargé et utilisé le SDK Gecko pour construire un composant XPCOM, et cela semble fonctionner, mais je n'arrive pas à comprendre quelles interfaces mettre en œuvre pour rendre le composant disponible en tant que composant d'interface utilisateur native dans Firefox. Ceci est similaire aux besoins du plug-in Flash player, du plug-in PDF Viewer, du plug-in QuickTime, etc. - javascript et XUL ne suffiront pas. J'ai cherché des exemples sur le web, mais les seuls exemples que je peux trouver sont basés sur l'interface apparemment ancienne NS_PluginInitialize()/NS_NewPluginInstance(), qui n'est pas XPCOM (mais a un autre nom?).
Existe-t-il un moyen de réaliser la même chose avec XPCOM? Si c'est le cas, comment? Et existe-t-il une documentation générale (pas seulement des fiches d'interface) sur la façon de s'y prendre?