Showing posts with label firefox. Show all posts
Showing posts with label firefox. Show all posts

Wednesday, November 4, 2009

Notes on NPAPI based plugins

I am sharing the following diagram to (hopefully) lessen some pain from folks who intend to write NPAPI based plugins (Firefox, Chrome etc.).


STEP 1: the host browser loads the library corresponding to the MIME type expressed in the embed element tag.

STEP 2: the host browser calls the NP_Initialize function of the library and passes a reference to the public API of the browser (i.e. the NPNetscapeFuncs starting with NPN_ in the Mozilla documentation). The host browser also calls the NPP_New function in order to instantiate a "plugin instance".
STEP 3: the host browser calls the NP_GetValue function (with the variable NPPVpluginScriptableNPObject ) of the library. See step 4.
STEP 4: the plugin calls the NPN_CreateObject (through the reference provided in step 2) to instantiate a "scriptable NPObject". This object serves as proxy to the embed object declared on the source web page.
STEP 5: the web page can interact with the "scriptable object".




Thursday, March 6, 2008

Greasemonky Quick Search

I have to sift through countless RSS feeds all day seeking more information based on keywords I find. I wanted to automate the process just a bit so I devised a GreaseMonkey Firefox user script.

Usage is simple: just select the text to search and press " alt c " which will automatically bring-up the result page on Google Search.

One can find the script here on UserScripts.org.