<!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"> <link href="css/print.css" rel="stylesheet" type="text/css" media="print"> <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>Tabs - Google Chrome Extensions - Google Code</title></head><body> <div id="gc-container" class="labs"> <div id="devModeWarning"> 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. </div> <!-- 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 id="top"></a> <div id="skipto"> <a href="#gc-pagecontent">Skip to page content</a> <a href="#gc-toc">Skip to main navigation</a> </div> <!-- API HEADER --> <table id="header" width="100%" cellspacing="0" border="0"> <tbody><tr> <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> <td valign="middle" width="100%" style="padding-left:0.6em;"> <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em"> <div id="gsc-search-box"> <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno"> <input type="hidden" name="ie" value="UTF-8"> <input type="text" name="q" value="" size="55"> <input class="gsc-search-button" type="submit" name="sa" value="Search"> <br> <span class="greytext">e.g. "page action" or "tabs"</span> </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&t13n_langs=en"></script> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&lang=en"></script> </td> </tr> </tbody></table> <div id="codesiteContent" class=""> <a id="gc-topnav-anchor"></a> <div id="gc-topnav"> <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1> <ul id="home" class="gc-topnav-tabs"> <li id="home_link"> <a href="index.html" title="Google Chrome Extensions home page">Home</a> </li> <li id="docs_link"> <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a> </li> <li id="faq_link"> <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a> </li> <li id="samples_link"> <a href="samples.html" title="Sample extensions (with source code)">Samples</a> </li> <li id="group_link"> <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a> </li> </ul> </div> <!-- end gc-topnav --> <div class="g-section g-tpl-170"> <!-- SIDENAV --> <div class="g-unit g-first" id="gc-toc"> <ul> <li><a href="getstarted.html">Getting Started</a></li> <li><a href="overview.html">Overview</a></li> <li><h2><a href="devguide.html">Developer's Guide</a></h2> <ul> <li>Browser UI <ul> <li><a href="browserAction.html">Browser Actions</a></li> <li><a href="options.html">Options Pages</a></li> <li><a href="override.html">Override Pages</a></li> <li><a href="pageAction.html">Page Actions</a></li> <li><a href="themes.html">Themes</a></li> </ul> </li> <li>Browser Interaction <ul> <li><a href="bookmarks.html">Bookmarks</a></li> <li><a href="events.html">Events</a></li> <li><a href="history.html">History</a></li> <li class="leftNavSelected">Tabs</li> <li><a href="windows.html">Windows</a></li> </ul> </li> <li>Implementation <ul> <li><a href="background_pages.html">Background Pages</a></li> <li><a href="content_scripts.html">Content Scripts</a></li> <li><a href="xhr.html">Cross-Origin XHR</a></li> <li><a href="i18n.html">Internationalization</a></li> <li><a href="messaging.html">Message Passing</a></li> <li><a href="npapi.html">NPAPI Plugins</a></li> </ul> </li> <li>Finishing <ul> <li><a href="autoupdate.html">Autoupdating</a></li> <li><a href="packaging.html">Packaging</a></li> <li><a href="external_extensions.html">External Extensions</a></li> </ul> </li> </ul> </li> <li><h2><a href="tutorials.html">Tutorials</a></h2> <ul> <li><a href="tut_debugging.html">Debugging</a></li> <li><a href="tut_analytics.html">Google Analytics</a></li> <li><a href="tut_oauth.html">OAuth</a></li> </ul> </li> <li><h2>Reference</h2> <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><h2><a href="samples.html">Samples</a></h2></li> </ul> </div> <div class="g-unit" id="gc-pagecontent"> <div id="pageTitle"> <h1 class="page_title">Tabs</h1> </div> <!-- TABLE OF CONTENTS --> <div id="toc"> <h2>Contents</h2> <ol> <li> <a href="#manifest">Manifest</a> <ol> <li style="display: none; "> <a>h3Name</a> </li> </ol> </li><li> <a href="#examples"> Examples </a> <ol> <li style="display: none; "> <a>h3Name</a> </li> </ol> </li> <li> <a href="#apiReference">API reference: chrome.tabs</a> <ol> <li style="display: none; "> <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-captureVisibleTab">captureVisibleTab</a> </li><li> <a href="#method-connect">connect</a> </li><li> <a href="#method-create">create</a> </li><li> <a href="#method-detectLanguage">detectLanguage</a> </li><li> <a href="#method-executeScript">executeScript</a> </li><li> <a href="#method-get">get</a> </li><li> <a href="#method-getAllInWindow">getAllInWindow</a> </li><li> <a href="#method-getSelected">getSelected</a> </li><li> <a href="#method-insertCSS">insertCSS</a> </li><li> <a href="#method-move">move</a> </li><li> <a href="#method-remove">remove</a> </li><li> <a href="#method-sendRequest">sendRequest</a> </li><li> <a href="#method-update">update</a> </li> </ol> </li> <li> <a href="#events">Events</a> <ol> <li> <a href="#event-onAttached">onAttached</a> </li><li> <a href="#event-onCreated">onCreated</a> </li><li> <a href="#event-onDetached">onDetached</a> </li><li> <a href="#event-onMoved">onMoved</a> </li><li> <a href="#event-onRemoved">onRemoved</a> </li><li> <a href="#event-onSelectionChanged">onSelectionChanged</a> </li><li> <a href="#event-onUpdated">onUpdated</a> </li> </ol> </li> <li> <a href="#types">Types</a> <ol> <li> <a href="#type-Tab">Tab</a> </li> </ol> </li> </ol> </li> </ol> </div> <!-- /TABLE OF CONTENTS --> <!-- STATIC CONTENT PLACEHOLDER --> <div id="static"><div id="pageData-name" class="pageData">Tabs</div> <!-- BEGIN AUTHORED CONTENT --> <p id="classSummary"> Use the <code>chrome.tabs</code> module to interact with the browser's tab system. You can use this module to create, modify, and rearrange tabs in the browser. </p> <img src="images/tabs.png" width="323" height="50" alt="Two tabs in a window"> <h2 id="manifest">Manifest</h2> <p>You must declare the "tabs" permission in your extension's manifest to use the tabs API. For example: </p> <pre>{ "name": "My extension", ... <b>"permissions": [ "tabs" ]</b>, ... }</pre> <h2 id="examples"> Examples </h2> <p> You can find simple examples of using the tabs module in the <a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/tabs/">examples/api/tabs</a> directory. For other examples and for help in viewing the source code, see <a href="samples.html">Samples</a>. </p> <!-- END AUTHORED CONTENT --> </div> <!-- API PAGE --> <div class="apiPage"> <a name="apiReference"></a> <h2>API reference: chrome.tabs</h2> <!-- PROPERTIES --> <div class="apiGroup" style="display: none; "> <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 name="method-captureVisibleTab"></a> <!-- method-anchor --> <h4>captureVisibleTab</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.captureVisibleTab</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>windowId</span></var></span><span class="null"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Captures the visible area of the currently selected tab in the specified window.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <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" style="display: none; "> Undocumented. </dd> <dd>The target window. Defaults to the <a href="windows.html#current-window">current window</a>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> The callback <em>parameter</em> should specify a function that looks like this: </p> <p style="display: none; "> 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>string dataUrl</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>dataUrl</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 data URL of a JPEG encoding of the visible area of the captured tab. May be assigned to the 'src' property of an HTML Image element for display.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-connect"></a> <!-- method-anchor --> <h4>connect</h4> <div class="summary"><span>Port</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.connect</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span 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>Connects to the content script(s) in the specified tab. The <a href="extension.html#event-onConnect">chrome.extension.onConnect</a> event is fired in each content script running in the specified tab for the current extension. For more details, see <a href="content_scripts.html#messaging">Content Script Messaging</a>.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <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> <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 content scripts 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>A port that can be used to communicate with the content scripts running in the specified tab.</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> The callback <em>parameter</em> should specify a function that looks like this: </p> <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"> <a name="method-create"></a> <!-- method-anchor --> <h4>create</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.create</span>(<span class="null"><span style="display: none; ">, </span><span>object</span> <var><span>createProperties</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Creates a new tab.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>createProperties</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> <dl> <div> <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" style="display: none; "> Undocumented. </dd> <dd>The window to create the new tab in. Defaults to the <a href="windows.html#current-window">current window</a>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>index</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" style="display: none; "> Undocumented. </dd> <dd>The position the tab should take in the window. The provided value will be clamped to between zero and the number of tabs in the window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>url</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 URL to navigate the tab to initially. Fully-qualified URLs must include a scheme (i.e. 'http://www.google.com', not 'www.google.com'). Relative URLs will be relative to the current page within the extension. Defaults to the New Tab Page.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>selected</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>boolean</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>Whether the tab should become the selected tab in the window. Defaults to <var>true</var></dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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>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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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>Tab tab</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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>Details about the created tab. Will contain the ID of the new tab.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-detectLanguage"></a> <!-- method-anchor --> <h4>detectLanguage</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.detectLanguage</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Detects the primary language of the content in a tab.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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" style="display: none; "> Undocumented. </dd> <dd>Defaults to the selected tab of the <a href="windows.html#current-window">current window</a>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> The callback <em>parameter</em> should specify a function that looks like this: </p> <p style="display: none; "> 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>string language</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>language</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>An ISO language code such as <code>en</code> or <code>fr</code>. For a complete list of languages supported by this method, see <a href="http://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/languages/internal/languages.cc">kLanguageInfoTable</a>. The 2nd to 4th columns will be checked and the first non-NULL value will be returned except for Simplified Chinese for which zh-CN will be returned. For an unknown language, <code>und</code> will be returned.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-executeScript"></a> <!-- method-anchor --> <h4>executeScript</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.executeScript</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>object</span> <var><span>details</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Injects JavaScript code into a page. For details, see the <a href="content_scripts.html#pi">programmatic injection</a> section of the content scripts doc.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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" style="display: none; "> Undocumented. </dd> <dd>The ID of the tab in which to run the script; defaults to the selected tab of the current window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>details</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>Details of the script to run. Either the code or the file property must be set, but both may not be set at the same time.</dd> <!-- OBJECT PROPERTIES --> <dd> <dl> <div> <div> <dt> <var>code</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>JavaScript code to execute.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>file</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>JavaScript file to execute.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>allFrames</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>boolean</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>If allFrames is true, this function injects script into all frames of current page. By default, it's false and script is injected only into the top main frame.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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>function</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>Called after all the JavaScript has been executed.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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></span>) <span class="subdued">{...}</span>);</pre> <dl> <div style="display: none; "> <div> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-get"></a> <!-- method-anchor --> <h4>get</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.get</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Retrieves details about the specified tab.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>callback</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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> The callback <em>parameter</em> should specify a function that looks like this: </p> <p style="display: none; "> 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>Tab tab</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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"> 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> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-getAllInWindow"></a> <!-- method-anchor --> <h4>getAllInWindow</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.getAllInWindow</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>windowId</span></var></span><span class="null"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Gets details about all tabs in the specified window.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <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" style="display: none; "> Undocumented. </dd> <dd>Defaults to the <a href="windows.html#current-window">current window</a>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> The callback <em>parameter</em> should specify a function that looks like this: </p> <p style="display: none; "> 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>array of Tab tabs</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tabs</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> <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></span> </span> <span style="display: none; ">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> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-getSelected"></a> <!-- method-anchor --> <h4>getSelected</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.getSelected</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>windowId</span></var></span><span class="null"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Gets the tab that is selected in the specified window.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <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" style="display: none; "> Undocumented. </dd> <dd>Defaults to the <a href="windows.html#current-window">current window</a>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p> The callback <em>parameter</em> should specify a function that looks like this: </p> <p style="display: none; "> 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>Tab tab</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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"> 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> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-insertCSS"></a> <!-- method-anchor --> <h4>insertCSS</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.insertCSS</span>(<span class="optional"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>object</span> <var><span>details</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Injects CSS into a page. For details, see the <a href="content_scripts.html#pi">programmatic injection</a> section of the content scripts doc.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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" style="display: none; "> Undocumented. </dd> <dd>The ID of the tab in which to insert the CSS; defaults to the selected tab of the current window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>details</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>Details of the CSS text to insert. Either the code or the file property must be set, but both may not be set at the same time.</dd> <!-- OBJECT PROPERTIES --> <dd> <dl> <div> <div> <dt> <var>code</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>CSS code to be injected.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>file</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>CSS file to be injected.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>allFrames</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>boolean</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>If allFrames is true, this function injects CSS text into all frames of current page. By default, it's false and CSS is injected only into the top main frame.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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>function</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>Called when all the CSS has been inserted.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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></span>) <span class="subdued">{...}</span>);</pre> <dl> <div style="display: none; "> <div> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-move"></a> <!-- method-anchor --> <h4>move</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.move</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>object</span> <var><span>moveProperties</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Moves a tab to a new position within its window, or to a new window.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>moveProperties</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> <dl> <div> <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" style="display: none; "> Undocumented. </dd> <dd>Defaults to the window the tab is currently in.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>index</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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The position to move the window to. The provided value will be clamped to between zero and the number of tabs in the window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>callback</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>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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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>Tab tab</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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>Details about the moved tab.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-remove"></a> <!-- method-anchor --> <h4>remove</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.remove</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Closes a tab.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>callback</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>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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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></span>) <span class="subdued">{...}</span>);</pre> <dl> <div style="display: none; "> <div> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-sendRequest"></a> <!-- method-anchor --> <h4>sendRequest</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.sendRequest</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>any</span> <var><span>request</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>responseCallback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Sends a single request to the content script(s) in the specified tab, with an optional callback to run when a response is sent back. The <a href="extension.html#event-onRequest">chrome.extension.onRequest</a> event is fired in each content script running in the specified tab for the current extension.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>request</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>any</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> <div> <dt> <var>responseCallback</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>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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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>any response</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>response</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>any</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The JSON response object sent by the handler of the request.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div><div class="apiItem"> <a name="method-update"></a> <!-- method-anchor --> <h4>update</h4> <div class="summary"><span style="display: none; ">void</span> <!-- Note: intentionally longer 80 columns --> <span>chrome.tabs.update</span>(<span class="null"><span style="display: none; ">, </span><span>integer</span> <var><span>tabId</span></var></span><span class="null"><span>, </span><span>object</span> <var><span>updateProperties</span></var></span><span class="optional"><span>, </span><span>function</span> <var><span>callback</span></var></span>)</div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Modifies the properties of a tab. Properties that are not specified in <var>updateProperties</var> are not modified.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>updateProperties</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> <dl> <div> <div> <dt> <var>url</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"> 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> <div> <dt> <var>selected</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>boolean</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> </dd> </div> </div><div> <div> <dt> <var>callback</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>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> </dl> <!-- RETURNS --> <h4 style="display: none; ">Returns</h4> <dl> <div style="display: none; "> <div> </div> </div> </dl> <!-- CALLBACK --> <div> <div> <h4>Callback function</h4> <p style="display: none; "> The callback <em>parameter</em> should specify a function that looks like this: </p> <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>Tab tab</span>) <span class="subdued">{...}</span>);</pre> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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>Details about the updated tab.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </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 name="event-onAttached"></a> <h4>onAttached</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onAttached</span><span class="subdued">.addListener</span>(function(<span>integer tabId, object attachInfo</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fired when a tab is attached to a window, for example because it was moved between windows.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>attachInfo</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> <dl> <div> <div> <dt> <var>newWindowId</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>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><div> <div> <dt> <var>newPosition</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>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> </dd> </div> </div> </dl> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onCreated"></a> <h4>onCreated</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onCreated</span><span class="subdued">.addListener</span>(function(<span>Tab tab</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fires when a tab is created.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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>Details of the tab that was created.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onDetached"></a> <h4>onDetached</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onDetached</span><span class="subdued">.addListener</span>(function(<span>integer tabId, object detachInfo</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fired when a tab is detached from a window, for example because it is being moved between windows.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>detachInfo</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> <dl> <div> <div> <dt> <var>oldWindowId</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>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><div> <div> <dt> <var>oldPosition</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>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> </dd> </div> </div> </dl> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onMoved"></a> <h4>onMoved</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onMoved</span><span class="subdued">.addListener</span>(function(<span>integer tabId, object moveInfo</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fires when a tab is moved within a window. Only one move event is fired, representing the tab the user directly moved. Move events are not fired for the other tabs that must move in response. This event is not fired when a tab is moved between windows. For that, see <a href="#event-onDetached">onDetached</a>.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>moveInfo</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> <dl> <div> <div> <dt> <var>windowId</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>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><div> <div> <dt> <var>fromIndex</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>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><div> <div> <dt> <var>toIndex</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>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> </dd> </div> </div> </dl> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onRemoved"></a> <h4>onRemoved</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onRemoved</span><span class="subdued">.addListener</span>(function(<span>integer tabId</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fires when a tab is closed.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onSelectionChanged"></a> <h4>onSelectionChanged</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onSelectionChanged</span><span class="subdued">.addListener</span>(function(<span>integer tabId, object selectInfo</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fires when the selected tab in a window changes.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The ID of the tab that has become selected.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>selectInfo</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> <dl> <div> <div> <dt> <var>windowId</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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The ID of the window the selected tab changed inside of.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div> </dl> </div> <!-- /decription --> </div><div class="apiItem"> <a name="event-onUpdated"></a> <h4>onUpdated</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> <span class="subdued">chrome.tabs.</span><span>onUpdated</span><span class="subdued">.addListener</span>(function(<span>integer tabId, object changeInfo, Tab tab</span>) <span class="subdued">{...}</span>); </div> <div class="description"> <p class="todo" style="display: none; ">Undocumented.</p> <p>Fires when a tab is updated.</p> <!-- PARAMETERS --> <h4>Parameters</h4> <dl> <div> <div> <dt> <var>tabId</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>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><div> <div> <dt> <var>changeInfo</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>Lists the changes to the state of the tab that was updated.</dd> <!-- OBJECT PROPERTIES --> <dd> <dl> <div> <div> <dt> <var>status</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 status of the tab. Can be either <em>loading</em> or <em>complete</em>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>url</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>Only specified if the tab's URL changed.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>tab</var> <em> <!-- TYPE --> <div style="display:inline"> ( <span class="optional" style="display: none; ">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>Gives the state of the tab that was updated.</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"> <a name="type-Tab"></a> <h4>Tab</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"> Undocumented. </dd> <dd style="display: none; "> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd> <dl> <div> <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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The ID of the tab. Tab IDs are unique within a browser session.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>index</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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The zero-based index of the tab within its window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>windowId</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>integer</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>The ID of the window the tab is contained within.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>selected</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>boolean</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>Whether the tab is selected.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>url</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 URL the tab is displaying.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>title</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 title of the tab. This may not be available if the tab is loading.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>favIconUrl</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 URL of the tab's favicon. This may not be available if the tab is loading.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>status</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>Either <em>loading</em> or <em>complete</em>.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div><div> <div> <dt> <var>incognito</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>boolean</span> </span> </span> ) </div> </em> </dt> <dd class="todo" style="display: none; "> Undocumented. </dd> <dd>Whether the tab is in an incognito window.</dd> <!-- OBJECT PROPERTIES --> <dd style="display: none; "> <dl> <div> <div> </div> </div> </dl> </dd> </div> </div> </dl> </dd> </div> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> </div> <!-- /apiPage --> </div> <!-- /gc-pagecontent --> </div> <!-- /g-section --> </div> <!-- /codesiteContent --> <div id="gc-footer" --=""> <div class="text"> <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> </div> <!-- /gc-footer --> </div> <!-- /gc-container --> </body></html>