| 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> > <a href="reference_index.html" jstcache="0">Reference</a>
> <a href="api_index.html" jstcache="0">chrome.* APIs</a> > <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&t13n_langs=en" jstcache="0"></script> <scri
pt type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-sea
rch-box&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> > <a href="reference_index.html" jstcache="0">Reference</a>
> <a href="api_index.html" jstcache="0">chrome.* APIs</a> > <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&t13n_langs=en" jstcache="0"></script> <scri
pt type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-sea
rch-box&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> |