mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
f67ebb90ae
--HG-- rename : modules/plugin/samples/4x-scriptable/acmeIScriptObject.idl => modules/plugin/sdk/samples/4x-scriptable/acmeIScriptObject.idl rename : modules/plugin/samples/4x-scriptable/doc.html => modules/plugin/sdk/samples/4x-scriptable/doc.html rename : modules/plugin/samples/4x-scriptable/makefile.win => modules/plugin/sdk/samples/4x-scriptable/makefile.win rename : modules/plugin/samples/4x-scriptable/np4xscr.def => modules/plugin/sdk/samples/4x-scriptable/np4xscr.def rename : modules/plugin/samples/4x-scriptable/np4xscr.rc => modules/plugin/sdk/samples/4x-scriptable/np4xscr.rc rename : modules/plugin/samples/4x-scriptable/np_entry.cpp => modules/plugin/sdk/samples/4x-scriptable/np_entry.cpp rename : modules/plugin/samples/4x-scriptable/npmac.cpp => modules/plugin/sdk/samples/4x-scriptable/npmac.cpp rename : modules/plugin/samples/4x-scriptable/npn_gate.cpp => modules/plugin/sdk/samples/4x-scriptable/npn_gate.cpp rename : modules/plugin/samples/4x-scriptable/npp_gate.cpp => modules/plugin/sdk/samples/4x-scriptable/npp_gate.cpp rename : modules/plugin/samples/4x-scriptable/nsI4xScriptablePlugin.idl => modules/plugin/sdk/samples/4x-scriptable/nsI4xScriptablePlugin.idl rename : modules/plugin/samples/4x-scriptable/nsScriptablePeer.cpp => modules/plugin/sdk/samples/4x-scriptable/nsScriptablePeer.cpp rename : modules/plugin/samples/4x-scriptable/nsScriptablePeer.h => modules/plugin/sdk/samples/4x-scriptable/nsScriptablePeer.h rename : modules/plugin/samples/4x-scriptable/nsScriptablePeer1.cpp => modules/plugin/sdk/samples/4x-scriptable/nsScriptablePeer1.cpp rename : modules/plugin/samples/4x-scriptable/nsScriptablePeer1.h => modules/plugin/sdk/samples/4x-scriptable/nsScriptablePeer1.h rename : modules/plugin/samples/4x-scriptable/plugin.cpp => modules/plugin/sdk/samples/4x-scriptable/plugin.cpp rename : modules/plugin/samples/4x-scriptable/plugin.h => modules/plugin/sdk/samples/4x-scriptable/plugin.h rename : modules/plugin/samples/4x-scriptable/readme.txt => modules/plugin/sdk/samples/4x-scriptable/readme.txt rename : modules/plugin/samples/4x-scriptable/resource.h => modules/plugin/sdk/samples/4x-scriptable/resource.h rename : modules/plugin/samples/4x-scriptable/script-test.html => modules/plugin/sdk/samples/4x-scriptable/script-test.html rename : modules/plugin/samples/4x-scriptable/test.html => modules/plugin/sdk/samples/4x-scriptable/test.html rename : modules/plugin/samples/SanePlugin/Makefile.in => modules/plugin/sdk/samples/SanePlugin/Makefile.in rename : modules/plugin/samples/SanePlugin/README => modules/plugin/sdk/samples/SanePlugin/README rename : modules/plugin/samples/SanePlugin/nsSanePlugin.cpp => modules/plugin/sdk/samples/SanePlugin/nsSanePlugin.cpp rename : modules/plugin/samples/SanePlugin/nsSanePlugin.h => modules/plugin/sdk/samples/SanePlugin/nsSanePlugin.h rename : modules/plugin/samples/SanePlugin/nsSanePluginControl.idl => modules/plugin/sdk/samples/SanePlugin/nsSanePluginControl.idl rename : modules/plugin/samples/SanePlugin/nsSanePluginFactory.cpp => modules/plugin/sdk/samples/SanePlugin/nsSanePluginFactory.cpp rename : modules/plugin/samples/SanePlugin/nsSanePluginFactory.h => modules/plugin/sdk/samples/SanePlugin/nsSanePluginFactory.h rename : modules/plugin/samples/SanePlugin/nsSanePlugin_CID.h => modules/plugin/sdk/samples/SanePlugin/nsSanePlugin_CID.h rename : modules/plugin/samples/SanePlugin/test/camera.html => modules/plugin/sdk/samples/SanePlugin/test/camera.html rename : modules/plugin/samples/SanePlugin/test/scanner.html => modules/plugin/sdk/samples/SanePlugin/test/scanner.html rename : modules/plugin/samples/npruntime/Makefile.in => modules/plugin/sdk/samples/npruntime/Makefile.in rename : modules/plugin/samples/npruntime/np_entry.cpp => modules/plugin/sdk/samples/npruntime/np_entry.cpp rename : modules/plugin/samples/npruntime/npn_gate.cpp => modules/plugin/sdk/samples/npruntime/npn_gate.cpp rename : modules/plugin/samples/npruntime/npp_gate.cpp => modules/plugin/sdk/samples/npruntime/npp_gate.cpp rename : modules/plugin/samples/npruntime/nprt.def => modules/plugin/sdk/samples/npruntime/nprt.def rename : modules/plugin/samples/npruntime/nprt.rc => modules/plugin/sdk/samples/npruntime/nprt.rc rename : modules/plugin/samples/npruntime/plugin.cpp => modules/plugin/sdk/samples/npruntime/plugin.cpp rename : modules/plugin/samples/npruntime/plugin.h => modules/plugin/sdk/samples/npruntime/plugin.h rename : modules/plugin/samples/npruntime/resource.h => modules/plugin/sdk/samples/npruntime/resource.h rename : modules/plugin/samples/npruntime/test.html => modules/plugin/sdk/samples/npruntime/test.html rename : modules/plugin/samples/npthread/windows/action.cpp => modules/plugin/sdk/samples/npthread/windows/action.cpp rename : modules/plugin/samples/npthread/windows/action.h => modules/plugin/sdk/samples/npthread/windows/action.h rename : modules/plugin/samples/npthread/windows/dbg.cpp => modules/plugin/sdk/samples/npthread/windows/dbg.cpp rename : modules/plugin/samples/npthread/windows/dbg.h => modules/plugin/sdk/samples/npthread/windows/dbg.h rename : modules/plugin/samples/npthread/windows/np_entry.cpp => modules/plugin/sdk/samples/npthread/windows/np_entry.cpp rename : modules/plugin/samples/npthread/windows/npn_gate.cpp => modules/plugin/sdk/samples/npthread/windows/npn_gate.cpp rename : modules/plugin/samples/npthread/windows/npp_gate.cpp => modules/plugin/sdk/samples/npthread/windows/npp_gate.cpp rename : modules/plugin/samples/npthread/windows/npthread.def => modules/plugin/sdk/samples/npthread/windows/npthread.def rename : modules/plugin/samples/npthread/windows/npthread.dsp => modules/plugin/sdk/samples/npthread/windows/npthread.dsp rename : modules/plugin/samples/npthread/windows/npthread.dsw => modules/plugin/sdk/samples/npthread/windows/npthread.dsw rename : modules/plugin/samples/npthread/windows/npthread.rc => modules/plugin/sdk/samples/npthread/windows/npthread.rc rename : modules/plugin/samples/npthread/windows/plugin.cpp => modules/plugin/sdk/samples/npthread/windows/plugin.cpp rename : modules/plugin/samples/npthread/windows/plugin.h => modules/plugin/sdk/samples/npthread/windows/plugin.h rename : modules/plugin/samples/npthread/windows/plugload.cpp => modules/plugin/sdk/samples/npthread/windows/plugload.cpp rename : modules/plugin/samples/npthread/windows/plugload.h => modules/plugin/sdk/samples/npthread/windows/plugload.h rename : modules/plugin/samples/npthread/windows/readme.txt => modules/plugin/sdk/samples/npthread/windows/readme.txt rename : modules/plugin/samples/npthread/windows/resource.h => modules/plugin/sdk/samples/npthread/windows/resource.h rename : modules/plugin/samples/npthread/windows/thread.cpp => modules/plugin/sdk/samples/npthread/windows/thread.cpp rename : modules/plugin/samples/npthread/windows/thread.h => modules/plugin/sdk/samples/npthread/windows/thread.h rename : modules/plugin/samples/testevents/Makefile => modules/plugin/sdk/samples/testevents/Makefile rename : modules/plugin/samples/testevents/Makefile.in => modules/plugin/sdk/samples/testevents/Makefile.in rename : modules/plugin/samples/testevents/README.txt => modules/plugin/sdk/samples/testevents/README.txt rename : modules/plugin/samples/testevents/SimpleEventsTest.html => modules/plugin/sdk/samples/testevents/SimpleEventsTest.html rename : modules/plugin/samples/testevents/npevents.cpp => modules/plugin/sdk/samples/testevents/npevents.cpp rename : modules/plugin/samples/testevents/nsIEventsPluginInstance.idl => modules/plugin/sdk/samples/testevents/nsIEventsPluginInstance.idl rename : modules/plugin/samples/unixprinting/Makefile.in => modules/plugin/sdk/samples/unixprinting/Makefile.in rename : modules/plugin/samples/unixprinting/npprint.pkg => modules/plugin/sdk/samples/unixprinting/npprint.pkg rename : modules/plugin/samples/unixprinting/npshell.c => modules/plugin/sdk/samples/unixprinting/npshell.c rename : modules/plugin/samples/unixprinting/npunix.c => modules/plugin/sdk/samples/unixprinting/npunix.c rename : modules/plugin/samples/unixprinting/printplugin.c => modules/plugin/sdk/samples/unixprinting/printplugin.c rename : modules/plugin/samples/unixprinting/printplugin.h => modules/plugin/sdk/samples/unixprinting/printplugin.h rename : modules/plugin/samples/unixprinting/unixprintplugin_test1.html => modules/plugin/sdk/samples/unixprinting/unixprintplugin_test1.html rename : modules/plugin/samples/unixprinting/unixprintplugin_test2.html => modules/plugin/sdk/samples/unixprinting/unixprintplugin_test2.html
40 lines
1.7 KiB
Plaintext
40 lines
1.7 KiB
Plaintext
This is a plugin sample which demonstrates how with minimal modifications
|
|
in the 4.x legacy plugin code to achieve scripting functionality despite
|
|
of Mozilla not supporting LiveConnect in the way it was supported in
|
|
Netscape Communicator.
|
|
|
|
To build the sample:
|
|
|
|
1. create .xpt and nsI4xScrPlugin.h out of nsI4xScrPlugin.idl file
|
|
using Netscape idl compiler xpidl.exe. The command options are:
|
|
xpidl -m header nsI4xScrPlugin.idl
|
|
xpidl -m typelib nsI4xScrPlugin.idl
|
|
nsISupports.idl and nsrootidl.idl are needed for this.
|
|
|
|
2. create a project and build np4xscr.dll -- the plugin itself
|
|
|
|
3. place .xpt file in the components directory and the dll in the
|
|
plugins directory
|
|
|
|
4. load test.html and see it in work
|
|
|
|
The current sample code was written for Windows but can be easily
|
|
modified for other platforms.
|
|
|
|
Important notice: although developers who work on xpcom plugins
|
|
are strongly encouraged to use Netscape macros for common interface
|
|
method declarations and implementations, in the present sample we
|
|
decided to use their manual implementation. This is because the technique
|
|
shown in the sample may be useful for plugins which are supposed to
|
|
work under both Mozilla based browsers and Netscape Communicator
|
|
(4.x browsers). Using the macros requires linking against some
|
|
libraries which are not present in 4.x browsers (xpcom.lib, nspr.lib).
|
|
|
|
Files which under other circumstances would benefit from using
|
|
the macros are nsScriptablePeer.h and nsScriptablePeer.cpp. The versions
|
|
which use macros are also included (nsScriptablePeer1.h and
|
|
nsScriptablePeer1.cpp) for reference purposes.
|
|
|
|
Some header files from mozilla/dist/include and some .idl files from
|
|
mozilla/dist/idl are still needed to successfully build the sample.
|