Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: chrome/common/extensions/docs/background_pages.html

Issue 165323: Add chrome.extension to extension_api.json and docs (Closed)
Patch Set: precommit Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!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 mecha nism. 2) The <body> tag *must* retain id="body" 3) All <body>.innerHTML is gener eated 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>.innerHTM L is also generated by an offline step so that this page may easily be indexed b y search engines. TODO(rafaelw): Abstract this into a "pageshell" that becomes t he single version of page template shell and the "instance" pages (bookmarks.htm l, etc...) can be generated with a build step. --><!-- <html> must retain id="te mplate --><html xmlns="http://www.w3.org/1999/xhtml" jstcache="0"><!-- <head> da ta is significant and loads the needed libraries and styles --><head jstcache="0 "> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" jstcache=" 0"> <title jscontent="pageTitle" jstcache="1">Background_pages</title> <link hre f="css/ApiRefStyles.css" rel="stylesheet" type="text/css" jstcache="0"> <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled. js" jstcache="0"> </script> <script type="text/javascript" src="js/api_page_gene rator.js" jstcache="0"></script> <script type="text/javascript" src="js/bootstra p.js" jstcache="0"></script> </head><!-- <body> content is completely generated. Do not edit, as it will be and rewritten. --><body jstcache="0"> <div id="conta iner" jstcache="0"> <a name="top" jstcache="0"> </a> <!-- API HEADER --> <div id ="pageHeader" jstcache="0"> <!-- BREADCRUMB --> <!-- TODO: Fix these hrefs --> < div id="breadcrumbs" jstcache="0"> <a href="index.html" jstcache="0">Google Chro me Extensions</a> &gt; <a href="reference_index.html" jstcache="0">Reference</a> &gt; <a href="api_index.html" jstcache="0">chrome.* APIs</a> &gt; <span jsconte nt="h1Header" jstcache="2">Background_pages</span> </div> <div id="searchbox" js tcache="0"> <form action="http://www.google.com/cse" id="cse-search-box" jstcach e="0"> <div jstcache="0"> <input type="hidden" name="cx" value="0029676704039107 41006:61_cvzfqtno" jstcache="0"> <input type="hidden" name="ie" value="UTF-8" js tcache="0"> <input type="text" name="q" size="31" jstcache="0"> <input type="sub mit" name="sa" value="Search" jstcache="0"> </div> </form> <script type="text/ja vascript" src="http://www.google.com/jsapi" jstcache="0"></script> <script type= "text/javascript" jstcache="0">google.load("elements", "1", {packages: "translit eration"});</script> <script type="text/javascript" src="http://www.google.com/c oop/cse/t13n?form=cse-search-box&amp;t13n_langs=en" jstcache="0"></script> <scri pt type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-sea rch-box&amp;lang=en" jstcache="0"></script> </div> <div id="pageTitle" jstcache= "0"> <h1 jscontent="h1Header" jstcache="2">Background_pages</h1> </div> </div> < !-- /pageHeader --> <div id="pageContent" jstcache="0"> <!-- SIDENAV --> <div id ="leftNav" jstcache="0"> <ul jstcache="0"> <li jstcache="0"> <a href="index.html " jstcache="0">Home</a></li> <li jstcache="0"> <a href="getstarted.html" jstcach e="0">Get Started</a></li> <li jstcache="0"> <a href="overview.html" jstcache="0 ">Overview</a></li> <li jstcache="0">Reference <ul jstcache="0"> <li jstcache="0 "><a href="manifest.html" jstcache="0">Manifest</a> </li><li jstcache="0"><a hre f="toolstrip.html" jstcache="0">Toolstrips</a> </li><li jstcache="0"><a href="pa geActions.html" jstcache="0">Page actions</a> </li><li jstcache="0"><a href="bac kground_pages.html" jstcache="0">Background pages</a> </li><li jstcache="0"><a h ref="content_scripts.html" jstcache="0">Content scripts</a> </li><li jstcache="0 "><a href="tabs.html" jstcache="0">Tabs</a> </li><li jstcache="0"><a href="windo ws.html" jstcache="0">Windows</a> </li><li jstcache="0"><a href="self.html" jstc ache="0">Self</a> </li><li jstcache="0"><a href="npapi.html" jstcache="0">NPAPI Plugins</a> </li><li jstcache="0"><a href="packaging.html" jstcache="0">Packagin g</a> </li><li jstcache="0"><a href="autoupdate.html" jstcache="0">Autoupdate</a > </li></ul> </li><li jstcache="0">Samples <ul jstcache="0"> <li jstcache="0">[s ample 1] </li><li jstcache="0">[sample 2] </li></ul> </li></ul> </div> <div id=" mainColumn" jstcache="0"> <!-- TABLE OF CONTENTS --> <div id="toc" jsselect="api Definition" jstcache="3" style="display: none; "> <p jstcache="0">Contents</p> < ol jstcache="0"> <li jstcache="0"> <a href="#overview" jstcache="0">Description< /a> <ol jstcache="0"> <li jstcache="0"><a href="#overview-properties" jstcache=" 0">Properties</a></li> <li jstcache="0"><a href="#overview-examples" jstcache="0 ">Examples</a></li> </ol> </li> <li jstcache="0"> <a href="#methods" jstcache="0 ">Methods</a> <ol jstcache="0"> <li jsselect="functions" jstcache="4"> <a jscont ent="name" jsvalues=".href:'#method-' + name" href="#method-anchor" jstcache="17 ">methodName</a> </li> </ol> </li> <li jstcache="0"> <a href="#events" jstcache= "0">Events</a> <ol jstcache="0"> <li jsselect="events" jstcache="5"> <a jsconten t="name" jsvalues=".href:'#event-' + name" href="#event-anchor" jstcache="18">ev entName</a> </li> </ol> </li> <!-- TODO: What do we do about structs/types? --> <li jstcache="0"> <a href="#structs" jstcache="0">TODO: Structs</a> <ol jstcache ="0"> <li jstcache="0"><a href="#struct-BookmarkTreeNode" jstcache="0"></a></li> </ol> </li> </ol> [PENDING: links to all h2s and h3s should go here -- would it be possible to link to overview h3s, as well? if so, how should we create their anchor/id values?] </div> <!-- /TABLE OF CONTENTS --> <!-- STATIC CONTENT PLACE HOLDER --> <div id="static" jstcache="0"><!-- BEGIN AUTHORED CONTENT --> <p jstc ache="0">A common need for extensions is to have a single long-running script to manage some task or state. Toolstrips don't quite fit this need, because there can be multiple toolstrips active at any one time (one per browser window). Back ground pages to the rescue.</p> <p jstcache="0">The background page is similar t o a toolstrip, in that it is an HTML page that runs in the extension process. Th e difference is that the background page exists for the lifetime of your extensi on, and there is only one instance of it active at a time.</p> <h3 jstcache="0"> Status</h3> <p jstcache="0">Implemented.</p> <h3 jstcache="0">Details</h3> <p js tcache="0">Register your background page in the extension manifest, like this:</ p> <pre jstcache="0">{ "name": "My First Extension", "version": "1.0", "descript ion": "The first extension that I made.", "background_page": "background.html", "toolstrips": ["toolstrip.html"] }</pre> <p jstcache="0">Your toolstrip will lik ely contain only the necessary code to display the toolstrip UI, with all your e xtension logic contained in the background page. You can communicate between you r various pages using direct script calls, similar to how frames can communicate . The chrome.self.getViews() function returns a list of window objects for every active page belonging to your extension.</p> <h3 jstcache="0">Example</h3> <pre jstcache="0">background_page.html (snippet): function updateUI(checked) { var v iews = chrome.self.getViews(); for (var i in views) { if (views[i].enableCheckbo x) views[i].enableCheckbox(checked); } } toolstrip.html (snippet): function enab leCheckbox(checked) { var elm = document.getElementById('checkbox'); elm.checked = checked; }</pre> <!-- END AUTHORED CONTENT --> </div> <!-- API PAGE --> <div class="apiPage" jsselect="apiDefinition" jstcache="3" style="display: none; "> < !-- METHODS --> <div class="apiGroup" id="methods" jstcache="0"> <a name="#metho ds" jstcache="0"></a> <h2 jstcache="0">Methods</h2> <!-- iterates over all funct ions --> <div class="apiItem" jsselect="functions" jstcache="4"> <a jsvalues=".n ame:'method-' + name" jstcache="6"></a> <!-- method-anchor --> <h3 jscontent="na me" jstcache="7">method name</h3> <div class="summary" jstcache="0"><span jsdisp lay="returns" jscontent="returns.typeName" jstcache="9">void</span> <!-- Note: i ntentionally longer 80 columns --> <span jscontent="fullName" jstcache="10">chro me.module.methodName</span>(<span jsselect="parameters" jsvalues="class:optional ? 'optional' : ''" jstcache="11"><span jsdisplay="$index" jstcache="19">, </spa n><span jscontent="typeName" jstcache="20"></span> <var jstcache="0"><span jscon tent="name" jstcache="7"></span></var></span>)</div> <div class="description" js tcache="0"> <p class="todo" jsdisplay="!description" jstcache="12">Undocumented. </p> <p jsdisplay="description" jsvalues=".innerHTML:description" jstcache="13"> A description from the json schema def of the function goes here. </p> <!-- PAR AMETERS --> <h4 jstcache="0">Parameters</h4> <dl jstcache="0"> <div jsselect="pa rameters" jstcache="21"> <dt jstcache="0"> <!-- Note: intentionally longer 80 co lumns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (< span class="optional" jsdisplay="optional" jstcache="28">optional </span><span j scontent="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay= "$this.description" jsvalues=".innerHTML:$this.description" jstcache="24"> Descr iption of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_propertyList" jstcache="25"> <dl jstcache="0"> <div jsselect="_p ropertyList" jstcache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<span class="optional" jsdisplay="optional" jstcache="28">optional </span><spa n jscontent="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="tod o" jsdisplay="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdispl ay="$this.description" jsvalues=".innerHTML:$this.description" jstcache="24"> De scription of this parameter from the json schema. </dd> </div> </dl> </dd> </div > </dl> <!-- RETURNS --> <h4 jsdisplay="returns" jstcache="14">Returns</h4> <dl jstcache="0"> <div jsselect="returns" jstcache="22"> <dt jstcache="0"> <!-- Note : intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramNa me</var> <em jstcache="0">(<span jscontent="typeName" jstcache="20">paramType</s pan>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this .description" jstcache="24"> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_propertyList" jstcache="25"> < dl jstcache="0"> <div jsselect="_propertyList" jstcache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7 ">paramName</var><em jstcache="0"> (<span class="optional" jsdisplay="optional" jstcache="28">optional </span><span jscontent="typeName" jstcache="20">paramType </span>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23 "> Undocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$t his.description" jstcache="24"> Description of this parameter from the json sche ma. </dd> </div> </dl> </dd> </div> </dl> <!-- CALLBACK --> <div jsdisplay= "callbackParameters" jstcache="15"> <h4 jstcache="0">Callback function</h4> <p j stcache="0"> If you specify the <em jstcache="0">callback</em> parameter, it sho uld specify a function that looks like this: </p> <!-- Note: intentionally longe r 80 columns --> <pre jstcache="0">function(<span jscontent="callbackSignature" jstcache="26">Type param1, Type param2</span>) <span class="subdued" jstcache="0 ">{...}</span>);</pre> <dl jstcache="0"> <div jsselect="callbackParameters" jstc ache="27"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<span jscontent ="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdispla y="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$this.d escription" jsvalues=".innerHTML:$this.description" jstcache="24"> Description o f this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdi splay="_propertyList" jstcache="25"> <dl jstcache="0"> <div jsselect="_propertyL ist" jstcache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<span class="optional" jsdisplay="optional" jstcache="28">optional </span><span jscont ent="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdis play="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$thi s.description" jsvalues=".innerHTML:$this.description" jstcache="24"> Descriptio n of this parameter from the json schema. </dd> </div> </dl> </dd> </div> </dl> </div> </div> <!-- /description --> </div> <!-- /apiItem --> </div> <!-- /apiGro up --> <!-- EVENTS --> <div class="apiGroup" id="events" jstcache="0"> <a name=" #events" jstcache="0"></a> <h2 id="events" jstcache="0">Events</h2> <!-- iterate s over all events --> <div jsselect="events" class="apiItem" jstcache="5"> <a js values=".name:'event-' + name" jstcache="8"></a> <h3 jscontent="name" jstcache=" 7">event name</h3> <div class="summary" jstcache="0"> <!-- Note: intentionally l onger 80 columns --> <span class="subdued" jstcache="0">chrome.bookmarks.</span> <span jscontent="name" jstcache="7">onEvent</span><span class="subdued" jstcache ="0">.addListener</span>(function(<span jscontent="callSignature" jstcache="16"> Type param1, Type param2</span>) <span class="subdued" jstcache="0">{...}</span> ); </div> <div class="description" jstcache="0"> <p class="todo" jsdisplay="!des cription" jstcache="12">Undocumented.</p> <p jsdisplay="description" jsvalues=". innerHTML:description" jstcache="13"> A description from the json schema def of the event goes here. </p> <!-- PARAMETERS --> <h4 jstcache="0">Parameters</h4> < dl jstcache="0"> <div jsselect="parameters" jstcache="21"> <dt jstcache="0"> <!- - Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">p aramName</var><em jstcache="0"> (<span jscontent="typeName" jstcache="20">paramT ype</span>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache= "23">Undocumented.</dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$ this.description" jstcache="24"> Description of this parameter from the json sch ema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_propertyList" jstcache="25 "> <dl jstcache="0"> <div jsselect="_propertyList" jstcache="29"> <dt jstcache=" 0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcach e="7">paramName</var><em jstcache="0"> (<span class="optional" jsdisplay="option al" jstcache="28">optional </span><span jscontent="typeName" jstcache="20">param Type</span>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache ="23"> Undocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTM L:$this.description" jstcache="24"> Description of this parameter from the json schema. </dd> </div> </dl> </dd> </div> </dl> </div> <!-- /decription --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> </div> <!-- /apiPage --> </div> <!- - /mainColumn --> </div> <!-- /pageContent --> <div id="pageFooter" --="" jstcac he="0"> Copyright 2009 <br jstcache="0"> TBD: copyright/license should be automa tically included here </div> <!-- /pageFooter --> </div> <!-- /container --> </b ody></html> 1 <!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 mecha nism. 2) The <body> tag *must* retain id="body" 3) All <body>.innerHTML is gener eated 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>.innerHTM L is also generated by an offline step so that this page may easily be indexed b y search engines. TODO(rafaelw): Abstract this into a "pageshell" that becomes t he single version of page template shell and the "instance" pages (bookmarks.htm l, etc...) can be generated with a build step. --><!-- <html> must retain id="te mplate --><html xmlns="http://www.w3.org/1999/xhtml" jstcache="0"><!-- <head> da ta is significant and loads the needed libraries and styles --><head jstcache="0 "> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" jstcache=" 0"> <title jscontent="pageTitle" jstcache="1">Background_pages</title> <link hre f="css/ApiRefStyles.css" rel="stylesheet" type="text/css" jstcache="0"> <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled. js" jstcache="0"> </script> <script type="text/javascript" src="js/api_page_gene rator.js" jstcache="0"></script> <script type="text/javascript" src="js/bootstra p.js" jstcache="0"></script> </head><!-- <body> content is completely generated. Do not edit, as it will be and rewritten. --><body jstcache="0"> <div id="conta iner" jstcache="0"> <a name="top" jstcache="0"> </a> <!-- API HEADER --> <div id ="pageHeader" jstcache="0"> <!-- BREADCRUMB --> <!-- TODO: Fix these hrefs --> < div id="breadcrumbs" jstcache="0"> <a href="index.html" jstcache="0">Google Chro me Extensions</a> &gt; <a href="reference_index.html" jstcache="0">Reference</a> &gt; <a href="api_index.html" jstcache="0">chrome.* APIs</a> &gt; <span jsconte nt="h1Header" jstcache="2">Background_pages</span> </div> <div id="searchbox" js tcache="0"> <form action="http://www.google.com/cse" id="cse-search-box" jstcach e="0"> <div jstcache="0"> <input type="hidden" name="cx" value="0029676704039107 41006:61_cvzfqtno" jstcache="0"> <input type="hidden" name="ie" value="UTF-8" js tcache="0"> <input type="text" name="q" size="31" jstcache="0"> <input type="sub mit" name="sa" value="Search" jstcache="0"> </div> </form> <script type="text/ja vascript" src="http://www.google.com/jsapi" jstcache="0"></script> <script type= "text/javascript" jstcache="0">google.load("elements", "1", {packages: "translit eration"});</script> <script type="text/javascript" src="http://www.google.com/c oop/cse/t13n?form=cse-search-box&amp;t13n_langs=en" jstcache="0"></script> <scri pt type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-sea rch-box&amp;lang=en" jstcache="0"></script> </div> <div id="pageTitle" jstcache= "0"> <h1 jscontent="h1Header" jstcache="2">Background_pages</h1> </div> </div> < !-- /pageHeader --> <div id="pageContent" jstcache="0"> <!-- SIDENAV --> <div id ="leftNav" jstcache="0"> <ul jstcache="0"> <li jstcache="0"> <a href="index.html " jstcache="0">Home</a></li> <li jstcache="0"> <a href="getstarted.html" jstcach e="0">Get Started</a></li> <li jstcache="0"> <a href="overview.html" jstcache="0 ">Overview</a></li> <li jstcache="0">Reference <ul jstcache="0"> <li jstcache="0 "><a href="manifest.html" jstcache="0">Manifest</a> </li><li jstcache="0"><a hre f="toolstrip.html" jstcache="0">Toolstrips</a> </li><li jstcache="0"><a href="pa geActions.html" jstcache="0">Page actions</a> </li><li jstcache="0"><a href="bac kground_pages.html" jstcache="0">Background pages</a> </li><li jstcache="0"><a h ref="content_scripts.html" jstcache="0">Content scripts</a> </li><li jstcache="0 "><a href="extension.html" jstcache="0">Extension</a> </li><li jstcache="0"><a h ref="tabs.html" jstcache="0">Tabs</a> </li><li jstcache="0"><a href="windows.htm l" jstcache="0">Windows</a> </li><li jstcache="0"><a href="self.html" jstcache=" 0">Self</a> </li><li jstcache="0"><a href="npapi.html" jstcache="0">NPAPI Plugin s</a> </li><li jstcache="0"><a href="packaging.html" jstcache="0">Packaging</a> </li><li jstcache="0"><a href="autoupdate.html" jstcache="0">Autoupdate</a> </li ></ul> </li><li jstcache="0">Samples <ul jstcache="0"> <li jstcache="0">[sample 1] </li><li jstcache="0">[sample 2] </li></ul> </li></ul> </div> <div id="mainCo lumn" jstcache="0"> <!-- TABLE OF CONTENTS --> <div id="toc" jsselect="apiDefini tion" jstcache="3" style="display: none; "> <p jstcache="0">Contents</p> <ol jst cache="0"> <li jstcache="0"> <a href="#overview" jstcache="0">Description</a> <o l jstcache="0"> <li jstcache="0"><a href="#overview-properties" jstcache="0">Pro perties</a></li> <li jstcache="0"><a href="#overview-examples" jstcache="0">Exam ples</a></li> </ol> </li> <li jstcache="0"> <a href="#methods" jstcache="0">Meth ods</a> <ol jstcache="0"> <li jsselect="functions" jstcache="4"> <a jscontent="n ame" jsvalues=".href:'#method-' + name" href="#method-anchor" jstcache="17">meth odName</a> </li> </ol> </li> <li jstcache="0"> <a href="#events" jstcache="0">Ev ents</a> <ol jstcache="0"> <li jsselect="events" jstcache="5"> <a jscontent="nam e" jsvalues=".href:'#event-' + name" href="#event-anchor" jstcache="18">eventNam e</a> </li> </ol> </li> <!-- TODO: What do we do about structs/types? --> <li js tcache="0"> <a href="#structs" jstcache="0">TODO: Structs</a> <ol jstcache="0"> <li jstcache="0"><a href="#struct-BookmarkTreeNode" jstcache="0"></a></li> </ol> </li> </ol> [PENDING: links to all h2s and h3s should go here -- would it be po ssible to link to overview h3s, as well? if so, how should we create their ancho r/id values?] </div> <!-- /TABLE OF CONTENTS --> <!-- STATIC CONTENT PLACEHOLDER --> <div id="static" jstcache="0"><!-- BEGIN AUTHORED CONTENT --> <p jstcache=" 0">A common need for extensions is to have a single long-running script to manag e some task or state. Toolstrips don't quite fit this need, because there can be multiple toolstrips active at any one time (one per browser window). Background pages to the rescue.</p> <p jstcache="0">The background page is similar to a to olstrip, in that it is an HTML page that runs in the extension process. The diff erence is that the background page exists for the lifetime of your extension, an d there is only one instance of it active at a time.</p> <h3 jstcache="0">Status </h3> <p jstcache="0">Implemented.</p> <h3 jstcache="0">Details</h3> <p jstcache ="0">Register your background page in the extension manifest, like this:</p> <pr e jstcache="0">{ "name": "My First Extension", "version": "1.0", "description": "The first extension that I made.", "background_page": "background.html", "tools trips": ["toolstrip.html"] }</pre> <p jstcache="0">Your toolstrip will likely co ntain only the necessary code to display the toolstrip UI, with all your extensi on logic contained in the background page. You can communicate between your vari ous pages using direct script calls, similar to how frames can communicate. The chrome.self.getViews() function returns a list of window objects for every activ e page belonging to your extension.</p> <h3 jstcache="0">Example</h3> <pre jstca che="0">background_page.html (snippet): function updateUI(checked) { var views = chrome.self.getViews(); for (var i in views) { if (views[i].enableCheckbox) vie ws[i].enableCheckbox(checked); } } toolstrip.html (snippet): function enableChec kbox(checked) { var elm = document.getElementById('checkbox'); elm.checked = che cked; }</pre> <!-- END AUTHORED CONTENT --> </div> <!-- API PAGE --> <div class= "apiPage" jsselect="apiDefinition" jstcache="3" style="display: none; "> <!-- ME THODS --> <div class="apiGroup" id="methods" jstcache="0"> <a name="#methods" js tcache="0"></a> <h2 jstcache="0">Methods</h2> <!-- iterates over all functions - -> <div class="apiItem" jsselect="functions" jstcache="4"> <a jsvalues=".name:'m ethod-' + name" jstcache="6"></a> <!-- method-anchor --> <h3 jscontent="name" js tcache="7">method name</h3> <div class="summary" jstcache="0"><span jsdisplay="r eturns" jscontent="returns.typeName" jstcache="9">void</span> <!-- Note: intenti onally longer 80 columns --> <span jscontent="fullName" jstcache="10">chrome.mod ule.methodName</span>(<span jsselect="parameters" jsvalues="class:optional ? 'op tional' : ''" jstcache="11"><span jsdisplay="$index" jstcache="19">, </span><spa n jscontent="typeName" jstcache="20"></span> <var jstcache="0"><span jscontent=" name" jstcache="7"></span></var></span>)</div> <div class="description" jstcache ="0"> <p class="todo" jsdisplay="!description" jstcache="12">Undocumented.</p> < p jsdisplay="description" jsvalues=".innerHTML:description" jstcache="13"> A des cription from the json schema def of the function goes here. </p> <!-- PARAMETER S --> <h4 jstcache="0">Parameters</h4> <dl jstcache="0"> <div jsselect="paramete rs" jstcache="21"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<span c lass="optional" jsdisplay="optional" jstcache="28">optional </span><span jsconte nt="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdisp lay="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$this .description" jsvalues=".innerHTML:$this.description" jstcache="24"> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd js display="_propertyList" jstcache="25"> <dl jstcache="0"> <div jsselect="_propert yList" jstcache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 colum ns --> <var jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<spa n class="optional" jsdisplay="optional" jstcache="28">optional </span><span jsco ntent="typeName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsd isplay="!$this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$t his.description" jsvalues=".innerHTML:$this.description" jstcache="24"> Descript ion of this parameter from the json schema. </dd> </div> </dl> </dd> </div> </dl > <!-- RETURNS --> <h4 jsdisplay="returns" jstcache="14">Returns</h4> <dl jstcac he="0"> <div jsselect="returns" jstcache="22"> <dt jstcache="0"> <!-- Note: inte ntionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName</va r> <em jstcache="0">(<span jscontent="typeName" jstcache="20">paramType</span>)< /em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23"> Undocu mented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this.descr iption" jstcache="24"> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_propertyList" jstcache="25"> <dl jst cache="0"> <div jsselect="_propertyList" jstcache="29"> <dt jstcache="0"> <!-- N ote: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">para mName</var><em jstcache="0"> (<span class="optional" jsdisplay="optional" jstcac he="28">optional </span><span jscontent="typeName" jstcache="20">paramType</span >)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23"> Und ocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this.de scription" jstcache="24"> Description of this parameter from the json schema. </ dd> </div> </dl> </dd> </div> </dl> <!-- CALLBACK --> <div jsdisplay="callbac kParameters" jstcache="15"> <h4 jstcache="0">Callback function</h4> <p jstcache= "0"> If you specify the <em jstcache="0">callback</em> parameter, it should spec ify a function that looks like this: </p> <!-- Note: intentionally longer 80 col umns --> <pre jstcache="0">function(<span jscontent="callbackSignature" jstcache ="26">Type param1, Type param2</span>) <span class="subdued" jstcache="0">{...}< /span>);</pre> <dl jstcache="0"> <div jsselect="callbackParameters" jstcache="27 "> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jsconte nt="name" jstcache="7">paramName</var><em jstcache="0"> (<span jscontent="typeNa me" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdisplay="!$thi s.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$this.descripti on" jsvalues=".innerHTML:$this.description" jstcache="24"> Description of this p arameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_ propertyList" jstcache="25"> <dl jstcache="0"> <div jsselect="_propertyList" jst cache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <va r jscontent="name" jstcache="7">paramName</var><em jstcache="0"> (<span class="o ptional" jsdisplay="optional" jstcache="28">optional </span><span jscontent="typ eName" jstcache="20">paramType</span>)</em> </dt> <dd class="todo" jsdisplay="!$ this.description" jstcache="23"> Undocumented. </dd> <dd jsdisplay="$this.descri ption" jsvalues=".innerHTML:$this.description" jstcache="24"> Description of thi s parameter from the json schema. </dd> </div> </dl> </dd> </div> </dl> </div> < /div> <!-- /description --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> < !-- EVENTS --> <div class="apiGroup" id="events" jstcache="0"> <a name="#events" jstcache="0"></a> <h2 id="events" jstcache="0">Events</h2> <!-- iterates over a ll events --> <div jsselect="events" class="apiItem" jstcache="5"> <a jsvalues=" .name:'event-' + name" jstcache="8"></a> <h3 jscontent="name" jstcache="7">event name</h3> <div class="summary" jstcache="0"> <!-- Note: intentionally longer 80 columns --> <span class="subdued" jstcache="0">chrome.bookmarks.</span><span js content="name" jstcache="7">onEvent</span><span class="subdued" jstcache="0">.ad dListener</span>(function(<span jscontent="callSignature" jstcache="16">Type par am1, Type param2</span>) <span class="subdued" jstcache="0">{...}</span>); </div > <div class="description" jstcache="0"> <p class="todo" jsdisplay="!description " jstcache="12">Undocumented.</p> <p jsdisplay="description" jsvalues=".innerHTM L:description" jstcache="13"> A description from the json schema def of the even t goes here. </p> <!-- PARAMETERS --> <h4 jstcache="0">Parameters</h4> <dl jstca che="0"> <div jsselect="parameters" jstcache="21"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">paramName </var><em jstcache="0"> (<span jscontent="typeName" jstcache="20">paramType</spa n>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23">Und ocumented.</dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this.des cription" jstcache="24"> Description of this parameter from the json schema. </d d> <!-- OBJECT PROPERTIES --> <dd jsdisplay="_propertyList" jstcache="25"> <dl j stcache="0"> <div jsselect="_propertyList" jstcache="29"> <dt jstcache="0"> <!-- Note: intentionally longer 80 columns --> <var jscontent="name" jstcache="7">pa ramName</var><em jstcache="0"> (<span class="optional" jsdisplay="optional" jstc ache="28">optional </span><span jscontent="typeName" jstcache="20">paramType</sp an>)</em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="23"> U ndocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this. description" jstcache="24"> Description of this parameter from the json schema. </dd> </div> </dl> </dd> </div> </dl> </div> <!-- /decription --> </div> <!-- /a piItem --> </div> <!-- /apiGroup --> </div> <!-- /apiPage --> </div> <!-- /mainC olumn --> </div> <!-- /pageContent --> <div id="pageFooter" --="" jstcache="0"> Copyright 2009 <br jstcache="0"> TBD: copyright/license should be automatically included here </div> <!-- /pageFooter --> </div> <!-- /container --> </body></ht ml>
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/api_index.html ('k') | chrome/common/extensions/docs/bookmarks.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698