<!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&amp;t13n_langs=en"></script>
        <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;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>&lt;style&gt;
  div:hover {
    -webkit-transform: rotate(360deg);
    -webkit-transition: all sl ease-out;
  }
&lt;/style&gt;
</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(&quot;foo&quot;, &quot;bar&quot;); ... localStorage.getItem(&quot;foo&quot;); --> <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>