OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
400 <a href="i18n.html">Internationalization</a>. | 421 <a href="i18n.html">Internationalization</a>. |
401 </p> | 422 </p> |
402 | 423 |
403 <h3 id="description">description</h3> | 424 <h3 id="description">description</h3> |
404 | 425 |
405 <p> | 426 <p> |
406 A plain text string | 427 A plain text string |
407 (no HTML or other formatting; | 428 (no HTML or other formatting; |
408 no more than 132 characters) | 429 no more than 132 characters) |
409 that describes the extension. | 430 that describes the extension. |
410 The description should be suitable for both | 431 The description should be suitable for both |
411 the browser's extension management UI | 432 the browser's extension management UI |
412 and the <a href="https://chrome.google.com/extensions">extension gallery</a>. | 433 and the <a href="https://chrome.google.com/webstore">Chrome Web Store</a>. |
413 You can specify locale-specific strings for this field; | 434 You can specify locale-specific strings for this field; |
414 see <a href="i18n.html">Internationalization</a> for details. | 435 see <a href="i18n.html">Internationalization</a> for details. |
415 </p> | 436 </p> |
416 | 437 |
417 <h3 id="homepage_url">homepage_url</h3> | 438 <h3 id="homepage_url">homepage_url</h3> |
418 | 439 |
419 <p> | 440 <p> |
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="https://chrome.google.com/extensions">Extensions Ga
llery</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. |
| 446 <!-- PENDING: check whether the same is true of the store --> |
425 </p> | 447 </p> |
426 | 448 |
427 <h3 id="icons">icons</h3> | 449 <h3 id="icons">icons</h3> |
428 | 450 |
429 <p> | 451 <p> |
430 One or more icons that represent the extension. | 452 One or more icons that represent the extension, app, or theme. |
431 You should provide icons in at least two sizes — | 453 You should always provide a 128x128 icon; |
432 48x48 and 128x128 pixels. | 454 it's used during installation and by the Chrome Web Store. |
433 The 48x48 icon is used in the extensions management page | 455 Extensions should also provide a 48x48 icon, |
| 456 which is used in the extensions management page |
434 (chrome://extensions). | 457 (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 | 458 You can also specify a 16x16 icon to be used as the favicon |
437 for the extension's pages. | 459 for an extension's pages. |
438 The 16x16 icon is also displayed in the experimental | 460 The 16x16 icon is also displayed in the experimental extension |
439 <a href="experimental.infobars.html">infobar</a> | 461 <a href="experimental.infobars.html">infobar</a> |
440 feature. | 462 feature. |
441 </p> | 463 </p> |
442 | 464 |
443 <p> | 465 <p> |
444 Icons should generally be in PNG format, | 466 Icons should generally be in PNG format, |
445 because PNG has the best support for transparency. | 467 because PNG has the best support for transparency. |
446 They can, however, be in any format supported by WebKit, | 468 They can, however, be in any format supported by WebKit, |
447 including BMP, GIF, ICO, and JPEG. | 469 including BMP, GIF, ICO, and JPEG. |
448 Here's an example of specifying the icons: | 470 Here's an example of specifying the icons: |
449 </p> | 471 </p> |
450 | 472 |
451 <pre>"icons": { "16": "icon16.png", | 473 <pre>"icons": { "16": "icon16.png", |
452 "48": "icon48.png", | 474 "48": "icon48.png", |
453 "128": "icon128.png" }, | 475 "128": "icon128.png" }, |
454 </pre> | 476 </pre> |
455 | 477 |
456 <p class="note"> | 478 <p class="note"> |
457 <b>Note:</b> | 479 <b>Important:</b> |
458 Use only the documented icon sizes. | 480 Use only the documented icon sizes. |
459 <br><br> | 481 <br><br> |
460 You may notice that Google Chrome sometimes resizes these icons down to smaller | 482 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 | 483 sizes. For example, the install dialog might shrink the 128-pixel |
462 icon down to 69 pixels. | 484 icon down to 69 pixels. |
463 <br><br> | 485 <br><br> |
464 Nevertheless, you should use only the documented sizes. The details of Google | 486 However, the details of |
465 Chrome's UI may change between versions. These changes are made assuming that | 487 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, | 488 developers are using the documented sizes. If you use other sizes, |
467 your icon may look bad in future versions of the browser. | 489 your icon may look bad in future versions of the browser. |
468 </p> | 490 </p> |
469 | 491 |
470 <p> | 492 <p> |
471 If you submit your extension to the | 493 If you upload your extension, app, or theme using the |
472 <a href="https://chrome.google.com/extensions">gallery</a>, | 494 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope
r Dashboard</a>, |
473 you'll need to upload additional images, | 495 you'll need to upload additional images, |
474 including a 32x32-pixel logo | 496 including at least one screenshot of your extension. |
475 and at least one screenshot of your extension. | 497 For more information, |
476 For more information on gallery requirements, | |
477 see the | 498 see the |
478 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle
ry help</a>. | 499 <a href="http://code.google.com/chrome/webstore/">Chrome Web Store |
| 500 developer documentation</a>. |
479 </p> | 501 </p> |
480 | 502 |
481 <h3 id="incognito">incognito</h3> | 503 <h3 id="incognito">incognito</h3> |
482 | 504 |
483 <p> | 505 <p> |
484 Either "spanning" or "split", to specify how this extension will | 506 Either "spanning" or "split", to specify how this extension will |
485 behave if allowed to run in incognito mode. | 507 behave if allowed to run in incognito mode. |
486 </p> | 508 </p> |
487 | 509 |
488 <p> | 510 <p> |
(...skipping 17 matching lines...) Expand all Loading... |
506 As a rule of thumb, if your extension or app needs to load a tab in an incognito
browser, use | 528 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 | 529 <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> | 530 into a remote server or persist settings locally, use <em>spanning</em> |
509 incognito behavior. | 531 incognito behavior. |
510 </p> | 532 </p> |
511 | 533 |
512 <h3 id="key">key</h3> | 534 <h3 id="key">key</h3> |
513 | 535 |
514 <p> | 536 <p> |
515 This value can be used to control | 537 This value can be used to control |
516 the unique ID of an extension when | 538 the unique ID of an extension, app, or theme when |
517 it is loaded during development. | 539 it is loaded during development. |
518 </p> | 540 </p> |
519 | 541 |
520 <p class="note"> | 542 <p class="note"> |
521 <b>Note:</b> Most extensions should not need to | 543 <b>Note:</b> You don't usually need to |
522 use this value. Instead, write your | 544 use this value. Instead, write your |
523 code so that the key value doesn't matter | 545 code so that the key value doesn't matter |
524 by using <a href="overview.html#relative-urls">relative paths</a> | 546 by using <a href="overview.html#relative-urls">relative paths</a> |
525 and <a href="extension.html#method-getURL">chrome.extension.getURL()</a>. | 547 and <a href="extension.html#method-getURL">chrome.extension.getURL()</a>. |
526 </p> | 548 </p> |
527 | 549 |
528 <p> | 550 <p> |
529 To get a suitable key value, first | 551 To get a suitable key value, first |
530 install your extension from a <code>.crx</code> file | 552 install your extension from a <code>.crx</code> file |
531 (you may need to | 553 (you may need to |
532 <a href="hosting.html#gallery">upload your extension to the gallery</a>, | 554 <a href="https://chrome.google.com/webstore/developer/dashboard">upload your ext
ension</a> |
533 or <a href="packaging.html">package it manually</a>). | 555 or <a href="packaging.html">package it manually</a>). |
534 Then, in your | 556 Then, in your |
535 <a href="http://www.chromium.org/user-experience/user-data-directory">user | 557 <a href="http://www.chromium.org/user-experience/user-data-directory">user |
536 data directory</a>, look in the file | 558 data directory</a>, look in the file |
537 <code>Default/Extensions/<em><extensionId></em>/<em><versionString><
/em>/manifest.json</code>. | 559 <code>Default/Extensions/<em><extensionId></em>/<em><versionString><
/em>/manifest.json</code>. |
538 You will see the key value filled in there. | 560 You will see the key value filled in there. |
539 </p> | 561 </p> |
540 | 562 |
541 <h3 id="minimum_chrome_version">minimum_chrome_version</h3> | 563 <h3 id="minimum_chrome_version">minimum_chrome_version</h3> |
542 | 564 |
543 <p> | 565 <p> |
544 The version of Google Chrome that your extension requires, if any. | 566 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 | 567 The format for this string is the same as for the |
546 <a href="#version">version</a> field. | 568 <a href="#version">version</a> field. |
547 | 569 |
548 </p><h3 id="name">name</h3> | 570 </p><h3 id="name">name</h3> |
549 | 571 |
550 <p> | 572 <p> |
551 A short, plain text string | 573 A short, plain text string |
552 (no more than 45 characters) | 574 (no more than 45 characters) |
553 that identifies the extension. | 575 that identifies the extension. |
554 The name is used in the install dialog, | 576 The name is used in the install dialog, |
555 extension management UI, | 577 extension management UI, |
556 and the <a href="https://chrome.google.com/extensions">extension gallery</a>. | 578 and the <a href="https://chrome.google.com/webstore">store</a>. |
557 You can specify locale-specific strings for this field; | 579 You can specify locale-specific strings for this field; |
558 see <a href="i18n.html">Internationalization</a> for details. | 580 see <a href="i18n.html">Internationalization</a> for details. |
559 </p> | 581 </p> |
560 | 582 |
561 <h3 id="permissions">permissions</h3> | 583 <h3 id="permissions">permissions</h3> |
562 | 584 |
563 <p> | 585 <p> |
564 An array of permissions that the extension might use. | 586 An array of permissions that the extension or app might use. |
565 Each permission can be either one of a list of known strings | 587 Each permission can be either one of a list of known strings |
566 (such as "tabs") | 588 (such as "geolocation") |
567 or a match pattern | 589 or a match pattern |
568 that gives access to one or more hosts. | 590 that gives access to one or more hosts. |
569 These permissions are displayed to users before installation. | 591 Permissions can help to limit damage |
570 Permissions might also help to limit damage | 592 if your extension or app is attacked. |
571 if your extension is attacked. | 593 Some permissions are also displayed to users before installation, |
| 594 as detailed in |
| 595 <a href="permission_warnings.html">Permission Warnings</a>. |
572 </p> | 596 </p> |
573 | 597 |
574 <p> | 598 <p> |
575 If an API requires you to declare a permission in the manifest, | 599 If an extension API requires you to declare a permission in the manifest, |
576 then its documentation tells you how to do so. | 600 then its documentation tells you how to do so. |
577 For example, | 601 For example, |
578 the <a href="tabs.html">Tabs</a> page | 602 the <a href="tabs.html">Tabs</a> page |
579 shows you how to | 603 shows you how to |
580 declare the "tabs" permission. | 604 declare the "tabs" permission. |
581 </p> | 605 </p> |
582 | 606 |
583 <p> | 607 <p> |
584 Here's an example of the permissions part of a manifest file: | 608 Here's an example of the permissions part of a manifest file |
| 609 for an extension: |
585 </p> | 610 </p> |
586 | 611 |
587 <pre>"permissions": [ | 612 <pre>"permissions": [ |
588 "tabs", | 613 "tabs", |
589 "bookmarks", | 614 "bookmarks", |
590 "http://www.blogger.com/", | 615 "http://www.blogger.com/", |
591 "http://*.google.com/", | 616 "http://*.google.com/", |
592 "unlimitedStorage" | 617 "unlimitedStorage" |
593 ], | 618 ], |
594 </pre> | 619 </pre> |
595 | 620 |
596 <p> | 621 <p> |
597 The following table lists the permissions an extension can use. | 622 The following table lists the permissions an extension |
| 623 or packaged app can use. |
| 624 </p> |
| 625 |
| 626 <p class="note"> |
| 627 <strong>Note:</strong> |
| 628 Hosted apps can use the |
| 629 "geolocation", "notifications", and "unlimitedStorage" permissions, |
| 630 but not any other permissions listed in this table. |
598 </p> | 631 </p> |
599 | 632 |
600 <table> | 633 <table> |
601 <tbody><tr> | 634 <tbody><tr> |
602 <th> Permission </th> <th> Description </th> | 635 <th> Permission </th> <th> Description </th> |
603 </tr> | 636 </tr> |
604 <tr> | 637 <tr> |
605 <td> <em>match pattern</em> </td> | 638 <td> <em>match pattern</em> </td> |
606 <td> Specifies a <em>host permission</em>. | 639 <td> Specifies a <em>host permission</em>. |
607 Required if the extension wants to interact | 640 Required if the extension wants to interact |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 <p> | 775 <p> |
743 A missing integer is equal to zero. | 776 A missing integer is equal to zero. |
744 For example, 1.1.9.9999 is newer than 1.1. | 777 For example, 1.1.9.9999 is newer than 1.1. |
745 </p> | 778 </p> |
746 | 779 |
747 <p> | 780 <p> |
748 For more information, see | 781 For more information, see |
749 <a href="autoupdate.html">Autoupdating</a>. | 782 <a href="autoupdate.html">Autoupdating</a>. |
750 </p> | 783 </p> |
751 | 784 |
752 <!-- [PENDING: Possibly: point to the gallery and make a big deal of the fact th
at autoupdating is free if you use the gallery.] --> | 785 <!-- [PENDING: Possibly: point to the store/dashboard and make a big deal of the
fact that autoupdating is free if you use them.] --> |
753 </div> | 786 </div> |
754 | 787 |
755 <!-- API PAGE --> | 788 <!-- API PAGE --> |
756 <div class="apiPage" style="display: none; "> | 789 <div class="apiPage" style="display: none; "> |
757 <a name="apiReference"></a> | 790 <a name="apiReference"></a> |
758 <h2>API reference: chrome.apiname </h2> | 791 <h2>API reference: chrome.apiname </h2> |
759 | 792 |
760 <!-- PROPERTIES --> | 793 <!-- PROPERTIES --> |
761 <div class="apiGroup"> | 794 <div class="apiGroup"> |
762 <a name="properties"></a> | 795 <a name="properties"></a> |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
938 _uff=0; | 971 _uff=0; |
939 urchinTracker(); | 972 urchinTracker(); |
940 } | 973 } |
941 catch(e) {/* urchinTracker not available. */} | 974 catch(e) {/* urchinTracker not available. */} |
942 </script> | 975 </script> |
943 <!-- end analytics --> | 976 <!-- end analytics --> |
944 </div> | 977 </div> |
945 </div> <!-- /gc-footer --> | 978 </div> <!-- /gc-footer --> |
946 </div> <!-- /gc-container --> | 979 </div> <!-- /gc-container --> |
947 </body></html> | 980 </body></html> |
OLD | NEW |