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

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

Issue 5398002: doc stuff (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 | Annotate | Revision Log
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>
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 <ul> 163 <ul>
164 <li>Browser UI 164 <li>Browser UI
165 <ul> 165 <ul>
166 <li><a href="browserAction.html">Browser Actions</a></li> 166 <li><a href="browserAction.html">Browser Actions</a></li>
167 <li><a href="contextMenus.html">Context Menus</a></li> 167 <li><a href="contextMenus.html">Context Menus</a></li>
168 <li><a href="notifications.html">Desktop Notifications</a></li > 168 <li><a href="notifications.html">Desktop Notifications</a></li >
169 <li><a href="omnibox.html">Omnibox</a></li> 169 <li><a href="omnibox.html">Omnibox</a></li>
170 <li><a href="options.html">Options Pages</a></li> 170 <li><a href="options.html">Options Pages</a></li>
171 <li><a href="override.html">Override Pages</a></li> 171 <li><a href="override.html">Override Pages</a></li>
172 <li><a href="pageAction.html">Page Actions</a></li> 172 <li><a href="pageAction.html">Page Actions</a></li>
173 <li><a href="themes.html">Themes</a></li>
174 </ul> 173 </ul>
175 </li> 174 </li>
176 <li>Browser Interaction 175 <li>Browser Interaction
177 <ul> 176 <ul>
178 <li><a href="bookmarks.html">Bookmarks</a></li> 177 <li><a href="bookmarks.html">Bookmarks</a></li>
179 <li><a href="cookies.html">Cookies</a></li> 178 <li><a href="cookies.html">Cookies</a></li>
180 <li><a href="events.html">Events</a></li> 179 <li><a href="events.html">Events</a></li>
181 <li><a href="history.html">History</a></li> 180 <li><a href="history.html">History</a></li>
182 <li><a href="management.html">Management</a></li> 181 <li><a href="management.html">Management</a></li>
183 <li><a href="tabs.html">Tabs</a></li> 182 <li><a href="tabs.html">Tabs</a></li>
(...skipping 13 matching lines...) Expand all
197 </ul> 196 </ul>
198 </li> 197 </li>
199 <li>Finishing 198 <li>Finishing
200 <ul> 199 <ul>
201 <li><a href="hosting.html">Hosting</a></li> 200 <li><a href="hosting.html">Hosting</a></li>
202 <li><a href="external_extensions.html">Other Deployment Option s</a></li> 201 <li><a href="external_extensions.html">Other Deployment Option s</a></li>
203 </ul> 202 </ul>
204 </li> 203 </li>
205 </ul> 204 </ul>
206 </li> 205 </li>
206 <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
207 <li><h2><a href="tutorials.html">Tutorials</a></h2> 207 <li><h2><a href="tutorials.html">Tutorials</a></h2>
208 <ul> 208 <ul>
209 <li><a href="tut_debugging.html">Debugging</a></li> 209 <li><a href="tut_debugging.html">Debugging</a></li>
210 <li><a href="tut_analytics.html">Google Analytics</a></li> 210 <li><a href="tut_analytics.html">Google Analytics</a></li>
211 <li><a href="tut_oauth.html">OAuth</a></li> 211 <li><a href="tut_oauth.html">OAuth</a></li>
212 </ul> 212 </ul>
213 </li> 213 </li>
214 <li><h2>Reference</h2> 214 <li><h2>Reference</h2>
215 <ul> 215 <ul>
216 <li>Formats 216 <li>Formats
217 <ul> 217 <ul>
218 <li class="leftNavSelected">Manifest Files</li> 218 <li class="leftNavSelected">Manifest Files</li>
219 <li><a href="match_patterns.html">Match Patterns</a></li> 219 <li><a href="match_patterns.html">Match Patterns</a></li>
220 <!-- <li>Packages (.crx)</li> -->
221 </ul> 220 </ul>
222 </li> 221 </li>
222 <li><a href="permission_warnings.html">Permission Warnings</a></li >
223 <li><a href="api_index.html">chrome.* APIs</a></li> 223 <li><a href="api_index.html">chrome.* APIs</a></li>
224 <li><a href="api_other.html">Other APIs</a></li> 224 <li><a href="api_other.html">Other APIs</a></li>
225 </ul> 225 </ul>
226 </li> 226 </li>
227 <li><h2><a href="samples.html">Samples</a></h2></li> 227 <li><h2><a href="samples.html">Samples</a></h2></li>
228 <div class="line"> </div> 228 <div class="line"> </div>
229 <li><h2>More</h2> 229 <li><h2>More</h2>
230 <ul> 230 <ul>
231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm l">Chrome Web Store</a></li> 231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm l">Chrome Web Store</a></li>
232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu ide.html">Installable Web Apps</a></li> 232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu ide.html">Hosted Apps</a></li>
233 <li><a href="themes.html">Themes</a></li> 233 <li><a href="themes.html">Themes</a></li>
234 </ul> 234 </ul>
235 </li> 235 </li>
236 </ul> 236 </ul>
237 </div> 237 </div>
238 <script> 238 <script>
239 initToggles(); 239 initToggles();
240 </script> 240 </script>
241 241
242 <div class="g-unit" id="gc-pagecontent"> 242 <div class="g-unit" id="gc-pagecontent">
243 <div id="pageTitle"> 243 <div id="pageTitle">
244 <h1 class="page_title">Formats: Manifest Files</h1> 244 <h1 class="page_title">Formats: Manifest Files</h1>
245 </div> 245 </div>
246 <!-- TABLE OF CONTENTS --> 246 <!-- TABLE OF CONTENTS -->
247 <div id="toc"> 247 <div id="toc">
248 <h2>Contents</h2> 248 <h2>Contents</h2>
249 <ol> 249 <ol>
250 <li> 250 <li>
251 <a href="#overview"> Field summary </a> 251 <a href="#overview"> Field summary </a>
252 <ol> 252 <ol>
253 <li style="display: none; "> 253 <li style="display: none; ">
254 <a>h3Name</a> 254 <a>h3Name</a>
255 </li> 255 </li>
256 </ol> 256 </ol>
257 </li><li> 257 </li><li>
258 <a href="#H2-1">Field details</a> 258 <a href="#H2-1">Field details</a>
259 <ol> 259 <ol>
260 <li> 260 <li>
261 <a href="#app">app</a>
262 </li><li>
261 <a href="#default_locale">default_locale</a> 263 <a href="#default_locale">default_locale</a>
262 </li><li> 264 </li><li>
263 <a href="#description">description</a> 265 <a href="#description">description</a>
264 </li><li> 266 </li><li>
265 <a href="#homepage_url">homepage_url</a> 267 <a href="#homepage_url">homepage_url</a>
266 </li><li> 268 </li><li>
267 <a href="#icons">icons</a> 269 <a href="#icons">icons</a>
268 </li><li> 270 </li><li>
269 <a href="#incognito">incognito</a> 271 <a href="#incognito">incognito</a>
270 </li><li> 272 </li><li>
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 <!-- Standard content lead-in for experimental API pages --> 326 <!-- Standard content lead-in for experimental API pages -->
325 <p id="classSummary" style="display: none; "> 327 <p id="classSummary" style="display: none; ">
326 For information on how to use experimental APIs, see the <a href="expe rimental.html">chrome.experimental.* APIs</a> page. 328 For information on how to use experimental APIs, see the <a href="expe rimental.html">chrome.experimental.* APIs</a> page.
327 </p> 329 </p>
328 330
329 <!-- STATIC CONTENT PLACEHOLDER --> 331 <!-- STATIC CONTENT PLACEHOLDER -->
330 <div id="static"><div id="pageData-name" class="pageData">Formats: Manif est Files</div> 332 <div id="static"><div id="pageData-name" class="pageData">Formats: Manif est Files</div>
331 <div id="pageData-showTOC" class="pageData">true</div> 333 <div id="pageData-showTOC" class="pageData">true</div>
332 334
333 <p> 335 <p>
334 Every extension has a 336 Every extension, installable web app, and theme has a
335 <a href="http://www.json.org">JSON</a>-formatted manifest file, 337 <a href="http://www.json.org">JSON</a>-formatted manifest file,
336 named <code>manifest.json</code>, 338 named <code>manifest.json</code>,
337 that provides important information about the extension. 339 that provides important information.
338 </p> 340 </p>
339 341
340 <h2 id="overview"> Field summary </h2> 342 <h2 id="overview"> Field summary </h2>
341 343
342 <p> 344 <p>
343 The following code shows the supported manifest fields, 345 The following code shows the supported manifest fields,
344 with links to the page that discusses each field. 346 with links to the page that discusses each field.
345 The only fields that are required for every extension 347 The only fields that are always required
346 are <b>name</b> and <b>version</b>. 348 are <b>name</b> and <b>version</b>.
347 </p> 349 </p>
348 350
349 <pre>{ 351 <pre>{
350 <em>// Required</em> 352 <em>// Required</em>
351 "<a href="#name">name</a>": "<em>My Extension</em>", 353 "<a href="#name">name</a>": "<em>My Extension</em>",
352 "<a href="#version">version</a>": "<em>versionString</em>", 354 "<a href="#version">version</a>": "<em>versionString</em>",
353 355
354 <em>// Recommended</em> 356 <em>// Recommended</em>
355 "<a href="#description">description</a>": "<em>A plain text description</em>", 357 "<a href="#description">description</a>": "<em>A plain text description</em>",
356 "<a href="#icons">icons</a>": { ... }, 358 "<a href="#icons">icons</a>": { ... },
357 "<a href="#default_locale">default_locale</a>": "<em>en</em>", 359 "<a href="#default_locale">default_locale</a>": "<em>en</em>",
358 360
359 <em>// Pick one (or none)</em> 361 <em>// Pick one (or none)</em>
360 "<a href="browserAction.html">browser_action</a>": {...}, 362 "<a href="browserAction.html">browser_action</a>": {...},
361 "<a href="pageAction.html">page_action</a>": {...}, 363 "<a href="pageAction.html">page_action</a>": {...},
362 "<a href="themes.html">theme</a>": {...}, 364 "<a href="themes.html">theme</a>": {...},
365 "<a href="#app">app</a>": {...},
363 366
364 <em>// Add any of these that you need</em> 367 <em>// Add any of these that you need</em>
365 "<a href="background_pages.html">background_page</a>": "<em>aFile</em>.html", 368 "<a href="background_pages.html">background_page</a>": "<em>aFile</em>.html",
366 "<a href="override.html">chrome_url_overrides</a>": {...}, 369 "<a href="override.html">chrome_url_overrides</a>": {...},
367 "<a href="content_scripts.html">content_scripts</a>": [...], 370 "<a href="content_scripts.html">content_scripts</a>": [...],
368 "<a href="#homepage_url">homepage_url</a>": "http://<em>path/to/homepage</em>" , 371 "<a href="#homepage_url">homepage_url</a>": "http://<em>path/to/homepage</em>" ,
369 "<a href="#incognito">incognito</a>": "spanning" <em>or</em> "split", 372 "<a href="#incognito">incognito</a>": "spanning" <em>or</em> "split",
370 "<a href="#key">key</a>": "<em>publicKey</em>", 373 "<a href="#key">key</a>": "<em>publicKey</em>",
371 "<a href="#minimum_chrome_version">minimum_chrome_version</a>": "<em>versionSt ring</em>", 374 "<a href="#minimum_chrome_version">minimum_chrome_version</a>": "<em>versionSt ring</em>",
372 "<a href="omnibox.html">omnibox</a>": { "keyword" : "<em>aString</em>" }, 375 "<a href="omnibox.html">omnibox</a>": { "keyword" : "<em>aString</em>" },
373 "<a href="options.html">options_page</a>": "<em>aFile</em>.html", 376 "<a href="options.html">options_page</a>": "<em>aFile</em>.html",
374 "<a href="#permissions">permissions</a>": [...], 377 "<a href="#permissions">permissions</a>": [...],
375 "<a href="npapi.html">plugins</a>": [...], 378 "<a href="npapi.html">plugins</a>": [...],
376 "<a href="autoupdate.html">update_url</a>": "http://<em>path/to/updateInfo</em >.xml" 379 "<a href="autoupdate.html">update_url</a>": "http://<em>path/to/updateInfo</em >.xml"
377 } 380 }
378 </pre> 381 </pre>
379 382
380 383
381 <a name="H2-1"></a><h2>Field details</h2> 384 <a name="H2-1"></a><h2>Field details</h2>
382 385
383 <p> 386 <p>
384 This section covers fields that aren't described in another page. 387 This section covers fields that aren't described in another page.
385 For a complete list of fields, 388 For a complete list of fields,
386 with links to where they're described in detail, 389 with links to where they're described in detail,
387 see the <a href="#overview">Field summary</a>. 390 see the <a href="#overview">Field summary</a>.
388 </p> 391 </p>
389 392
393
394 <h3 id="app">app</h3>
395
396 <p>
397 Used by installable web apps,
398 including packaged apps,
399 to specify the URLs that the app uses.
400 Most important is the <em>launch page</em> for the app—the
401 page that the browser goes to when the user clicks the app's icon
402 in the New Tab page.
403 </p>
404
405 <p>
406 For details, see the documentation for
407 <a href="http://code.google.com/chrome/apps/docs/developers_guide.html">hosted a pps</a> and
408 <a href="apps.html">packaged apps</a>.
409 </p>
410
390 <h3 id="default_locale">default_locale</h3> 411 <h3 id="default_locale">default_locale</h3>
391 412
392 <p> 413 <p>
393 Specifies the subdirectory of <code>_locales</code> 414 Specifies the subdirectory of <code>_locales</code>
394 that contains the default strings for this extension. 415 that contains the default strings for this extension.
395 This field is <b>required</b> in extensions 416 This field is <b>required</b> in extensions
396 that have a <code>_locales</code> directory; 417 that have a <code>_locales</code> directory;
397 it <b>must be absent</b> in extensions 418 it <b>must be absent</b> in extensions
398 that have no <code>_locales</code> directory. 419 that have no <code>_locales</code> directory.
399 For details, see 420 For details, see
(...skipping 20 matching lines...) Expand all
420 The URL of the homepage for this extension. The extensions management page (chro me://extensions) 441 The URL of the homepage for this extension. The extensions management page (chro me://extensions)
421 will contain a link to this URL. This field is particularly useful if you 442 will contain a link to this URL. This field is particularly useful if you
422 <a href="hosting.html">host the extension on your own site</a>. If you distribut e your 443 <a href="hosting.html">host the extension on your own site</a>. If you distribut e your
423 extension using the <a href="http://chrome.google.com/extensions">gallery</a>, 444 extension using the <a href="http://chrome.google.com/extensions">gallery</a>,
424 the homepage URL defaults to the extension's own gallery page. 445 the homepage URL defaults to the extension's own gallery page.
425 </p> 446 </p>
426 447
427 <h3 id="icons">icons</h3> 448 <h3 id="icons">icons</h3>
428 449
429 <p> 450 <p>
430 One or more icons that represent the extension. 451 One or more icons that represent the extension, app, or theme.
431 You should provide icons in at least two sizes — 452 You should always provide a 128x128 icon;
432 48x48 and 128x128 pixels. 453 it's used during installation and by the Chrome Web Store.
433 The 48x48 icon is used in the extensions management page 454 Extensions should also provide a 48x48 icon,
455 which is used in the extensions management page
434 (chrome://extensions). 456 (chrome://extensions).
435 The 128x128 icon is used when the user installs the extension.
436 You can also specify a 16x16 icon to be used as the favicon 457 You can also specify a 16x16 icon to be used as the favicon
437 for the extension's pages. 458 for an extension's pages.
438 The 16x16 icon is also displayed in the experimental 459 The 16x16 icon is also displayed in the experimental extension
439 <a href="experimental.infobars.html">infobar</a> 460 <a href="experimental.infobars.html">infobar</a>
440 feature. 461 feature.
441 </p> 462 </p>
442 463
443 <p> 464 <p>
444 Icons should generally be in PNG format, 465 Icons should generally be in PNG format,
445 because PNG has the best support for transparency. 466 because PNG has the best support for transparency.
446 They can, however, be in any format supported by WebKit, 467 They can, however, be in any format supported by WebKit,
447 including BMP, GIF, ICO, and JPEG. 468 including BMP, GIF, ICO, and JPEG.
448 Here's an example of specifying the icons: 469 Here's an example of specifying the icons:
449 </p> 470 </p>
450 471
451 <pre>"icons": { "16": "icon16.png", 472 <pre>"icons": { "16": "icon16.png",
452 "48": "icon48.png", 473 "48": "icon48.png",
453 "128": "icon128.png" }, 474 "128": "icon128.png" },
454 </pre> 475 </pre>
455 476
456 <p class="note"> 477 <p class="note">
457 <b>Note:</b> 478 <b>Important:</b>
458 Use only the documented icon sizes. 479 Use only the documented icon sizes.
459 <br><br> 480 <br><br>
460 You may notice that Google Chrome sometimes resizes these icons down to smaller 481 You might notice that Chrome sometimes resizes these icons down to smaller
461 sizes. For example, as of this writing, the install dialog shrinks the 128-pixel 482 sizes. For example, the install dialog might shrink the 128-pixel
462 icon down to 69 pixels. 483 icon down to 69 pixels.
463 <br><br> 484 <br><br>
464 Nevertheless, you should use only the documented sizes. The details of Google 485 However, the details of
465 Chrome's UI may change between versions. These changes are made assuming that 486 Chrome's UI may change between versions, and these changes assume that
466 extension developers are using the documented sizes. If you use other sizes, 487 developers are using the documented sizes. If you use other sizes,
467 your icon may look bad in future versions of the browser. 488 your icon may look bad in future versions of the browser.
468 </p> 489 </p>
469 490
470 <p> 491 <p>
471 If you submit your extension to the 492 If you upload your extension, app, or theme using the
472 <a href="https://chrome.google.com/extensions">gallery</a>, 493 <a href="https://chrome.google.com/extensions/developer/dashboard">Chrome Develo per Dashboard</a>,
473 you'll need to upload additional images, 494 you'll need to upload additional images,
474 including a 32x32-pixel logo 495 including at least one screenshot of your extension.
475 and at least one screenshot of your extension. 496 For more information,
476 For more information on gallery requirements,
477 see the 497 see the
478 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle ry help</a>. 498 <a href="http://code.google.com/chrome/webstore/">Chrome Web Store
499 developer documentation</a>.
479 </p> 500 </p>
480 501
481 <h3 id="incognito">incognito</h3> 502 <h3 id="incognito">incognito</h3>
482 503
483 <p> 504 <p>
484 Either "spanning" or "split", to specify how this extension will 505 Either "spanning" or "split", to specify how this extension will
485 behave if allowed to run in incognito mode. 506 behave if allowed to run in incognito mode.
486 </p> 507 </p>
487 508
488 <p> 509 <p>
(...skipping 17 matching lines...) Expand all
506 As a rule of thumb, if your extension or app needs to load a tab in an incognito browser, use 527 As a rule of thumb, if your extension or app needs to load a tab in an incognito browser, use
507 <em>split</em> incognito behavior. If your extension or app needs to be logged 528 <em>split</em> incognito behavior. If your extension or app needs to be logged
508 into a remote server or persist settings locally, use <em>spanning</em> 529 into a remote server or persist settings locally, use <em>spanning</em>
509 incognito behavior. 530 incognito behavior.
510 </p> 531 </p>
511 532
512 <h3 id="key">key</h3> 533 <h3 id="key">key</h3>
513 534
514 <p> 535 <p>
515 This value can be used to control 536 This value can be used to control
516 the unique ID of an extension when 537 the unique ID of an extension, app, or theme when
517 it is loaded during development. 538 it is loaded during development.
518 </p> 539 </p>
519 540
520 <p class="note"> 541 <p class="note">
521 <b>Note:</b> Most extensions should not need to 542 <b>Note:</b> You don't usually need to
522 use this value. Instead, write your 543 use this value. Instead, write your
523 code so that the key value doesn't matter 544 code so that the key value doesn't matter
524 by using <a href="overview.html#relative-urls">relative paths</a> 545 by using <a href="overview.html#relative-urls">relative paths</a>
525 and <a href="extension.html#method-getURL">chrome.extension.getURL()</a>. 546 and <a href="extension.html#method-getURL">chrome.extension.getURL()</a>.
526 </p> 547 </p>
527 548
528 <p> 549 <p>
529 To get a suitable key value, first 550 To get a suitable key value, first
530 install your extension from a <code>.crx</code> file 551 install your extension from a <code>.crx</code> file
531 (you may need to 552 (you may need to
532 <a href="hosting.html#gallery">upload your extension to the gallery</a>, 553 <a href="https://chrome.google.com/webstore/developer/dashboard">upload your ext ension</a>
533 or <a href="packaging.html">package it manually</a>). 554 or <a href="packaging.html">package it manually</a>).
534 Then, in your 555 Then, in your
535 <a href="http://www.chromium.org/user-experience/user-data-directory">user 556 <a href="http://www.chromium.org/user-experience/user-data-directory">user
536 data directory</a>, look in the file 557 data directory</a>, look in the file
537 <code>Default/Extensions/<em>&lt;extensionId&gt;</em>/<em>&lt;versionString&gt;< /em>/manifest.json</code>. 558 <code>Default/Extensions/<em>&lt;extensionId&gt;</em>/<em>&lt;versionString&gt;< /em>/manifest.json</code>.
538 You will see the key value filled in there. 559 You will see the key value filled in there.
539 </p> 560 </p>
540 561
541 <h3 id="minimum_chrome_version">minimum_chrome_version</h3> 562 <h3 id="minimum_chrome_version">minimum_chrome_version</h3>
542 563
543 <p> 564 <p>
544 The version of Google Chrome that your extension requires, if any. 565 The version of Chrome that your extension, app, or theme requires, if any.
545 The format for this string is the same as for the 566 The format for this string is the same as for the
546 <a href="#version">version</a> field. 567 <a href="#version">version</a> field.
547 568
548 </p><h3 id="name">name</h3> 569 </p><h3 id="name">name</h3>
549 570
550 <p> 571 <p>
551 A short, plain text string 572 A short, plain text string
552 (no more than 45 characters) 573 (no more than 45 characters)
553 that identifies the extension. 574 that identifies the extension.
554 The name is used in the install dialog, 575 The name is used in the install dialog,
555 extension management UI, 576 extension management UI,
556 and the <a href="https://chrome.google.com/extensions">extension gallery</a>. 577 and the <a href="https://chrome.google.com/extensions">extension gallery</a>.
557 You can specify locale-specific strings for this field; 578 You can specify locale-specific strings for this field;
558 see <a href="i18n.html">Internationalization</a> for details. 579 see <a href="i18n.html">Internationalization</a> for details.
559 </p> 580 </p>
560 581
561 <h3 id="permissions">permissions</h3> 582 <h3 id="permissions">permissions</h3>
562 583
563 <p> 584 <p>
564 An array of permissions that the extension might use. 585 An array of permissions that the extension or app might use.
565 Each permission can be either one of a list of known strings 586 Each permission can be either one of a list of known strings
566 (such as "tabs") 587 (such as "geolocation")
567 or a match pattern 588 or a match pattern
568 that gives access to one or more hosts. 589 that gives access to one or more hosts.
569 These permissions are displayed to users before installation. 590 Permissions can help to limit damage
570 Permissions might also help to limit damage 591 if your extension or app is attacked.
571 if your extension is attacked. 592 Some permissions are also displayed to users before installation,
593 as detailed in
594 <a href="permission_warnings.html">Permission Warnings</a>.
572 </p> 595 </p>
573 596
574 <p> 597 <p>
575 If an API requires you to declare a permission in the manifest, 598 If an extension API requires you to declare a permission in the manifest,
576 then its documentation tells you how to do so. 599 then its documentation tells you how to do so.
577 For example, 600 For example,
578 the <a href="tabs.html">Tabs</a> page 601 the <a href="tabs.html">Tabs</a> page
579 shows you how to 602 shows you how to
580 declare the "tabs" permission. 603 declare the "tabs" permission.
581 </p> 604 </p>
582 605
583 <p> 606 <p>
584 Here's an example of the permissions part of a manifest file: 607 Here's an example of the permissions part of a manifest file
608 for an extension:
585 </p> 609 </p>
586 610
587 <pre>"permissions": [ 611 <pre>"permissions": [
588 "tabs", 612 "tabs",
589 "bookmarks", 613 "bookmarks",
590 "http://www.blogger.com/", 614 "http://www.blogger.com/",
591 "http://*.google.com/", 615 "http://*.google.com/",
592 "unlimitedStorage" 616 "unlimitedStorage"
593 ], 617 ],
594 </pre> 618 </pre>
595 619
596 <p> 620 <p>
597 The following table lists the permissions an extension can use. 621 The following table lists the permissions an extension
622 or packaged app can use.
623 </p>
624
625 <p class="note">
626 <strong>Note:</strong>
627 Hosted apps can use only HTML5-related permissions
628 such as "geolocation", "notifications", and "unlimitedStorage".
598 </p> 629 </p>
599 630
600 <table> 631 <table>
601 <tbody><tr> 632 <tbody><tr>
602 <th> Permission </th> <th> Description </th> 633 <th> Permission </th> <th> Description </th>
603 </tr> 634 </tr>
604 <tr> 635 <tr>
605 <td> <em>match pattern</em> </td> 636 <td> <em>match pattern</em> </td>
606 <td> Specifies a <em>host permission</em>. 637 <td> Specifies a <em>host permission</em>.
607 Required if the extension wants to interact 638 Required if the extension wants to interact
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 _uff=0; 969 _uff=0;
939 urchinTracker(); 970 urchinTracker();
940 } 971 }
941 catch(e) {/* urchinTracker not available. */} 972 catch(e) {/* urchinTracker not available. */}
942 </script> 973 </script>
943 <!-- end analytics --> 974 <!-- end analytics -->
944 </div> 975 </div>
945 </div> <!-- /gc-footer --> 976 </div> <!-- /gc-footer -->
946 </div> <!-- /gc-container --> 977 </div> <!-- /gc-container -->
947 </body></html> 978 </body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698