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>Other APIs - 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=""> 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"> 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 class="leftNavSelected">Other APIs</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><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></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">Other APIs</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">Other APIs</div> 316 317 <p> 318 In addition to the 319 <a href="api_index.html">chrome.* APIs</a>, 320 extensions can use all the APIs 321 that the browser provides 322 to web pages and apps. 323 If the browser doesn't support an API you want to use, 324 you can bundle additional API libraries into your extension. 325 </p> 326 327 <p>Here's a sampling of the APIs that extensions can use:</p> 328 329 <dl> 330 <dt><strong> Standard JavaScript APIs </strong></dt> 331 <dd> These are the same core JavaScript and 332 <a href="http://www.w3.org/TR/DOM-Level-2-HTML/">Document Object Model</a> 333 (DOM) APIs 334 that you can use in ordinary web apps. 335 <!-- [PENDING: check! should link to complete list] --> 336 <!-- Use onclick in your toolbar div to add click behavior. 337 E.g. window.open(someUrl). --></dd> 338 <dt><strong> XMLHttpRequest </strong></dt> 339 <dd> 340 Use <a href="xhr.html">XMLHttpRequest</a> 341 to request data from one or more servers. 342 The <a href="manifest.html#permissions">permissions</a> field 343 of the manifest specifies 344 which hosts the extension can send requests to. 345 </dd> 346 <dt> <strong>HTML5 and other emerging APIs</strong></dt> 347 <dd> Google Chrome supports HTML5 features, 348 along with other emerging APIs. 349 Here are some of the APIs you can use: 350 <ul> 351 <li> audio 352 (<a href="http://www.html5rocks.com/tutorials/audio/quick/">tutorial</a>) </li> 353 <li> application cache 354 (<a href="http://www.html5rocks.com/tutorials/appcache/beginner/">tutorial</a>) </li> 355 <li> canvas </li> 356 <li> geolocation 357 (<a href="http://www.html5rocks.com/tutorials/geolocation/trip_meter/">tutorial</a>) </li> 358 <li> local storage </li> 359 <li> notifications 360 (<a href="http://www.html5rocks.com/tutorials/notifications/quick/">tutorial</a>) </li> 361 <li> session storage </li> 362 <li> video </li> 363 <li> web database 364 (<a href="http://www.html5rocks.com/tutorials/webdatabase/todo/">tutorial</a>) </li> 365 </ul> 366 <p> 367 See <a href="http://www.html5rocks.com">html5rocks.com</a> 368 for HTML5 information, tutorials, an interactive playground, 369 and links to other resources. 370 </p> 371 </dd> 372 373 <dt><strong> WebKit APIs </strong></dt> 374 <dd> 375 Because Google Chrome is built upon WebKit, 376 your extensions can use WebKit APIs. 377 Especially useful are the experimental CSS features 378 such as filters, animations, and transformations. 379 Here's an example of using WebKit styles 380 to make the UI spin: 381 <pre><style> 382 div:hover { 383 -webkit-transform: rotate(360deg); 384 -webkit-transition: all 1s ease-out; 385 } 386 </style> 387 </pre> 388 <!-- [PENDING: link to complete list of webkit apis] --> 389 </dd> 390 <dt><strong> V8 APIs</strong>, such as<strong> JSON </strong></dt> 391 <dd> Because JSON is in V8, you don't need to include a JSON library to use JSON functions. <!-- [PENDING: what other APIs are in v8? link to complete list] --></dd> 392 <dt><strong>APIs in bundled libraries</strong></dt> 393 <dd> If you want to use a library that the browser doesn't provide 394 (for example, jQuery), 395 you can bundle that library's JavaScript files with your extension. 396 Bundled libraries work in extensions 397 just as they do in other web pages. 398 </dd> 399 </dl> 400 401 </div> 402 403 <!-- API PAGE --> 404 <div class="apiPage" style="display: none; "> 405 <a name="apiReference"></a> 406 <h2>API reference: chrome.apiname </h2> 407 408 <!-- PROPERTIES --> 409 <div class="apiGroup"> 410 <a name="properties"></a> 411 <h3 id="properties">Properties</h3> 412 413 <div> 414 <a></a> 415 <h4>getLastError</h4> 416 <div class="summary"> 417 <!-- Note: intentionally longer 80 columns --> 418 <span>chrome.extension</span><span>lastError</span> 419 </div> 420 <div> 421 </div> 422 </div> 423 424 </div> <!-- /apiGroup --> 425 426 <!-- METHODS --> 427 <div id="methodsTemplate" class="apiGroup"> 428 <a></a> 429 <h3>Methods</h3> 430 431 <!-- iterates over all functions --> 432 <div class="apiItem"> 433 <a></a> <!-- method-anchor --> 434 <h4>method name</h4> 435 436 <div class="summary"><span>void</span> 437 <!-- Note: intentionally longer 80 columns --> 438 <span>chrome.module.methodName</span>(<span><span>, </span><span></span> 439 <var><span></span></var></span>)</div> 440 441 <div class="description"> 442 <p class="todo">Undocumented.</p> 443 <p> 444 A description from the json schema def of the function goes here. 445 </p> 446 447 <!-- PARAMETERS --> 448 <h4>Parameters</h4> 449 <dl> 450 <div> 451 <div> 452 </div> 453 </div> 454 </dl> 455 456 <!-- RETURNS --> 457 <h4>Returns</h4> 458 <dl> 459 <div> 460 <div> 461 </div> 462 </div> 463 </dl> 464 465 <!-- CALLBACK --> 466 <div> 467 <div> 468 <h4>Callback function</h4> 469 <p> 470 The callback <em>parameter</em> should specify a function 471 that looks like this: 472 </p> 473 <p> 474 If you specify the <em>callback</em> parameter, it should 475 specify a function that looks like this: 476 </p> 477 478 <!-- Note: intentionally longer 80 columns --> 479 <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre> 480 <dl> 481 <div> 482 <div> 483 </div> 484 </div> 485 </dl> 486 </div> 487 </div> 488 489 <!-- MIN_VERSION --> 490 <p> 491 This function was added in version <b><span></span></b>. 492 If you require this function, the manifest key 493 <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> 494 can ensure that your extension won't be run in an earlier browser version. 495 </p> 496 </div> <!-- /description --> 497 498 </div> <!-- /apiItem --> 499 500 </div> <!-- /apiGroup --> 501 502 <!-- EVENTS --> 503 <div id="eventsTemplate" class="apiGroup"> 504 <a></a> 505 <h3>Events</h3> 506 <!-- iterates over all events --> 507 <div class="apiItem"> 508 <a></a> 509 <h4>event name</h4> 510 511 <div class="summary"> 512 <!-- Note: intentionally longer 80 columns --> 513 <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>); 514 </div> 515 516 <div class="description"> 517 <p class="todo">Undocumented.</p> 518 <p> 519 A description from the json schema def of the event goes here. 520 </p> 521 522 <!-- PARAMETERS --> 523 <div> 524 <h4>Parameters</h4> 525 <dl> 526 <div> 527 <div> 528 </div> 529 </div> 530 </dl> 531 </div> 532 </div> <!-- /decription --> 533 534 </div> <!-- /apiItem --> 535 536 </div> <!-- /apiGroup --> 537 538 <!-- TYPES --> 539 <div class="apiGroup"> 540 <a name="types"></a> 541 <h3 id="types">Types</h3> 542 543 <!-- iterates over all types --> 544 <div class="apiItem"> 545 <a></a> 546 <h4>type name</h4> 547 548 <div> 549 </div> 550 551 </div> <!-- /apiItem --> 552 553 </div> <!-- /apiGroup --> 554 555 </div> <!-- /apiPage --> 556 </div> <!-- /gc-pagecontent --> 557 </div> <!-- /g-section --> 558 </div> <!-- /codesiteContent --> 559 <div id="gc-footer" --=""> 560 <div class="text"> 561 <p> 562 Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>, 563 the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons 564 Attribution 3.0 License</a>, and code samples are licensed under the 565 <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>. 566 </p> 567 <p> 568 2011 Google 569 </p> 570 571 <!-- begin analytics --> 572 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> 573 <script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script> 574 575 <script type="text/javascript"> 576 // chrome doc tracking 577 try { 578 var engdocs = _gat._getTracker("YT-10763712-2"); 579 engdocs._trackPageview(); 580 } catch(err) {} 581 582 // code.google.com site-wide tracking 583 try { 584 _uacct="UA-18071-1"; 585 _uanchor=1; 586 _uff=0; 587 urchinTracker(); 588 } 589 catch(e) {/* urchinTracker not available. */} 590 </script> 591 <!-- end analytics --> 592 </div> 593 </div> <!-- /gc-footer --> 594 </div> <!-- /gc-container --> 595 </body></html> 596