manifest.html revision 3f50c38dc070f4bb515c1b64450dae14f316474e
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>Formats: Manifest Files - 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 <!-- FUNCTION PARAMETERS --> 85 <dd> 86 <div></div> 87 </dd> 88 89 </div> <!-- /VALUE --> 90 91 <div id="functionParametersTemplate"> 92 <h5>Parameters</h5> 93 <dl> 94 <div> 95 <div> 96 </div> 97 </div> 98 </dl> 99 </div> 100 </div> <!-- /SUBTEMPLATES --> 101 102 <a id="top"></a> 103 <div id="skipto"> 104 <a href="#gc-pagecontent">Skip to page content</a> 105 <a href="#gc-toc">Skip to main navigation</a> 106 </div> 107 <!-- API HEADER --> 108 <table id="header" width="100%" cellspacing="0" border="0"> 109 <tbody><tr> 110 <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> 111 <td valign="middle" width="100%" style="padding-left:0.6em;"> 112 <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em"> 113 <div id="gsc-search-box"> 114 <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno"> 115 <input type="hidden" name="ie" value="UTF-8"> 116 <input type="text" name="q" value="" size="55"> 117 <input class="gsc-search-button" type="submit" name="sa" value="Search"> 118 <br> 119 <span class="greytext">e.g. "page action" or "tabs"</span> 120 </div> 121 </form> 122 123 <script type="text/javascript" src="http://www.google.com/jsapi"></script> 124 <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script> 125 <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script> 126 <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&lang=en"></script> 127 </td> 128 </tr> 129 </tbody></table> 130 131 <div id="codesiteContent" class=""> 132 133 <a id="gc-topnav-anchor"></a> 134 <div id="gc-topnav"> 135 <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1> 136 <ul id="home" class="gc-topnav-tabs"> 137 <li id="home_link"> 138 <a href="index.html" title="Google Chrome Extensions home page">Home</a> 139 </li> 140 <li id="docs_link"> 141 <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a> 142 </li> 143 <li id="faq_link"> 144 <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a> 145 </li> 146 <li id="samples_link"> 147 <a href="samples.html" title="Sample extensions (with source code)">Samples</a> 148 </li> 149 <li id="group_link"> 150 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a> 151 </li> 152 </ul> 153 </div> <!-- end gc-topnav --> 154 155 <div class="g-section g-tpl-170"> 156 <!-- SIDENAV --> 157 <div class="g-unit g-first" id="gc-toc"> 158 <ul> 159 <li><a href="getstarted.html">Getting Started</a></li> 160 <li><a href="overview.html">Overview</a></li> 161 <li><a href="whats_new.html">What's New?</a></li> 162 <li><h2><a href="devguide.html">Developer's Guide</a></h2> 163 <ul> 164 <li>Browser UI 165 <ul> 166 <li><a href="browserAction.html">Browser Actions</a></li> 167 <li><a href="contextMenus.html">Context Menus</a></li> 168 <li><a href="notifications.html">Desktop Notifications</a></li> 169 <li><a href="omnibox.html">Omnibox</a></li> 170 <li><a href="options.html">Options Pages</a></li> 171 <li><a href="override.html">Override Pages</a></li> 172 <li><a href="pageAction.html">Page Actions</a></li> 173 </ul> 174 </li> 175 <li>Browser Interaction 176 <ul> 177 <li><a href="bookmarks.html">Bookmarks</a></li> 178 <li><a href="cookies.html">Cookies</a></li> 179 <li><a href="events.html">Events</a></li> 180 <li><a href="history.html">History</a></li> 181 <li><a href="management.html">Management</a></li> 182 <li><a href="tabs.html">Tabs</a></li> 183 <li><a href="windows.html">Windows</a></li> 184 </ul> 185 </li> 186 <li>Implementation 187 <ul> 188 <li><a href="a11y.html">Accessibility</a></li> 189 <li><a href="background_pages.html">Background Pages</a></li> 190 <li><a href="content_scripts.html">Content Scripts</a></li> 191 <li><a href="xhr.html">Cross-Origin XHR</a></li> 192 <li><a href="idle.html">Idle</a></li> 193 <li><a href="i18n.html">Internationalization</a></li> 194 <li><a href="messaging.html">Message Passing</a></li> 195 <li><a href="npapi.html">NPAPI Plugins</a></li> 196 </ul> 197 </li> 198 <li>Finishing 199 <ul> 200 <li><a href="hosting.html">Hosting</a></li> 201 <li><a href="external_extensions.html">Other Deployment Options</a></li> 202 </ul> 203 </li> 204 </ul> 205 </li> 206 <li><h2><a href="apps.html">Packaged Apps</a></h2></li> 207 <li><h2><a href="tutorials.html">Tutorials</a></h2> 208 <ul> 209 <li><a href="tut_debugging.html">Debugging</a></li> 210 <li><a href="tut_analytics.html">Google Analytics</a></li> 211 <li><a href="tut_oauth.html">OAuth</a></li> 212 </ul> 213 </li> 214 <li><h2>Reference</h2> 215 <ul> 216 <li>Formats 217 <ul> 218 <li class="leftNavSelected">Manifest Files</li> 219 <li><a href="match_patterns.html">Match Patterns</a></li> 220 </ul> 221 </li> 222 <li><a href="permission_warnings.html">Permission Warnings</a></li> 223 <li><a href="api_index.html">chrome.* APIs</a></li> 224 <li><a href="api_other.html">Other APIs</a></li> 225 </ul> 226 </li> 227 <li><h2><a href="samples.html">Samples</a></h2></li> 228 <div class="line"> </div> 229 <li><h2>More</h2> 230 <ul> 231 <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li> 232 <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li> 233 <li><a href="themes.html">Themes</a></li> 234 </ul> 235 </li> 236 </ul> 237 </div> 238 <script> 239 initToggles(); 240 </script> 241 242 <div class="g-unit" id="gc-pagecontent"> 243 <div id="pageTitle"> 244 <h1 class="page_title">Formats: Manifest Files</h1> 245 </div> 246 <!-- TABLE OF CONTENTS --> 247 <div id="toc"> 248 <h2>Contents</h2> 249 <ol> 250 <li> 251 <a href="#overview"> Field summary </a> 252 <ol> 253 <li style="display: none; "> 254 <a>h3Name</a> 255 </li> 256 </ol> 257 </li><li> 258 <a href="#H2-1">Field details</a> 259 <ol> 260 <li> 261 <a href="#app">app</a> 262 </li><li> 263 <a href="#default_locale">default_locale</a> 264 </li><li> 265 <a href="#description">description</a> 266 </li><li> 267 <a href="#homepage_url">homepage_url</a> 268 </li><li> 269 <a href="#icons">icons</a> 270 </li><li> 271 <a href="#incognito">incognito</a> 272 </li><li> 273 <a href="#key">key</a> 274 </li><li> 275 <a href="#minimum_chrome_version">minimum_chrome_version</a> 276 </li><li> 277 <a href="#name">name</a> 278 </li><li> 279 <a href="#permissions">permissions</a> 280 </li><li> 281 <a href="#version">version</a> 282 </li> 283 </ol> 284 </li> 285 <li style="display: none; "> 286 <a href="#apiReference">API reference</a> 287 <ol> 288 <li> 289 <a href="#properties">Properties</a> 290 <ol> 291 <li> 292 <a href="#property-anchor">propertyName</a> 293 </li> 294 </ol> 295 </li> 296 <li> 297 <a href="#methods">Methods</a> 298 <ol> 299 <li> 300 <a href="#method-anchor">methodName</a> 301 </li> 302 </ol> 303 </li> 304 <li> 305 <a href="#events">Events</a> 306 <ol> 307 <li> 308 <a href="#event-anchor">eventName</a> 309 </li> 310 </ol> 311 </li> 312 <li> 313 <a href="#types">Types</a> 314 <ol> 315 <li> 316 <a href="#id-anchor">id</a> 317 </li> 318 </ol> 319 </li> 320 </ol> 321 </li> 322 </ol> 323 </div> 324 <!-- /TABLE OF CONTENTS --> 325 326 <!-- Standard content lead-in for experimental API pages --> 327 <p id="classSummary" style="display: none; "> 328 For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page. 329 </p> 330 331 <!-- STATIC CONTENT PLACEHOLDER --> 332 <div id="static"><div id="pageData-name" class="pageData">Formats: Manifest Files</div> 333<div id="pageData-showTOC" class="pageData">true</div> 334 335<p> 336Every extension, installable web app, and theme has a 337<a href="http://www.json.org">JSON</a>-formatted manifest file, 338named <code>manifest.json</code>, 339that provides important information. 340</p> 341 342<h2 id="overview"> Field summary </h2> 343 344<p> 345The following code shows the supported manifest fields, 346with links to the page that discusses each field. 347The only fields that are always required 348are <b>name</b> and <b>version</b>. 349</p> 350 351<pre>{ 352 <em>// Required</em> 353 "<a href="#name">name</a>": "<em>My Extension</em>", 354 "<a href="#version">version</a>": "<em>versionString</em>", 355 356 <em>// Recommended</em> 357 "<a href="#description">description</a>": "<em>A plain text description</em>", 358 "<a href="#icons">icons</a>": { ... }, 359 "<a href="#default_locale">default_locale</a>": "<em>en</em>", 360 361 <em>// Pick one (or none)</em> 362 "<a href="browserAction.html">browser_action</a>": {...}, 363 "<a href="pageAction.html">page_action</a>": {...}, 364 "<a href="themes.html">theme</a>": {...}, 365 "<a href="#app">app</a>": {...}, 366 367 <em>// Add any of these that you need</em> 368 "<a href="background_pages.html">background_page</a>": "<em>aFile</em>.html", 369 "<a href="override.html">chrome_url_overrides</a>": {...}, 370 "<a href="content_scripts.html">content_scripts</a>": [...], 371 "<a href="#homepage_url">homepage_url</a>": "http://<em>path/to/homepage</em>", 372 "<a href="#incognito">incognito</a>": "spanning" <em>or</em> "split", 373 "<a href="#key">key</a>": "<em>publicKey</em>", 374 "<a href="#minimum_chrome_version">minimum_chrome_version</a>": "<em>versionString</em>", 375 "<a href="omnibox.html">omnibox</a>": { "keyword" : "<em>aString</em>" }, 376 "<a href="options.html">options_page</a>": "<em>aFile</em>.html", 377 "<a href="#permissions">permissions</a>": [...], 378 "<a href="npapi.html">plugins</a>": [...], 379 "<a href="autoupdate.html">update_url</a>": "http://<em>path/to/updateInfo</em>.xml" 380} 381</pre> 382 383 384<a name="H2-1"></a><h2>Field details</h2> 385 386<p> 387This section covers fields that aren't described in another page. 388For a complete list of fields, 389with links to where they're described in detail, 390see the <a href="#overview">Field summary</a>. 391</p> 392 393 394<h3 id="app">app</h3> 395 396<p> 397Used by installable web apps, 398including packaged apps, 399to specify the URLs that the app uses. 400Most important is the <em>launch page</em> for the app—the 401page that the browser goes to when the user clicks the app's icon 402in the New Tab page. 403</p> 404 405<p> 406For details, see the documentation for 407<a href="http://code.google.com/chrome/apps/docs/developers_guide.html">hosted apps</a> and 408<a href="apps.html">packaged apps</a>. 409</p> 410 411<h3 id="default_locale">default_locale</h3> 412 413<p> 414Specifies the subdirectory of <code>_locales</code> 415that contains the default strings for this extension. 416This field is <b>required</b> in extensions 417that have a <code>_locales</code> directory; 418it <b>must be absent</b> in extensions 419that have no <code>_locales</code> directory. 420For details, see 421<a href="i18n.html">Internationalization</a>. 422</p> 423 424<h3 id="description">description</h3> 425 426<p> 427A plain text string 428(no HTML or other formatting; 429no more than 132 characters) 430that describes the extension. 431The description should be suitable for both 432the browser's extension management UI 433and the <a href="https://chrome.google.com/webstore">Chrome Web Store</a>. 434You can specify locale-specific strings for this field; 435see <a href="i18n.html">Internationalization</a> for details. 436</p> 437 438<h3 id="homepage_url">homepage_url</h3> 439 440<p> 441The URL of the homepage for this extension. The extensions management page (chrome://extensions) 442will contain a link to this URL. This field is particularly useful if you 443<a href="hosting.html">host the extension on your own site</a>. If you distribute your 444extension using the <a href="https://chrome.google.com/extensions">Extensions Gallery</a> or <a href="https://chrome.google.com/webstore">Chrome Web Store</a>, 445the homepage URL defaults to the extension's own page. 446</p> 447 448<h3 id="icons">icons</h3> 449 450<p> 451One or more icons that represent the extension, app, or theme. 452You should always provide a 128x128 icon; 453it's used during installation and by the Chrome Web Store. 454Extensions should also provide a 48x48 icon, 455which is used in the extensions management page 456(chrome://extensions). 457You can also specify a 16x16 icon to be used as the favicon 458for an extension's pages. 459The 16x16 icon is also displayed in the experimental extension 460<a href="experimental.infobars.html">infobar</a> 461feature. 462</p> 463 464<p> 465Icons should generally be in PNG format, 466because PNG has the best support for transparency. 467They can, however, be in any format supported by WebKit, 468including BMP, GIF, ICO, and JPEG. 469Here's an example of specifying the icons: 470</p> 471 472<pre>"icons": { "16": "icon16.png", 473 "48": "icon48.png", 474 "128": "icon128.png" }, 475</pre> 476 477<p class="note"> 478<b>Important:</b> 479Use only the documented icon sizes. 480<br><br> 481You might notice that Chrome sometimes resizes these icons down to smaller 482sizes. For example, the install dialog might shrink the 128-pixel 483icon down to 69 pixels. 484<br><br> 485However, the details of 486Chrome's UI may change between versions, and these changes assume that 487developers are using the documented sizes. If you use other sizes, 488your icon may look bad in future versions of the browser. 489</p> 490 491<p> 492If you upload your extension, app, or theme using the 493<a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>, 494you'll need to upload additional images, 495including at least one screenshot of your extension. 496For more information, 497see the 498<a href="http://code.google.com/chrome/webstore/">Chrome Web Store 499developer documentation</a>. 500</p> 501 502<h3 id="incognito">incognito</h3> 503 504<p> 505Either "spanning" or "split", to specify how this extension will 506behave if allowed to run in incognito mode. 507</p> 508 509<p> 510The default for extensions is "spanning", which means that the extension 511will run in a single shared process. Any events or messages from an incognito 512tab will be sent to the shared process, with an <em>incognito</em> flag 513indicating where it came from. 514</p> 515 516<p> 517The default for installable web apps is "split", 518which means that all app pages in 519an incognito window will run in their own incognito process. If the app or extension contains a background page, that will also run in the incognito process. 520This incognito process runs along side the regular process, but has a separate 521memory-only cookie store. Each process sees events and messages only from its 522own context (for example, the incognito process will see only incognito tab updates). 523The processes are unable to communicate with each other. 524</p> 525 526<p> 527As a rule of thumb, if your extension or app needs to load a tab in an incognito browser, use 528<em>split</em> incognito behavior. If your extension or app needs to be logged 529into a remote server or persist settings locally, use <em>spanning</em> 530incognito behavior. 531</p> 532 533<h3 id="key">key</h3> 534 535<p> 536This value can be used to control 537the unique ID of an extension, app, or theme when 538it is loaded during development. 539</p> 540 541<p class="note"> 542<b>Note:</b> You don't usually need to 543use this value. Instead, write your 544code so that the key value doesn't matter 545by using <a href="overview.html#relative-urls">relative paths</a> 546and <a href="extension.html#method-getURL">chrome.extension.getURL()</a>. 547</p> 548 549<p> 550To get a suitable key value, first 551install your extension from a <code>.crx</code> file 552(you may need to 553<a href="https://chrome.google.com/webstore/developer/dashboard">upload your extension</a> 554or <a href="packaging.html">package it manually</a>). 555Then, in your 556<a href="http://www.chromium.org/user-experience/user-data-directory">user 557data directory</a>, look in the file 558<code>Default/Extensions/<em><extensionId></em>/<em><versionString></em>/manifest.json</code>. 559You will see the key value filled in there. 560</p> 561 562<h3 id="minimum_chrome_version">minimum_chrome_version</h3> 563 564<p> 565The version of Chrome that your extension, app, or theme requires, if any. 566The format for this string is the same as for the 567<a href="#version">version</a> field. 568 569</p><h3 id="name">name</h3> 570 571<p> 572A short, plain text string 573(no more than 45 characters) 574that identifies the extension. 575The name is used in the install dialog, 576extension management UI, 577and the <a href="https://chrome.google.com/webstore">store</a>. 578You can specify locale-specific strings for this field; 579see <a href="i18n.html">Internationalization</a> for details. 580</p> 581 582<h3 id="permissions">permissions</h3> 583 584<p> 585An array of permissions that the extension or app might use. 586Each permission can be either one of a list of known strings 587(such as "geolocation") 588or a match pattern 589that gives access to one or more hosts. 590Permissions can help to limit damage 591if your extension or app is attacked. 592Some permissions are also displayed to users before installation, 593as detailed in 594<a href="permission_warnings.html">Permission Warnings</a>. 595</p> 596 597<p> 598If an extension API requires you to declare a permission in the manifest, 599then its documentation tells you how to do so. 600For example, 601the <a href="tabs.html">Tabs</a> page 602shows you how to 603declare the "tabs" permission. 604</p> 605 606<p> 607Here's an example of the permissions part of a manifest file 608for an extension: 609</p> 610 611<pre>"permissions": [ 612 "tabs", 613 "bookmarks", 614 "http://www.blogger.com/", 615 "http://*.google.com/", 616 "unlimitedStorage" 617], 618</pre> 619 620<p> 621The following table lists the permissions an extension 622or packaged app can use. 623</p> 624 625<p class="note"> 626<strong>Note:</strong> 627Hosted apps can use the 628"geolocation", "notifications", and "unlimitedStorage" permissions, 629but not any other permissions listed in this table. 630</p> 631 632<table> 633<tbody><tr> 634 <th> Permission </th> <th> Description </th> 635</tr> 636<tr> 637 <td> <em>match pattern</em> </td> 638 <td> Specifies a <em>host permission</em>. 639 Required if the extension wants to interact 640 with the code running on pages. 641 Many extension capabilities, such as 642 <a href="xhr.html">cross-origin XMLHttpRequests</a>, 643 <a href="content_scripts.html#pi">programmatically injected 644 content scripts</a>, and <a href="cookies.html">the cookies API</a> 645 require host permissions. For details on the syntax, see 646 <a href="match_patterns.html">Match Patterns</a>. 647 </td> 648</tr> 649<tr> 650 <td> "bookmarks" </td> 651 <td> Required if the extension uses the 652 <a href="bookmarks.html">chrome.bookmarks</a> module. </td> 653</tr> 654<tr> 655 <td> "chrome://favicon/" </td> 656 <td> Required if the extension uses the 657 "chrome://favicon/<em>url</em>" mechanism 658 to display the favicon of a page. 659 For example, to display the favicon of http://www.google.com/, 660 you declare the "chrome://favicon/" permission 661 and use HTML code like this: 662 <pre><img src="chrome://favicon/http://www.google.com/"></pre> 663 </td> 664</tr> 665<tr> 666 <td> "contextMenus" </td> 667 <td> Required if the extension uses the 668 <a href="contextMenus.html">chrome.contextMenus</a> module. </td> 669</tr> 670<tr> 671 <td> "cookies" </td> 672 <td> Required if the extension uses the 673 <a href="cookies.html">chrome.cookies</a> module. </td> 674</tr> 675<tr> 676 <td> "experimental" </td> 677 <td> Required if the extension uses any 678 <a href="http://code.google.com/chrome/extensions/dev/experimental.html">chrome.experimental.* APIs</a>.</td> 679</tr> 680<tr> 681 <td id="geolocation"> "geolocation" </td> 682 <td> Allows the extension to use the proposed HTML5 683 <a href="http://dev.w3.org/geo/api/spec-source.html">geolocation API</a> 684 without prompting the user for permission. </td> 685</tr> 686<tr> 687 <td> "history" </td> 688 <td> Required if the extension uses the 689 <a href="history.html">chrome.history</a> module. </td> 690</tr> 691<tr> 692 <td> "idle" </td> 693 <td> Required if the extension uses the 694 <a href="idle.html">chrome.idle</a> module. </td> 695</tr> 696<tr> 697 <td> "management" </td> 698 <td> Required if the extension uses the 699 <a href="management.html">chrome.management</a> module. </td> 700</tr> 701<tr> 702 <td> "notifications" </td> 703 <td> Allows the extension to use the proposed HTML5 704 <a href="http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification">notification API</a> 705 without calling permission methods 706 (such as <code>checkPermission()</code>). 707 For more information see 708 <a href="notifications.html">Desktop Notifications</a>.</td> 709</tr> 710<tr> 711 <td> "tabs" </td> 712 <td> Required if the extension uses the 713 <a href="tabs.html">chrome.tabs</a> or 714 <a href="windows.html">chrome.windows</a> module. </td> 715</tr> 716<tr> 717 <td> "unlimitedStorage"</td> 718 <td> Provides an unlimited quota for storing HTML5 client-side data, 719 such as databases and local storage files. 720 Without this permission, the extension is limited to 721 5 MB of local storage. 722 723 <p class="note"> 724 <b>Note:</b> 725 This permission applies only to Web SQL Database and application cache 726 (see issue <a href="http://crbug.com/58985">58985</a>). 727 Also, it doesn't currently work with wildcard subdomains such as 728 <code>http://*.example.com</code>. 729 </p> 730 </td> 731</tr> 732</tbody></table> 733 734 735<h3 id="version">version</h3> 736 737<p> 738One to four dot-separated integers 739identifying the version of this extension. 740A couple of rules apply to the integers: 741they must be between 0 and 65535, inclusive, 742and non-zero integers can't start with 0. 743For example, 99999 and 032 are both invalid. 744</p> 745 746<p> 747Here are some examples of valid versions: 748</p> 749 750<ul> 751 <li> <code>"version": "1"</code> </li> 752 <li> <code>"version": "1.0"</code> </li> 753 <li> <code>"version": "2.10.2"</code> </li> 754 <li> <code>"version": "3.1.2.4567"</code> </li> 755</ul> 756 757<p> 758The autoupdate system compares versions 759to determine whether an installed extension 760needs to be updated. 761If the published extension has a newer version string 762than the installed extension, 763then the extension is automatically updated. 764</p> 765 766<p> 767The comparison starts with the leftmost integers. 768If those integers are equal, 769the integers to the right are compared, 770and so on. 771For example, 1.2.0 is a newer version than 1.1.9.9999. 772</p> 773 774<p> 775A missing integer is equal to zero. 776For example, 1.1.9.9999 is newer than 1.1. 777</p> 778 779<p> 780For more information, see 781<a href="autoupdate.html">Autoupdating</a>. 782</p> 783 784<!-- [PENDING: Possibly: point to the store/dashboard and make a big deal of the fact that autoupdating is free if you use them.] --> 785</div> 786 787 <!-- API PAGE --> 788 <div class="apiPage" style="display: none; "> 789 <a name="apiReference"></a> 790 <h2>API reference: chrome.apiname </h2> 791 792 <!-- PROPERTIES --> 793 <div class="apiGroup"> 794 <a name="properties"></a> 795 <h3 id="properties">Properties</h3> 796 797 <div> 798 <a></a> 799 <h4>getLastError</h4> 800 <div class="summary"> 801 <!-- Note: intentionally longer 80 columns --> 802 <span>chrome.extension</span><span>lastError</span> 803 </div> 804 <div> 805 </div> 806 </div> 807 808 </div> <!-- /apiGroup --> 809 810 <!-- METHODS --> 811 <div class="apiGroup" id="methods"> 812 <a name="methods"></a> 813 <h3>Methods</h3> 814 815 <!-- iterates over all functions --> 816 <div class="apiItem"> 817 <a></a> <!-- method-anchor --> 818 <h4>method name</h4> 819 820 <div class="summary"><span>void</span> 821 <!-- Note: intentionally longer 80 columns --> 822 <span>chrome.module.methodName</span>(<span><span>, </span><span></span> 823 <var><span></span></var></span>)</div> 824 825 <div class="description"> 826 <p class="todo">Undocumented.</p> 827 <p> 828 A description from the json schema def of the function goes here. 829 </p> 830 831 <!-- PARAMETERS --> 832 <h4>Parameters</h4> 833 <dl> 834 <div> 835 <div> 836 </div> 837 </div> 838 </dl> 839 840 <!-- RETURNS --> 841 <h4>Returns</h4> 842 <dl> 843 <div> 844 <div> 845 </div> 846 </div> 847 </dl> 848 849 <!-- CALLBACK --> 850 <div> 851 <div> 852 <h4>Callback function</h4> 853 <p> 854 The callback <em>parameter</em> should specify a function 855 that looks like this: 856 </p> 857 <p> 858 If you specify the <em>callback</em> parameter, it should 859 specify a function that looks like this: 860 </p> 861 862 <!-- Note: intentionally longer 80 columns --> 863 <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre> 864 <dl> 865 <div> 866 <div> 867 </div> 868 </div> 869 </dl> 870 </div> 871 </div> 872 873 <!-- MIN_VERSION --> 874 <p> 875 This function was added in version <b><span></span></b>. 876 If you require this function, the manifest key 877 <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> 878 can ensure that your extension won't be run in an earlier browser version. 879 </p> 880 </div> <!-- /description --> 881 882 </div> <!-- /apiItem --> 883 884 </div> <!-- /apiGroup --> 885 886 <!-- EVENTS --> 887 <div class="apiGroup"> 888 <a name="events"></a> 889 <h3 id="events">Events</h3> 890 891 <!-- iterates over all events --> 892 <div class="apiItem"> 893 <a></a> 894 <h4>event name</h4> 895 896 <div class="summary"> 897 <!-- Note: intentionally longer 80 columns --> 898 <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>); 899 </div> 900 901 <div class="description"> 902 <p class="todo">Undocumented.</p> 903 <p> 904 A description from the json schema def of the event goes here. 905 </p> 906 907 <!-- PARAMETERS --> 908 <h4>Parameters</h4> 909 <dl> 910 <div> 911 <div> 912 </div> 913 </div> 914 </dl> 915 916 </div> <!-- /decription --> 917 918 </div> <!-- /apiItem --> 919 920 </div> <!-- /apiGroup --> 921 922 <!-- TYPES --> 923 <div class="apiGroup"> 924 <a name="types"></a> 925 <h3 id="types">Types</h3> 926 927 <!-- iterates over all types --> 928 <div class="apiItem"> 929 <a></a> 930 <h4>type name</h4> 931 932 <div> 933 </div> 934 935 </div> <!-- /apiItem --> 936 937 </div> <!-- /apiGroup --> 938 939 </div> <!-- /apiPage --> 940 </div> <!-- /gc-pagecontent --> 941 </div> <!-- /g-section --> 942 </div> <!-- /codesiteContent --> 943 <div id="gc-footer" --=""> 944 <div class="text"> 945 <p> 946 Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>, 947 the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons 948 Attribution 3.0 License</a>, and code samples are licensed under the 949 <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>. 950 </p> 951 <p> 952 ©2011 Google 953 </p> 954 955<!-- begin analytics --> 956<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> 957<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script> 958 959<script type="text/javascript"> 960 // chrome doc tracking 961 try { 962 var engdocs = _gat._getTracker("YT-10763712-2"); 963 engdocs._trackPageview(); 964 } catch(err) {} 965 966 // code.google.com site-wide tracking 967 try { 968 _uacct="UA-18071-1"; 969 _uanchor=1; 970 _uff=0; 971 urchinTracker(); 972 } 973 catch(e) {/* urchinTracker not available. */} 974</script> 975<!-- end analytics --> 976 </div> 977 </div> <!-- /gc-footer --> 978 </div> <!-- /gc-container --> 979</body></html> 980