NPAPI links
Posted Jun 7 2011, 01:21 by William Shallum [updated Jul 5 2015, 08:22]
- https://developer.mozilla.org/en/Gecko_Plugin_API_Reference important
- http://git.webvm.net/?p=npsimple;a=summary npsimple, the “Hello World” of NPAPI plugins
- https://github.com/mikma/npsimple an adaptation(?), most importantly, it’s clonable
- http://git.savannah.gnu.org/cgit/gnash.git/tree/plugin/npapi/plugin.cpp?id=release_0_8_9_final#n1380 notes on what to do after forking?
- http://git.savannah.gnu.org/cgit/gnash.git/tree/plugin/npapi/plugin.cpp?id=release_0_8_9_final#n1232 so how do you handle the mess of file descriptors? do you just leave them open? oh…
- http://www-archive.mozilla.org/projects/plugins/plugin-identifier.html what exactly do you put under HKLM\Software\MozillaPlugins? Surely not “plugin-name”…
- http://mxr.mozilla.org Mozilla code
- http://cs.chromium.org Chromium code
For FF 1.5 (released almost 6 years ago), the most recent GLIBC versioned symbol appears to be v 2.3.
- http://en.wikipedia.org/wiki/GNU_C_Library#Version_history GLIBC version history
Did you know?
- The NPN* functions are located in the glue code (npunix.c / npwin.c) and implemented by calling the browser-passed function pointers
- The value to return from invoke after calling setexception is false, not true.
- NP_GetValue is an *exported* function. It is used to get name / description data where the registry is not used.
- NP_ = exported from plugin, NPP_ = in plugin function table, NPN_ = in browser function table
- NP_GetPluginVersion has no documentation in MDC. It is called to get the plugin version. See http://mxr.mozilla.org/mozilla2.0/source/modules/plugin/base/src/nsPluginsDirUnix.cpp#349 for signature. Strangely the npfunctions.h header says it returns a char * instead of a const char *. It looks like we can safely cast away the constness as it is used in a constant manner anyway (just passed to strdup).