<!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>chrome.extension</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>chrome.extension</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> <a href="api_other.html">Other APIs</a> </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">
          <p>Contents</p>
          <ol>
            <li jsinstance="*0">
              <a href="#content scripts">Support for content scripts</a>
              <ol>
                <li jsinstance="*0" style="display: none; ">
                  <a>h3Name</a>
                </li>
              </ol>
            </li>
            <div>
              <li>
                <a href="#apiReference">API reference: chrome.extension</a>
                <ol>
                  <li>
                    <a href="#properties">Properties</a>
                    <ol>
                      <li jsinstance="*0">
                        <a href="#property-lastError">lastError</a>
                      </li>
                    </ol>
                  </li>
                  <li>
                    <a href="#methods">Methods</a>
                    <ol>
                      <li jsinstance="0">
                        <a href="#method-connect">connect</a>
                      </li><li jsinstance="1">
                        <a href="#method-getBackgroundPage">getBackgroundPage</a>
                      </li><li jsinstance="2">
                        <a href="#method-getTabContentses">getTabContentses</a>
                      </li><li jsinstance="3">
                        <a href="#method-getToolstrips">getToolstrips</a>
                      </li><li jsinstance="4">
                        <a href="#method-getURL">getURL</a>
                      </li><li jsinstance="*5">
                        <a href="#method-getViews">getViews</a>
                      </li>
                    </ol>
                  </li>
                  <li>
                    <a href="#events">Events</a>
                    <ol>
                      <li jsinstance="0">
                        <a href="#event-onConnect">onConnect</a>
                      </li><li jsinstance="*1">
                        <a href="#event-onConnectExternal">onConnectExternal</a>
                      </li>
                    </ol>
                  </li>
                  <li>
                    <a href="#types">Types</a>
                    <ol>
                      <li jsinstance="*0">
                        <a href="#type-Port">Port</a>
                      </li>
                    </ol>
                  </li>
                </ol>
              </li>
            </div>
          </ol>
        </div>
        <!-- /TABLE OF CONTENTS -->

        <!-- STATIC CONTENT PLACEHOLDER -->
        <div id="static"><!-- BEGIN AUTHORED CONTENT -->
<p id="classSummary">
The <code>chrome.extension</code> module
has utilities that can be used by any extension page.
</p>

<h2 id="content scripts">Support for content scripts</h2>
<p>
Unlike the other chrome.* APIs,
parts of <code>chrome.extension</code>
can be used by content scripts:
</p>

<dl>
  <dt>
    <a href="#method-connect"><code>connect()</code></a> and
    <a href="#event-onConnect"><code>onConnect</code></a>
  </dt>
  <dd>
    Communication with extension pages
  </dd>
  <dt>
    <a href="#method-getURL"><code>getURL()</code></a>
  </dt>
  <dd>
    Access to extension resources such as image files
  </dd>
</dl>

<p>
For details, see
<a href="content_scripts.html">Content Scripts</a>.
</p>

<!-- END AUTHORED CONTENT -->
</div>

        <!-- API PAGE -->
        <div class="apiPage">
        <a name="apiReference"></a>
        <h2>API reference: chrome.extension</h2>

          <!-- PROPERTIES -->
          <div class="apiGroup">
            <a name="properties"></a>
            <h3 id="properties">Properties</h3>

            <div jsinstance="*0">
              <a name="property-lastError"></a>
              <h4>lastError</h4>
              <div class="summary">
                <!-- Note: intentionally longer 80 columns -->
                <span>chrome.extension.</span><span>lastError</span>
              </div>
              <div>
          <dt>
            <var>lastError</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Set for the lifetime of a callback if an ansychronous extension api has resulted in an error. If no error has occured lastError will be <var>undefined</var>.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd>
            <dl>
              <div jsinstance="*0">
                <div>
          <dt>
            <var>message</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Description of the error that has taken place.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div>
            </dl>
          </dd>
        </div>
            </div>

          </div> <!-- /apiGroup -->

          <!-- METHODS -->
          <div class="apiGroup" id="methods">
            <a name="methods"></a>
            <h3>Methods</h3>

            <!-- iterates over all functions -->
            <div class="apiItem" jsinstance="0">
              <a name="method-connect"></a> <!-- method-anchor -->
              <h4>connect</h4>

              <div class="summary"><span>Port</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.connect</span>(<span jsinstance="0" class="optional"><span style="display: none; ">, </span><span>string</span>
                      <var><span>extensionId</span></var></span><span jsinstance="*1" class="optional"><span>, </span><span>object</span>
                      <var><span>connectInfo</span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Attempts to connect to other listeners within the extension (listeners may be toolstrips or the extension's background page). This is primarily useful for content scripts connecting to their extension processes. Extensions may connect to content scripts embedded in tabs via <a href="broken"><var>chrome.tabs.connectToTab</var></a>.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="0">
                    <div>
          <dt>
            <var>extensionId</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>The extension ID of the extension you want to connect to. If omitted, default is your own extension.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div><div jsinstance="*1">
                    <div>
          <dt>
            <var>connectInfo</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd>
            <dl>
              <div jsinstance="*0">
                <div>
          <dt>
            <var>name</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Will be passed into onConnect for extension processes that are listening for the connection event.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span>
                        <a href="extension.html#type-Port">Port</a>
                      </span>
                      <span style="display: none; ">
                        <span>
                          array of <span><span></span></span>
                        </span>
                        <span>paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Port through which messages can be sent and received with the extension.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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><div class="apiItem" jsinstance="1">
              <a name="method-getBackgroundPage"></a> <!-- method-anchor -->
              <h4>getBackgroundPage</h4>

              <div class="summary"><span>object</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.getBackgroundPage</span>(<span jsinstance="*0" style="display: none; "><span>, </span><span></span>
                      <var><span></span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Returns the global JavaScript object for the background page running inside the current extension. Returns null if the extension has no backround page.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0" style="display: none; ">
                    <div>
                    </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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><div class="apiItem" jsinstance="2">
              <a name="method-getTabContentses"></a> <!-- method-anchor -->
              <h4>getTabContentses</h4>

              <div class="summary"><span>array of object</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.getTabContentses</span>(<span jsinstance="*0" class="optional"><span style="display: none; ">, </span><span>integer</span>
                      <var><span>windowId</span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Returns an array of the global JavaScript objects for each of the tab contents views running inside the current extension. If windowId is specified, returns only the tab contentses attached to the specified window.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0">
                    <div>
          <dt>
            <var>windowId</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>integer</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span>
                          array of <span><span>
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span></span>
                        </span>
                        <span style="display: none; ">paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Array of global objects</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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><div class="apiItem" jsinstance="3">
              <a name="method-getToolstrips"></a> <!-- method-anchor -->
              <h4>getToolstrips</h4>

              <div class="summary"><span>array of object</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.getToolstrips</span>(<span jsinstance="*0" class="optional"><span style="display: none; ">, </span><span>integer</span>
                      <var><span>windowId</span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Returns an array of the global JavaScript objects for each of the toolstrip views running inside the current extension. If windowId is specified, returns only the toolstrips attached to the specified window.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0">
                    <div>
          <dt>
            <var>windowId</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>integer</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span>
                          array of <span><span>
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span></span>
                        </span>
                        <span style="display: none; ">paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Array of global objects</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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><div class="apiItem" jsinstance="4">
              <a name="method-getURL"></a> <!-- method-anchor -->
              <h4>getURL</h4>

              <div class="summary"><span>string</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.getURL</span>(<span jsinstance="*0" class="null"><span style="display: none; ">, </span><span>string</span>
                      <var><span>path</span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Convert a relative path within an extension install directory to a fully-qualified URL.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0">
                    <div>
          <dt>
            <var>path</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>A path to a resource within an extension expressed relative to it's install directory.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>The fully-qualified URL to the resource.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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><div class="apiItem" jsinstance="*5">
              <a name="method-getViews"></a> <!-- method-anchor -->
              <h4>getViews</h4>

              <div class="summary"><span>array of object</span>
                  <!-- Note: intentionally longer 80 columns -->
                  <span>chrome.extension.getViews</span>(<span jsinstance="*0" style="display: none; "><span>, </span><span></span>
                      <var><span></span></var></span>)</div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Returns an array of the global JavaScript objects for each of the views running inside the current extension. This includes toolstrips, background pages, and tabs.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0" style="display: none; ">
                    <div>
                    </div>
                  </div>
                </dl>

                <!-- RETURNS -->
                <h4>Returns</h4>
                <dl>
                  <div>
                    <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span>
                          array of <span><span>
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span></span>
                        </span>
                        <span style="display: none; ">paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>Array of global objects</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

                <!-- CALLBACK -->
                <div style="display: none; ">
                  <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" jsinstance="0">
              <a name="event-onConnect"></a>
              <h4>onConnect</h4>

              <div class="summary">
                <!-- Note: intentionally longer 80 columns -->
                <span class="subdued">chrome.extension.</span><span>onConnect</span><span class="subdued">.addListener</span>(function(<span>Port port</span>) <span class="subdued">{...}</span>);
              </div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Fired when a connection is made from either an extension process or a content script.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0">
                    <div>
          <dt>
            <var>port</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span>
                        <a href="extension.html#type-Port">Port</a>
                      </span>
                      <span style="display: none; ">
                        <span>
                          array of <span><span></span></span>
                        </span>
                        <span>paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
                  </div>
                </dl>

              </div> <!-- /decription -->

            </div><div class="apiItem" jsinstance="*1">
              <a name="event-onConnectExternal"></a>
              <h4>onConnectExternal</h4>

              <div class="summary">
                <!-- Note: intentionally longer 80 columns -->
                <span class="subdued">chrome.extension.</span><span>onConnectExternal</span><span class="subdued">.addListener</span>(function(<span>Port port</span>) <span class="subdued">{...}</span>);
              </div>

              <div class="description">
                <p class="todo" style="display: none; ">Undocumented.</p>
                <p>Fired when a connection is made from another extension.</p>

                <!-- PARAMETERS -->
                <h4>Parameters</h4>
                <dl>
                  <div jsinstance="*0">
                    <div>
          <dt>
            <var>port</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span>
                        <a href="extension.html#type-Port">Port</a>
                      </span>
                      <span style="display: none; ">
                        <span>
                          array of <span><span></span></span>
                        </span>
                        <span>paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </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" jsinstance="*0">
              <a name="type-Port"></a>
              <h4>Port</h4>

              <div>
          <dt>
            <var style="display: none; ">paramName</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>An object which allows two way communication with other pages.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd>
            <dl>
              <div jsinstance="0">
                <div>
          <dt>
            <var>name</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div><div jsinstance="1">
                <div>
          <dt>
            <var>onDisconnect</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div><div jsinstance="2">
                <div>
          <dt>
            <var>onMessage</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div><div jsinstance="3">
                <div>
          <dt>
            <var>postMessage</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>function</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo">
            Undocumented.
          </dd>
          <dd style="display: none; ">
            Description of this parameter from the json schema.
          </dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div><div jsinstance="*4">
                <div>
          <dt>
            <var>sender</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>object</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>This property will <b>only</b> be present on ports passed to onConnect/onConnectExternal listeners.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd>
            <dl>
              <div jsinstance="0">
                <div>
          <dt>
            <var>tab</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional">optional</span>
                    <span id="typeTemplate">
                      <span>
                        <a href="tabs.html#type-Tab">Tab</a>
                      </span>
                      <span style="display: none; ">
                        <span>
                          array of <span><span></span></span>
                        </span>
                        <span>paramType</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>This property will <b>only</b> be present when the connection was opened from a tab or content script.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div><div jsinstance="*1">
                <div>
          <dt>
            <var>id</var>
              <em>

                <!-- TYPE -->
                <div style="display:inline">
                  (
                    <span class="optional" style="display: none; ">optional</span>
                    <span id="typeTemplate">
                      <span style="display: none; ">
                        <a> Type</a>
                      </span>
                      <span>
                        <span style="display: none; ">
                          array of <span><span></span></span>
                        </span>
                        <span>string</span>
                      </span>
                    </span>
                  )
                </div>

              </em>
          </dt>
          <dd class="todo" style="display: none; ">
            Undocumented.
          </dd>
          <dd>The extension ID of the extension that opened the connection.</dd>

          <!-- OBJECT PROPERTIES -->
          <dd style="display: none; ">
            <dl>
              <div>
                <div>
                </div>
              </div>
            </dl>
          </dd>
        </div>
              </div>
            </dl>
          </dd>
        </div>
              </div>
            </dl>
          </dd>
        </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>