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.