Envoyé par : David Marteau
Date : 26/04/2007 09:42
Les exemples du tronc de mozilla qui utilisent XPConnect utilisent npruntime pour la partie non-scriptable (initialisation). Dans certains cas, la couche npruntime est simplement encapsulée dans une interface C++.
On peut créer des plugin qui utilisent à a 100% NPAPI pour la partie scriptable, cela à l'avantage de les rendre compatible avec Opéra ou Safari - Mais personnellement je trouve que c'est vraiment très pénible à implémenter.
Sinon cf http://developer.mozilla.org/en/docs/Category:NPAPI
Envoyé par : guillaume
Date : 26/04/2007 10:42
Merci pour ces réponses.
J'ai toujours le problème de non-detection de mon plugin. Malgré le fait que la compilation se passe bien, j'en viens à penser que j'utilise peut-être de mauvaises options, une mauvaise version de source ...
Je vous donne le détail de ce que j'utilise :
. $topsrcdir/xulrunner/config/mozconfig export MOZILLA_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 mk_add_options MOZ_CO_PROJECT=xulrunner ac_add_options --enable-application=xulrunner ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --disable-optimize ac_add_options --enable-default-toolkit=gtk2 ac_add_options --enable-xft ac_add_options --disable-freetype2 ac_add_options --enable-svg ac_add_options --enable-svg-renderer=libart mk_add_options MOZ_CO_MODULE=mozilla/other-licenses/libart_lgpl ac_add_options --enable-extensions=default,appliguillaume_video ac_add_options --disable-javaxpcom
DEPTH = ../.. topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk MODULE = nsVideo LIBRARY_NAME = nsVideo REQUIRES = xpcom \ idl \ caps \ plugin \ dom \ java \ layout \ gfx \ widget \ necko \ content \ string \ mimetype \ exthandler \ $(NULL) CPPSRCS = nsVideo.cpp \ plugin.cpp \ np_entry.cpp \ npp_gate.cpp \ npn_gate.cpp \ $(NULL) XPIDLSRCS = nsIVideo.idl include $(topsrcdir)/config/rules.mk DEFINES += -DMOZILLA_STRICT_API EXTRA_DSO_LDOPTS += $(XLDFLAGS) -rdynamic -lXi -lXext -lX11 -lm -lXt -Wl-rpath,/home/guillaume/xulrunner_source/mozilla/dist/lib `pkg-config --libs gtk+-2.0 gthread-2.0` \ $(XPCOM_GLUE_LDOPTS) \ $(NSPR_LIBS) \ $(NULL) \ CXXFLAGS += `pkg-config --cflags gtk+-2.0` \ -fno-rtti \ -fno-exceptions \ -shared INSTALL_PLUGIN = $(CONFIG_TOOLS)/nsinstall -R INSTALL = true ifeq ($(OS_ARCH), UNIX) # This needs to get defined for npapi.h on unix platforms. DEFINES += -DXP_UNIX endif LOCAL_INCLUDES += -I$(srcdir)/$(XPIDL_GEN_DIR) -I$(srcdir)/../../include -I$(srcdir)/../../../include install-plugin: $(SHARED_LIBRARY) $(INSTALL_PLUGIN) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(DIST)/bin/plugins ifdef SHARED_LIBRARY $(INSTALL_PLUGIN) $(SHARED_LIBRARY) $(DIST)/bin/plugins endif libs:: install-plugin
Je compile en tapant "make -f client.mk build" en étant à la racine du répertoire source de xulrunner.
J'obtiens mon .so et mon .xpt. Mais lors de la copie de ces 2 fichiers dans le répertoire plugins de firefox (ou de mon appli xulrunner), il ne détecte rien !
D'où peut venir le problème ???
Est-ce que le browser n'accède pas à NP_GetMIMEDescription pour je ne sais quelle raison ?
Il n'est plus possible de poster des messages dans ce forum.
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.