Index: common/extensions/docs/static/npapi.html |
=================================================================== |
--- common/extensions/docs/static/npapi.html (revision 0) |
+++ common/extensions/docs/static/npapi.html (revision 0) |
@@ -0,0 +1,68 @@ |
+<div id="pageData-title" class="pageData">NPAPI Plugins</div> |
+ |
+<p> |
+Leveraging HTML and JavaScript |
+makes developing new extensions really easy, |
+but what if you have existing legacy or proprietary code |
+that you want to reuse in your extension? |
+You can bundle an NPAPI plugin with your extension, |
+allowing you to call into native binary code from JavaScript. |
+</p> |
+ |
+<h2>Details</h2> |
+ |
+<p> |
+How to develop an NPAPI plugin is outside the scope of this document. |
+See <a href="https://developer.mozilla.org/en/Plugins">Mozilla's |
+NPAPI plugin reference</a> for information on how to do that. |
+</p> |
+ |
+<p> |
+Once you have an NPAPI plugin, |
+follow these steps to get your extension using it. |
+</p> |
+ |
+<ol> |
+ <li> |
+ Add a section to your extension's <code>manifest.json</code> |
+ that describes where to find the plugin, |
+ along with other properties about it: |
+ |
+<pre>{ |
+ "name": "My extension", |
+ ... |
+ "plugins": [ |
+ { "path": "content_plugin.dll", "public": true }, |
+ { "path": "extension_plugin.dll" } |
+ ] |
+}</pre> |
+ |
+ <p> |
+ The "path" property specifies the path to your plugin, |
+ relative to the manifest file. |
+ The "public" property specifies whether |
+ your plugin can be accessed by regular web pages; |
+ the default is false, |
+ meaning only your extension can load the plugin. |
+ </p> |
+ </li> |
+ |
+ <li> |
+ Create an HTML file that loads your plugin by mime-type. |
+ Assuming your mime-type is "application/x-my-extension": |
+ |
+<pre> |
+<embed type="application/x-my-extension" id="pluginId"></embed> |
+<script> |
+ var plugin = document.getElementById("pluginId"); |
+ var result = plugin.myPluginMethod(); // call a method in your plugin |
+ console.log("my plugin returned: " + result); |
+</script></pre> |
+ |
+ <p> |
+ This can be inside a toolstrip, a background page, |
+ or any other HTML page used by your extension. |
+ If your plugin is "public", |
+ you can even use a content script to programmatically |
+ insert your plugin into a web page. |
+ </p> |
Property changes on: common/extensions/docs/static/npapi.html |
___________________________________________________________________ |
Name: svn:mime-type |
+ text/html |
Name: svn:eol-style |
+ LF |