NPAPI:Pepper: Difference between revisions

Jump to navigation Jump to search
Line 699: Line 699:
</pre>
</pre>


= Plugin Registration =
= Plugin Startup and Service Discovery =


The current process of determining which plugins are available to the browser typically involves loading various shared libraries and querying them for types and extensions addressed by the pluginWe propose that more efficient method would be to add a special section to the shared library for the plugin.
The current process of starting a plugin involves some differences on various platformsIn Pepper, the plugin must export


The section, tentatively named .npapidesc, contains a sequence of strings of the form:
<pre>
NPError API_CALL NP_Initialize(NPNetscapeFuncs* pNFuncs,
                              NPPluginFuncs* pPFuncs);
</pre>
 
and


<pre>
<pre>
mimetype:[extension][,extension]*:description;
NPError NP_Shutdown(void);
</pre>
</pre>


This enables browsers to scan the plugins without loading them, which becomes more difficult with out-of-process plugins and sandbox protection.
There is no requirement for NP_GetEntryPoints.
 
Browsers currently determine which plugins provide support for which mime types by various mechanisms.  A common trait of these mechanisms is the idea that the browser must load each plugin in succession to invoke an API to determine the types it provides.  A single method not involving loading all the plugins is desired, but remains to be done.


= Pepper Audio  =
= Pepper Audio  =
89

edits

Navigation menu