<!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note: 1) The <head> information in this page is significant, should be uniform across api docs and should be edited only with knowledge of the templating mechanism. 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a browser, it will be re-generated from the template, json schema and authored overview content. 4) The <body>.innerHTML is also generated by an offline step so that this page may easily be indexed by search engines. --><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js"> </script> <script type="text/javascript" src="js/api_page_generator.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <title>Other APIs</title></head><body> <div id="container"> <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> <!-- In particular, sub-templates that recurse, must be used by allowing jstemplate to make a copy of the template in this section which are not operated on by way of the jsskip="true" --> <div style="display:none"> <!-- VALUE --> <div id="valueTemplate"> <dt> <var>paramName</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional">optional</span> <span id="typeTemplate"> <span> <a> Type</a> </span> <span> <span> array of <span><span></span></span> </span> <span>paramType</span> </span> </span> ) </div> </em> </dt> <dd class="todo"> Undocumented. </dd> <dd> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd> <dl> <div> <div> </div> </div> </dl> </dd> </div> <!-- /VALUE --> </div> <!-- /SUBTEMPLATES --> <a name="top"> </a> <!-- API HEADER --> <div id="pageHeader"> <div id="searchbox"> <form action="http://www.google.com/cse" id="cse-search-box"> <div> <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno"> <input type="hidden" name="ie" value="UTF-8"> <input type="text" name="q" size="31"> <input type="submit" name="sa" value="Search"> </div> </form> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script> <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse-search-box&t13n_langs=en"></script> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script> </div> <div id="pageTitle"> <h1>Other APIs</h1> </div> </div> <!-- /pageHeader --> <div id="pageContent"> <!-- SIDENAV --> <div id="leftNav"> <ul> <li> <a href="index.html">Home</a></li> <li> <a href="getstarted.html">Getting Started</a></li> <li> <a href="overview.html">Overview</a></li> <li> <a href="devguide.html"><div>Developer's Guide</div></a> <ul> <li><a href="toolstrip.html">Toolstrips</a></li> <li><a href="browserAction.html">Browser Actions</a></li> <li><a href="pageAction.html">Page Actions</a></li> <li><a href="background_pages.html">Background Pages</a></li> <li><a href="content_scripts.html">Content Scripts</a></li> <li><a href="events.html">Events</a></li> <li><a href="tabs.html">Tabs</a></li> <li><a href="windows.html">Windows</a></li> <li><a href="bookmarks.html">Bookmarks</a></li> <li><a href="themes.html">Themes</a></li> <li><a href="npapi.html">NPAPI Plugins</a></li> <li><a href="xhr.html">Cross-Origin XHR</a></li> <li><a href="packaging.html">Packaging</a></li> <li><a href="autoupdate.html">Autoupdate</a></li> </ul> </li> <li><a href="tutorials.html"><div>Tutorials</div></a> <ul> <li><a href="tut_debugging.html">Debugging</a></li> </ul> </li> <li>Reference <ul> <li> Formats <ul> <li><a href="manifest.html">Manifest Files</a></li> <li><a href="match_patterns.html">Match Patterns</a></li> <!-- <li>Packages (.crx)</li> --> </ul> </li> <li> <a href="api_index.html">chrome.* APIs</a> </li> <li class="leftNavSelected">Other APIs </li> </ul> </li> <li><a href="http://dev.chromium.org/developers/design-documents/extensions/samples">Samples</a></li> </ul> </div> <div id="mainColumn"> <!-- TABLE OF CONTENTS --> <div id="toc" style="display: none; "> <p>Contents</p> <ol> <li> <a>h2Name</a> <ol> <li> <a>h3Name</a> </li> </ol> </li> <div> <li> <a href="#apiReference">API reference</a> <ol> <li> <a href="#properties">Properties</a> <ol> <li> <a href="#property-anchor">propertyName</a> </li> </ol> </li> <li> <a href="#methods">Methods</a> <ol> <li> <a href="#method-anchor">methodName</a> </li> </ol> </li> <li> <a href="#events">Events</a> <ol> <li> <a href="#event-anchor">eventName</a> </li> </ol> </li> <li> <a href="#types">Types</a> <ol> <li> <a href="#id-anchor">id</a> </li> </ol> </li> </ol> </li> </div> </ol> </div> <!-- /TABLE OF CONTENTS --> <!-- STATIC CONTENT PLACEHOLDER --> <div id="static"><div id="pageData-title" class="pageData">Other APIs</div> <p> In addition to the <a href="api_index.html">chrome.* APIs</a>, extensions can use all the APIs that the browser provides to web pages and apps. If the browser doesn't support an API you want to use, you can bundle additional API libraries into your extension. </p> <p>Here's a sampling of the APIs that extensions can use:</p> <dl> <dt><strong> Standard JavaScript APIs </strong></dt> <dd> These are the same core JavaScript and DOM APIs that you can use in ordinary web apps. <span class="comment">[PENDING: check! should link to complete list]</span> <!-- Use onclick in your toolbar div to add click behavior. E.g. window.open(someUrl). --></dd> <dt><strong> XMLHttpRequest </strong></dt> <dd> Use <a href="xhr.html">XMLHttpRequest</a> to request data from one or more servers. The <a href="manifest.html#permissions">permissions</a> field of the manifest specifies which hosts the extension can send requests to. </dd> <dt><strong> WebKit APIs </strong></dt> <dd> Because Google Chrome is built upon WebKit, your extensions can use WebKit APIs. Especially useful are the experimental CSS features such as filters, animations, and transformations. Here's an example of using WebKit styles to make the UI spin: <pre><style> div:hover { -webkit-transform: rotate(360deg); -webkit-transition: all sl ease-out; } </style> </pre> <p class="comment">[PENDING: link to complete list of webkit apis]</p> </dd> <dt><strong> V8 APIs</strong>, such as<strong> JSON </strong></dt> <dd> Because JSON is in V8, you don't need to include a JSON library to use JSON functions. <span class="comment">[PENDING: what other APIs are in v8? link to complete list]</span></dd> <dt> <strong>HTML5</strong> <strong>APIs</strong>, such as <strong>localStorage</strong></dt> <dd> HTML5 is still being defined and implemented, but Google Chrome already supports local storage, which extensions can use to store data. <!-- localStorage.setItem("foo", "bar"); ... localStorage.getItem("foo"); --> <span class="comment">[PENDING: Other important API? link to complete list]</span></dd> <dt><strong>APIs in bundled libraries</strong></dt> <dd> If you want to use a library that the browser doesn't provide (for example, jQuery), you can bundle that library's JavaScript files with your extension. Bundled libraries work in extensions just as they would in any other web pages. </dd> </dl> </div> <!-- API PAGE --> <div class="apiPage" style="display: none; "> <a name="apiReference"></a> <h2>API reference: chrome.apiname </h2> <!-- PROPERTIES --> <div class="apiGroup"> <a name="properties"></a> <h3 id="properties">Properties</h3> <div> <a></a> <h4>getLastError</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span>chrome.extension</span><span>lastError</span> </div> <div> </div> </div> </div> <!-- /apiGroup --> <!-- METHODS --> <div class="apiGroup" id="methods"> <a name="methods"></a> <h3>Methods</h3> <!-- iterates over all functions --> <div class="apiItem"> <a></a> <!-- method-anchor --> <h4>method name</h4> <div class="summary"><span>void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.module.methodName</span>(<span><span>, </span><span></span> <var><span></span></var></span>)</div> <div class="description"> <p class="todo">Undocumented.</p> <p> A description from the json schema def of the function goes here. </p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> </div> </div> </dl> <!-- RETURNS --> <h4>Returns</h4> <dl> <div> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> If you specify the <em>callback</em> parameter, it should specify a function that looks like this: </p> <!-- Note: intentionally longer 80 columns --> <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> <!-- EVENTS --> <div class="apiGroup"> <a name="events"></a> <h3 id="events">Events</h3> <!-- iterates over all events --> <div class="apiItem"> <a></a> <h4>event name</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <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>); </div> <div class="description"> <p class="todo">Undocumented.</p> <p> A description from the json schema def of the event goes here. </p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> </div> </div> </dl> </div> <!-- /decription --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> <!-- TYPES --> <div class="apiGroup"> <a name="types.sort(sortByName)"></a> <h3 id="types">Types</h3> <!-- iterates over all types --> <div class="apiItem"> <a></a> <h4>type name</h4> <div> </div> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> </div> <!-- /apiPage --> </div> <!-- /mainColumn --> </div> <!-- /pageContent --> <div id="pageFooter" --=""> <p> Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>, the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>, and code samples are licensed under the <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>. </p> <p> ©2009 Google </p> <!-- begin analytics --> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript"> // chrome doc tracking try { var engdocs = _gat._getTracker("YT-10763712-2"); engdocs._trackPageview(); } catch(err) {} // code.google.com site-wide tracking try { _uacct="UA-18071-1"; _uanchor=1; _uff=0; urchinTracker(); } catch(e) {/* urchinTracker not available. */} </script> <!-- end analytics --> </div> <!-- /pageFooter --> </div> <!-- /container --> </body></html>