index.html revision ddb351dbec246cf1fab5ec20d2d5520909041de1
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
3       across api docs and should be edited only with knowledge of the
4       templating mechanism.
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
7       authored overview content.
8    4) The <body>.innerHTML is also generated by an offline step so that this
9       page may easily be indexed by search engines.
10--><html xmlns="http://www.w3.org/1999/xhtml"><head>
11    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12    <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
13    <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
14    <script type="text/javascript" src="/third_party/jstemplate/jstemplate_compiled.js">
15    </script>
16    <script type="text/javascript" src="js/api_page_generator.js"></script>
17    <script type="text/javascript" src="js/bootstrap.js"></script>
18    <script type="text/javascript" src="js/sidebar.js"></script>
19  <title>Google Chrome Extensions - Google Code</title></head>
20  <body>  <div id="gc-container" class="labs">
21      <div id="devModeWarning">
22        You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files.
23      </div>
24      <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
25      <!-- In particular, sub-templates that recurse, must be used by allowing
26           jstemplate to make a copy of the template in this section which
27           are not operated on by way of the jsskip="true" -->
28      <div style="display:none">
29
30        <!-- VALUE -->
31        <div id="valueTemplate">
32          <dt>
33            <var>paramName</var>
34              <em>
35
36                <!-- TYPE -->
37                <div style="display:inline">
38                  (
39                    <span class="optional">optional</span>
40                    <span class="enum">enumerated</span>
41                    <span id="typeTemplate">
42                      <span>
43                        <a> Type</a>
44                      </span>
45                      <span>
46                        <span>
47                          array of <span><span></span></span>
48                        </span>
49                        <span>paramType</span>
50                        <span></span>
51                      </span>
52                    </span>
53                  )
54                </div>
55
56              </em>
57          </dt>
58          <dd class="todo">
59            Undocumented.
60          </dd>
61          <dd>
62            Description of this parameter from the json schema.
63          </dd>
64          <dd>
65            This parameter was added in version
66            <b><span></span></b>.
67            You must omit this parameter in earlier versions,
68            and you may omit it in any version.  If you require this
69            parameter, the manifest key
70            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
71            can ensure that your extension won't be run in an earlier browser version.
72          </dd>
73
74          <!-- OBJECT PROPERTIES -->
75          <dd>
76            <dl>
77              <div>
78                <div>
79                </div>
80              </div>
81            </dl>
82          </dd>
83
84          <!-- OBJECT METHODS -->
85          <dd>
86            <div></div>
87          </dd>
88
89          <!-- OBJECT EVENT FIELDS -->
90          <dd>
91            <div></div>
92          </dd>
93
94          <!-- FUNCTION PARAMETERS -->
95          <dd>
96            <div></div>
97          </dd>
98
99        </div> <!-- /VALUE -->
100
101        <div id="functionParametersTemplate">
102          <h5>Parameters</h5>
103          <dl>
104            <div>
105              <div>
106              </div>
107            </div>
108          </dl>
109        </div>
110      </div> <!-- /SUBTEMPLATES -->
111
112  <a id="top"></a>
113    <div id="skipto">
114      <a href="#gc-pagecontent">Skip to page content</a>
115      <a href="#gc-toc">Skip to main navigation</a>
116    </div>
117    <!-- API HEADER -->
118    <table id="header" width="100%" cellspacing="0" border="0">
119      <tbody><tr>
120        <td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td>
121        <td valign="middle" width="100%" style="padding-left:0.6em;">
122          <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
123            <div id="gsc-search-box">
124              <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
125              <input type="hidden" name="ie" value="UTF-8">
126              <input type="text" name="q" value="" size="55">
127              <input class="gsc-search-button" type="submit" name="sa" value="Search">
128              <br>
129              <span class="greytext">e.g. "page action" or "tabs"</span>
130            </div>
131          </form>
132
133          <script type="text/javascript" src="http://www.google.com/jsapi"></script>
134          <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
135          <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script>
136          <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&lang=en"></script>
137        </td>
138      </tr>
139    </tbody></table>
140
141    <div id="codesiteContent" class="hideSideNav">
142
143      <a id="gc-topnav-anchor"></a>
144      <div id="gc-topnav">
145        <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
146        <ul id="home" class="gc-topnav-tabs">
147          <li id="home_link">
148            <a href="index.html" title="Google Chrome Extensions home page">Home</a>
149          </li>
150          <li id="docs_link">
151            <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
152          </li>
153          <li id="faq_link">
154            <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
155          </li>
156          <li id="samples_link">
157            <a href="samples.html" title="Sample extensions (with source code)">Samples</a>
158          </li>
159          <li id="group_link">
160            <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
161          </li>
162        </ul>
163      </div> <!-- end gc-topnav -->
164
165    <div class="g-section g-tpl-170">
166      <!-- SIDENAV -->
167      <div class="g-unit g-first" id="gc-toc" style="display: none; ">
168        <ul>
169          <li><a href="getstarted.html">Getting Started</a></li>
170          <li><a href="overview.html">Overview</a></li>
171          <li><a href="whats_new.html">What's New?</a></li>
172          <li><h2><a href="devguide.html">Developer's Guide</a></h2>
173            <ul>
174              <li>Browser UI
175                <ul>
176                  <li><a href="browserAction.html">Browser Actions</a></li>
177                  <li><a href="contextMenus.html">Context Menus</a></li>
178                  <li><a href="notifications.html">Desktop Notifications</a></li>
179                  <li><a href="omnibox.html">Omnibox</a></li>
180                  <li><a href="options.html">Options Pages</a></li>
181                  <li><a href="override.html">Override Pages</a></li>
182                  <li><a href="pageAction.html">Page Actions</a></li>
183                </ul>
184              </li>
185              <li>Browser Interaction
186                <ul>
187                  <li><a href="bookmarks.html">Bookmarks</a></li>
188                  <li><a href="cookies.html">Cookies</a></li>
189                  <li><a href="events.html">Events</a></li>
190                  <li><a href="history.html">History</a></li>
191                  <li><a href="management.html">Management</a></li>
192                  <li><a href="tabs.html">Tabs</a></li>
193                  <li><a href="windows.html">Windows</a></li>
194                </ul>
195              </li>
196              <li>Implementation
197                <ul>
198                  <li><a href="a11y.html">Accessibility</a></li>
199                  <li><a href="background_pages.html">Background Pages</a></li>
200                  <li><a href="content_scripts.html">Content Scripts</a></li>
201                  <li><a href="xhr.html">Cross-Origin XHR</a></li>
202                  <li><a href="idle.html">Idle</a></li>
203                  <li><a href="i18n.html">Internationalization</a></li>
204                  <li><a href="messaging.html">Message Passing</a></li>
205                  <li><a href="npapi.html">NPAPI Plugins</a></li>
206                </ul>
207              </li>
208              <li>Finishing
209                <ul>
210                  <li><a href="hosting.html">Hosting</a></li>
211                  <li><a href="external_extensions.html">Other Deployment Options</a></li>
212                </ul>
213              </li>
214            </ul>
215          </li>
216          <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
217          <li><h2><a href="tutorials.html">Tutorials</a></h2>
218            <ul>
219              <li><a href="tut_debugging.html">Debugging</a></li>
220              <li><a href="tut_analytics.html">Google Analytics</a></li>
221              <li><a href="tut_oauth.html">OAuth</a></li>
222            </ul>
223          </li>
224          <li><h2>Reference</h2>
225            <ul>
226              <li>Formats
227                <ul>
228                  <li><a href="manifest.html">Manifest Files</a></li>
229                  <li><a href="match_patterns.html">Match Patterns</a></li>
230                </ul>
231              </li>
232              <li><a href="permission_warnings.html">Permission Warnings</a></li>
233              <li><a href="api_index.html">chrome.* APIs</a></li>
234              <li><a href="api_other.html">Other APIs</a></li>
235            </ul>
236          </li>
237          <li><h2><a href="samples.html">Samples</a></h2></li>
238          <div class="line"> </div>
239          <li><h2>More</h2>
240            <ul>
241              <li class="leftNavSelected">Chrome Web Store</li>
242              <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
243              <li><a href="themes.html">Themes</a></li>
244            </ul>
245          </li>
246        </ul>
247      </div>
248      <script>
249        initToggles();
250      </script>
251
252    <div class="g-unit" id="gc-pagecontent">
253      <div id="pageTitle">
254        <h1 class="page_title"></h1>
255      </div>
256        <!-- TABLE OF CONTENTS -->
257        <div id="toc" style="display: none; ">
258          <h2>Contents</h2>
259          <ol>
260            <li>
261              <a>h2Name</a>
262              <ol>
263                <li>
264                  <a>h3Name</a>
265                </li>
266              </ol>
267            </li>
268              <li>
269                <a href="#apiReference">API reference</a>
270                <ol>
271                  <li>
272                    <a href="#properties">Properties</a>
273                    <ol>
274                      <li>
275                        <a href="#property-anchor">propertyName</a>
276                      </li>
277                    </ol>
278                  </li>
279                  <li>
280                    <a>Methods</a>
281                    <ol>
282                      <li>
283                        <a href="#method-anchor">methodName</a>
284                      </li>
285                    </ol>
286                  </li>
287                  <li>
288                    <a>Events</a>
289                    <ol>
290                      <li>
291                        <a href="#event-anchor">eventName</a>
292                      </li>
293                    </ol>
294                  </li>
295                  <li>
296                    <a href="#types">Types</a>
297                    <ol>
298                      <li>
299                        <a href="#id-anchor">id</a>
300                      </li>
301                    </ol>
302                  </li>
303                </ol>
304              </li>
305          </ol>
306        </div>
307        <!-- /TABLE OF CONTENTS -->
308
309        <!-- Standard content lead-in for experimental API pages -->
310        <p id="classSummary" style="display: none; ">
311          For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
312        </p>
313
314        <!-- STATIC CONTENT PLACEHOLDER -->
315        <div id="static"><div id="pageData-name" class="pageData"></div>
316<div id="pageData-showSideNav" class="pageData">false</div>
317
318<style>
319cs {
320  border:none;
321  margin:0;
322}
323
324#pics td {
325  padding:0 1em 0 0;
326}
327
328#pics img {
329  border:none;
330}
331</style>
332
333<table class="columns" style="margin:0">
334
335<tbody><tr>
336<td>
337<h3>What are extensions?</h3>
338
339<p>
340Extensions are small software programs that
341can modify and enhance the functionality of the Chrome browser.
342You write them using web technologies such as
343HTML, JavaScript, and CSS.
344You can also use the extension system to build
345<a href="apps.html">packaged apps</a>,
346a downloadable kind of
347<a href="http://code.google.com/chrome/apps/index.html">installable web app</a>.
348</p>
349
350<p>
351<img src="images/index/gmail-small.png" width="91" height="35" align="right" style="margin-top:0px; margin-left:0.5em" alt="A screenshot of an extension's icon in the browser bar">
352From a user's point of view,
353extensions and packaged apps are very different 
354because they present very different user interfaces.
355Extensions have little to no user interface.
356For example, the image to the right shows the icon
357that provides the UI for the
358<a href="samples.html#gmail">Gmail extension</a>.
359</p>
360
361<p>
362<img src="images/index/html5app.png" width="200" height="160" align="right" style="margin-top:0px; margin-left:0.5em" alt="A screenshot of a packaged app that implements a jigsaw puzzle">
363Packaged apps, on the other hand,
364look and feel like regular web apps,
365with a big-screen design
366and rich UI.
367The image to the right shows a jigsaw puzzle game
368implemented by a packaged app.
369</p>
370
371<p>
372Both extensions and packaged apps bundle all their files
373into a single file that the user downloads and installs.
374This bundling means that, unlike ordinary web apps,
375extensions and packaged apps don't need to depend
376on content from the web.
377</p>
378
379<p>
380You can distribute your extension or packaged app
381by using the
382<a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>
383to publish to the
384<a href="http://chrome.google.com/webstore">Chrome Web Store</a>.
385For more information, see the
386<a href="http://code.google.com/chrome/webstore">store developer documentation</a>.
387</p>
388
389</td>
390<td style="width:330px">
391<h3>How do I start?</h3>
392
393<p>
394</p><ol>
395  <li>
396    Follow the <a href="getstarted.html">Getting Started tutorial</a>
397    <!-- PENDING: once we have one for packaged apps, change to
398      "for _extensions_ or _packaged_apps_" -->
399  </li>
400  <li>
401    Read the
402    <a href="overview.html">Overview</a>
403  </li>
404  <li>
405    Keep up-to-date by reading the
406    <a href="http://blog.chromium.org/">Chromium blog</a>
407  </li>
408  <li>
409    Subscribe to the
410    <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">chromium-extensions group</a>
411    </li>
412</ol>
413<p></p>
414
415<h3>Featured videos</h3>
416
417<p>
418<a href="http://www.youtube.com/view_play_list?p=CA101D6A85FE9D4B">Technical videos</a> <br>
419<a href="http://www.youtube.com/view_play_list?p=38DF05697DE372B1">Developer snapshots</a> (below)
420</p>
421
422<p>
423<iframe title="YouTube video player" width="300" height="199" src="http://www.youtube.com/embed/wRDPTnY3yO8?rel=0" frameborder="0" allowfullscreen=""></iframe>
424</p>
425</td>
426</tr>
427</tbody></table>
428</div>
429
430        <!-- API PAGE -->
431        <div class="apiPage" style="display: none; ">
432        <a name="apiReference"></a>
433        <h2>API reference: chrome.apiname </h2>
434
435          <!-- PROPERTIES -->
436          <div class="apiGroup">
437            <a name="properties"></a>
438            <h3 id="properties">Properties</h3>
439
440            <div>
441              <a></a>
442              <h4>getLastError</h4>
443              <div class="summary">
444                <!-- Note: intentionally longer 80 columns -->
445                <span>chrome.extension</span><span>lastError</span>
446              </div>
447              <div>
448              </div>
449            </div>
450
451          </div> <!-- /apiGroup -->
452
453          <!-- METHODS -->
454          <div id="methodsTemplate" class="apiGroup">
455            <a></a>
456            <h3>Methods</h3>
457
458            <!-- iterates over all functions -->
459            <div class="apiItem">
460              <a></a> <!-- method-anchor -->
461              <h4>method name</h4>
462
463              <div class="summary"><span>void</span>
464                  <!-- Note: intentionally longer 80 columns -->
465                  <span>chrome.module.methodName</span>(<span><span>, </span><span></span>
466                      <var><span></span></var></span>)</div>
467
468              <div class="description">
469                <p class="todo">Undocumented.</p>
470                <p>
471                  A description from the json schema def of the function goes here.
472                </p>
473
474                <!-- PARAMETERS -->
475                <h4>Parameters</h4>
476                <dl>
477                  <div>
478                    <div>
479                    </div>
480                  </div>
481                </dl>
482
483                <!-- RETURNS -->
484                <h4>Returns</h4>
485                <dl>
486                  <div>
487                    <div>
488                    </div>
489                  </div>
490                </dl>
491
492                <!-- CALLBACK -->
493                <div>
494                  <div>
495                  <h4>Callback function</h4>
496                  <p>
497                    The callback <em>parameter</em> should specify a function
498                    that looks like this:
499                  </p>
500                  <p>
501                    If you specify the <em>callback</em> parameter, it should
502                    specify a function that looks like this:
503                  </p>
504
505                  <!-- Note: intentionally longer 80 columns -->
506                  <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre>
507                  <dl>
508                    <div>
509                      <div>
510                      </div>
511                    </div>
512                  </dl>
513                  </div>
514                </div>
515
516                <!-- MIN_VERSION -->
517                <p>
518                  This function was added in version <b><span></span></b>.
519                  If you require this function, the manifest key
520                  <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
521                  can ensure that your extension won't be run in an earlier browser version.
522                </p>
523              </div> <!-- /description -->
524
525            </div>  <!-- /apiItem -->
526
527          </div>  <!-- /apiGroup -->
528
529          <!-- EVENTS -->
530          <div id="eventsTemplate" class="apiGroup">
531            <a></a>
532            <h3>Events</h3>
533            <!-- iterates over all events -->
534            <div class="apiItem">
535              <a></a>
536              <h4>event name</h4>
537
538              <div class="summary">
539                <!-- Note: intentionally longer 80 columns -->
540                <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>);
541              </div>
542
543              <div class="description">
544                <p class="todo">Undocumented.</p>
545                <p>
546                  A description from the json schema def of the event goes here.
547                </p>
548
549                <!-- PARAMETERS -->
550                <div>
551                  <h4>Parameters</h4>
552                  <dl>
553                    <div>
554                      <div>
555                      </div>
556                    </div>
557                  </dl>
558                </div>
559              </div> <!-- /decription -->
560
561            </div> <!-- /apiItem -->
562
563          </div> <!-- /apiGroup -->
564
565          <!-- TYPES -->
566          <div class="apiGroup">
567            <a name="types"></a>
568            <h3 id="types">Types</h3>
569
570            <!-- iterates over all types -->
571            <div class="apiItem">
572              <a></a>
573              <h4>type name</h4>
574
575              <div>
576              </div>
577
578            </div> <!-- /apiItem -->
579
580          </div> <!-- /apiGroup -->
581
582        </div> <!-- /apiPage -->
583      </div> <!-- /gc-pagecontent -->
584    </div> <!-- /g-section -->
585  </div> <!-- /codesiteContent -->
586    <div id="gc-footer" --="">
587      <div class="text">
588  <p>
589  Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
590  the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
591  Attribution 3.0 License</a>, and code samples are licensed under the
592  <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
593  </p>
594  <p>
595  ©2011 Google
596  </p>
597
598<!-- begin analytics -->
599<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
600<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
601
602<script type="text/javascript">
603  // chrome doc tracking
604  try {
605    var engdocs = _gat._getTracker("YT-10763712-2");
606    engdocs._trackPageview();
607  } catch(err) {}
608
609  // code.google.com site-wide tracking
610  try {
611    _uacct="UA-18071-1";
612    _uanchor=1;
613    _uff=0;
614    urchinTracker();
615  }
616  catch(e) {/* urchinTracker not available. */}
617</script>
618<!-- end analytics -->
619      </div>
620    </div> <!-- /gc-footer -->
621  </div> <!-- /gc-container -->
622</body></html>
623