(Small technical note on NPAPI plugins.)
Gecko SDK is provided with example NPAPI plugins. While it is rather easy to get Basic plugin running on Ubuntu, it is not so trivial task with Scriptable plugin.
To start with, I assume that Gecko SDK 1.9.1 is downloaded and installed in `/home/user/xulrunner-sdk`.
Back to Scriptable plugin. I found bundled `Makefile.in` not really usable. I wrote my own `Makefile` based on that for Basic plugin:
CFLAGS = -Wall -DXP_UNIX=1 -DMOZ_X11=1 -fPIC -g
INCLUDE = -I/home/user/xulrunner-sdk/include/plugin
npsimpleplugin : plugin.o
cc $(CFLAGS) -shared -o npsimpleplugin.so \
np_entry.o npn_gate.o npp_gate.o plugin.o \
plugin.o : plugin.cpp plugin.h
cc -c $(CFLAGS) $(INCLUDE) \
np_entry.cpp npn_gate.cpp npp_gate.cpp plugin.cpp
Then, time for some code hacks. `NPString.UTF8Characters` and `NPString.UTF8Length` members were changed to lowercase, `NPString.utf8characters` and `NPString.utf8length`. All occurrences in `plugin.cpp` should be fixed.
All done, time to test. Create folder for Mozilla plugins if that does not exist:
Make and install plugin (yes, I know about `make install`):
make && rm *.o && mv npsimpleplugin.so ~/.mozilla/plugins/
Start Firefox and navigate to test page (also available from Mozilla VCS):
Plugin should be recognized and loaded, all fancy buttons and alerts should be working. Enjoy.