Home | History | Annotate | Download | only in docs
      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>
    319 cs {
    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>
    340 Extensions are small software programs that
    341 can modify and enhance the functionality of the Chrome browser.
    342 You write them using web technologies such as
    343 HTML, JavaScript, and CSS.
    344 You can also use the extension system to build
    345 <a href="apps.html">packaged apps</a>,
    346 a 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">
    352 From a user's point of view,
    353 extensions and packaged apps are very different 
    354 because they present very different user interfaces.
    355 Extensions have little to no user interface.
    356 For example, the image to the right shows the icon
    357 that 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">
    363 Packaged apps, on the other hand,
    364 look and feel like regular web apps,
    365 with a big-screen design
    366 and rich UI.
    367 The image to the right shows a jigsaw puzzle game
    368 implemented by a packaged app.
    369 </p>
    370 
    371 <p>
    372 Both extensions and packaged apps bundle all their files
    373 into a single file that the user downloads and installs.
    374 This bundling means that, unlike ordinary web apps,
    375 extensions and packaged apps don't need to depend
    376 on content from the web.
    377 </p>
    378 
    379 <p>
    380 You can distribute your extension or packaged app
    381 by using the
    382 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>
    383 to publish to the
    384 <a href="http://chrome.google.com/webstore">Chrome Web Store</a>.
    385 For 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