Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(595)

Side by Side Diff: chrome/common/extensions/docs/npapi.html

Issue 437001: Docs polish (Closed)
Patch Set: Add an NPAPI warning Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note: 1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
2 1) The <head> information in this page is significant, should be uniform 2 1) The <head> information in this page is significant, should be uniform
3 across api docs and should be edited only with knowledge of the 3 across api docs and should be edited only with knowledge of the
4 templating mechanism. 4 templating mechanism.
5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a 5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
6 browser, it will be re-generated from the template, json schema and 6 browser, it will be re-generated from the template, json schema and
7 authored overview content. 7 authored overview content.
8 4) The <body>.innerHTML is also generated by an offline step so that this 8 4) The <body>.innerHTML is also generated by an offline step so that this
9 page may easily be indexed by search engines. 9 page may easily be indexed by search engines.
10 --><html xmlns="http://www.w3.org/1999/xhtml"><head> 10 --><html xmlns="http://www.w3.org/1999/xhtml"><head>
11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12 <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css"> 12 <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
13 <link href="css/print.css" rel="stylesheet" type="text/css" media="print"> 13 <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
14 <script type="text/javascript" src="../../../third_party/jstemplate/jstempla te_compiled.js"> 14 <script type="text/javascript" src="../../../third_party/jstemplate/jstempla te_compiled.js">
15 </script> 15 </script>
16 <script type="text/javascript" src="js/api_page_generator.js"></script> 16 <script type="text/javascript" src="js/api_page_generator.js"></script>
17 <script type="text/javascript" src="js/bootstrap.js"></script> 17 <script type="text/javascript" src="js/bootstrap.js"></script>
18 <title>NPAPI Plugins</title></head><body> <div id="gc-container" class="labs" > 18 <title>NPAPI Plugins - Google Chrome Extensions - Google Code</title></head><b ody> <div id="gc-container" class="labs">
19 <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> 19 <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
20 <!-- In particular, sub-templates that recurse, must be used by allowing 20 <!-- In particular, sub-templates that recurse, must be used by allowing
21 jstemplate to make a copy of the template in this section which 21 jstemplate to make a copy of the template in this section which
22 are not operated on by way of the jsskip="true" --> 22 are not operated on by way of the jsskip="true" -->
23 <div style="display:none"> 23 <div style="display:none">
24 24
25 <!-- VALUE --> 25 <!-- VALUE -->
26 <div id="valueTemplate"> 26 <div id="valueTemplate">
27 <dt> 27 <dt>
28 <var>paramName</var> 28 <var>paramName</var>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 </div> <!-- /VALUE --> 67 </div> <!-- /VALUE -->
68 68
69 </div> <!-- /SUBTEMPLATES --> 69 </div> <!-- /SUBTEMPLATES -->
70 70
71 <a id="top"></a> 71 <a id="top"></a>
72 <div id="skipto"> 72 <div id="skipto">
73 <a href="#gc-pagecontent">Skip to page content</a> 73 <a href="#gc-pagecontent">Skip to page content</a>
74 <a href="#gc-toc">Skip to main navigation</a> 74 <a href="#gc-toc">Skip to main navigation</a>
75 </div> 75 </div>
76 <!-- API HEADER --> 76 <!-- API HEADER -->
77 <div id="gc-header"> 77 <table id="header" width="100%" cellspacing="0" border="0">
78 <div id="logo"> 78 <tbody><tr>
79 <td valign="middle"><img src="images/code_labs_logo.gif" height="43" wid th="161" alt="Google Code Labs" style="border:0; margin:0;"></td>
80 <td valign="middle" width="100%" style="padding-left:0.6em;">
81 <form action="http://www.google.com/cse" id="cse" style="margin-top:0. 5em">
82 <div id="gsc-search-box">
83 <input type="hidden" name="cx" value="002967670403910741006:61_cvz fqtno">
84 <input type="hidden" name="ie" value="UTF-8">
85 <input type="text" name="q" size="55">
86 <input class="gsc-search-button" type="submit" name="sa" value="Se arch">
87 <br>
88 <span class="greytext">e.g. "ajax apis" or "open source"</span>
89 </div>
90 </form>
79 91
80 92 <script type="text/javascript" src="http://www.google.com/jsapi"></scr ipt>
81 <img src="images/code_labs_logo.gif" height="43" width="161" alt="Googl e Code Labs" style="border:0;"> 93 <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
82 94 <script type="text/javascript" src="http://www.google.com/coop/cse/t13 n?form=cse&amp;t13n_langs=en"></script>
83 95 <script type="text/javascript" src="http://www.google.com/coop/cse/bra nd?form=cse&amp;lang=en"></script>
84 </div> 96 </td>
85 <div id="search"> 97 </tr>
86 <div id="searchForm" class="searchForm"> 98 </tbody></table>
87 <form action="http://www.google.com/cse" id="cse">
88 <div id="gsc-search-box">
89 <input type="hidden" name="cx" value="002967670403910741006:61_cvzfq tno">
90 <input type="hidden" name="ie" value="UTF-8">
91 <input type="text" name="q" size="31">
92 <input class="gsc-search-button" type="submit" name="sa" value="Sear ch">
93 </div>
94 </form>
95 <p>&nbsp;</p>
96 </div> <!-- end searchForm -->
97
98 <script type="text/javascript" src="http://www.google.com/jsapi"></scrip t>
99 <script type="text/javascript">google.load("elements", "1", {packages: " transliteration"});</script>
100 <script type="text/javascript" src="http://www.google.com/coop/cse/t13n? form=cse&amp;t13n_langs=en"></script>
101 <script type="text/javascript" src="http://www.google.com/coop/cse/brand ?form=cse&amp;lang=en"></script>
102 </div> <!-- end search -->
103 </div> <!-- end gc-header -->
104 99
105 <div id="codesiteContent"> 100 <div id="codesiteContent">
106 101
107 <a id="gc-topnav-anchor"></a> 102 <a id="gc-topnav-anchor"></a>
108 <div id="gc-topnav"> 103 <div id="gc-topnav">
109 <h1>Google Chrome Extensions (<a href="/labs/">Labs</a>)</h1> 104 <h1>Google Chrome Extensions (<a href="/labs/">Labs</a>)</h1>
110 <ul id="home" class="gc-topnav-tabs"> 105 <ul id="home" class="gc-topnav-tabs">
111 <li id="home_link"> 106 <li id="home_link">
112 <a href="index.html" class="selected" title="Google Chrome Extension s documentation home page">Home</a> 107 <a href="index.html" class="selected" title="Google Chrome Extension s documentation home page">Home</a>
113 </li> 108 </li>
114 <li id="blog_link"> 109 <li id="group_link">
115 <a href="http://blog.chromium.org/" title="Chromium blog">Blog</a> 110 <a href="http://groups.google.com/group/chromium-extensions" title=" Google Chrome Extensions mailing list">Group</a>
116 </li> 111 </li>
117 <li id="faq_link"> 112 <li id="samples_link">
118 <a href="faq.html" title="Google Chrome Extensions FAQ">FAQ</a> 113 <a href="samples.html" title="Google Chrome Extensions samples">Samp les</a>
119 </li> 114 </li>
120 <li id="group_link"> 115 <!--
121 <a href="http://groups.google.com/group/chromium-extensions" title=" Chromium-Extensions group">Group</a>
122 </li>
123 <li id="terms_link"> 116 <li id="terms_link">
124 Terms 117 Terms
125 </li> 118 </li>
119 -->
126 </ul> 120 </ul>
127 </div> <!-- end gc-topnav --> 121 </div> <!-- end gc-topnav -->
128 122
129 <div class="g-section g-tpl-170"> 123 <div class="g-section g-tpl-170">
130 <!-- SIDENAV --> 124 <!-- SIDENAV -->
131 <div class="g-unit g-first" id="gc-toc"> 125 <div class="g-unit g-first" id="gc-toc">
132 <ul> 126 <ul>
133 <li><a href="index.html">Home</a></li> 127 <li><a href="index.html">Home</a></li>
134 <li><a href="getstarted.html">Getting Started</a></li> 128 <li><a href="getstarted.html">Getting Started</a></li>
135 <li><a href="overview.html">Overview</a></li> 129 <li><a href="overview.html">Overview</a></li>
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 249
256 <p> 250 <p>
257 Leveraging HTML and JavaScript 251 Leveraging HTML and JavaScript
258 makes developing new extensions really easy, 252 makes developing new extensions really easy,
259 but what if you have existing legacy or proprietary code 253 but what if you have existing legacy or proprietary code
260 that you want to reuse in your extension? 254 that you want to reuse in your extension?
261 You can bundle an NPAPI plugin with your extension, 255 You can bundle an NPAPI plugin with your extension,
262 allowing you to call into native binary code from JavaScript. 256 allowing you to call into native binary code from JavaScript.
263 </p> 257 </p>
264 258
265 <h2>Details</h2> 259 <h2>Warning</h2>
260
261 <p align="center"><b>NPAPI is a really big hammer that should only be used when no other approach will work.</b>
262
263 </p><p>Code running in an NPAPI plugin has the full permissions of the current u ser and is not sandboxed or shielded from malicious input by Google Chrome in an y way. You should be especially cautious when processing input from untrusted so urces, such as when working with <a href="content_scripts.html#security-consider ations">content scripts</a> or XMLHttpRequest.
264
265 </p><p>Because of the additional security risks NPAPI poses to users, extensions that use it will require manual review before being accepted in the extension g allery.
266
267 </p><h2>Details</h2>
266 268
267 <p> 269 <p>
268 How to develop an NPAPI plugin is outside the scope of this document. 270 How to develop an NPAPI plugin is outside the scope of this document.
269 See <a href="https://developer.mozilla.org/en/Plugins">Mozilla's 271 See <a href="https://developer.mozilla.org/en/Plugins">Mozilla's
270 NPAPI plugin reference</a> for information on how to do that. 272 NPAPI plugin reference</a> for information on how to do that.
271 </p> 273 </p>
272 274
273 <p> 275 <p>
274 Once you have an NPAPI plugin, 276 Once you have an NPAPI plugin,
275 follow these steps to get your extension using it. 277 follow these steps to get your extension using it.
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 urchinTracker(); 518 urchinTracker();
517 } 519 }
518 catch(e) {/* urchinTracker not available. */} 520 catch(e) {/* urchinTracker not available. */}
519 </script> 521 </script>
520 <!-- end analytics --> 522 <!-- end analytics -->
521 </div> 523 </div>
522 </div> <!-- /gc-footer --> 524 </div> <!-- /gc-footer -->
523 </div> <!-- /gc-container --> 525 </div> <!-- /gc-container -->
524 </body></html> 526 </body></html>
525 527
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/messaging.html ('k') | chrome/common/extensions/docs/options.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698