summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/docs/overview.html
blob: cabdadbefc27be1783e2fab2374f88a7492337b7 (plain)
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 mechanism. 2) The <body> tag *must* retain id="body" 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. TODO(rafaelw): Abstract this into a "pageshell" that becomes the single version of page template shell and the "instance" pages (bookmarks.html, etc...) can be generated with a build step. --><!-- <html> must retain id="template --><html xmlns="http://www.w3.org/1999/xhtml" jstcache="0"><!-- <head> data 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">[object HTMLDivElement]</title> <link href="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_generator.js" jstcache="0"></script> <script type="text/javascript" src="js/bootstrap.js" jstcache="0"></script> </head><!-- <body> content is completely generated. Do not edit, as it will be and rewritten. --><body jstcache="0"> <div id="container" jstcache="0"> <a name="top" jstcache="0"> </a> <!-- API HEADER --> <div id="pageHeader" jstcache="0"> <div id="searchbox" jstcache="0"> <form action="http://www.google.com/cse" id="cse-search-box" jstcache="0"> <div jstcache="0"> <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno" jstcache="0"> <input type="hidden" name="ie" value="UTF-8" jstcache="0"> <input type="text" name="q" size="31" jstcache="0"> <input type="submit" name="sa" value="Search" jstcache="0"> </div> </form> <script type="text/javascript" src="http://www.google.com/jsapi" jstcache="0"></script> <script type="text/javascript" jstcache="0">google.load("elements", "1", {packages: "transliteration"});</script> <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse-search-box&amp;t13n_langs=en" jstcache="0"></script> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en" jstcache="0"></script> </div> <div id="pageTitle" jstcache="0"> <h1 jscontent="getPageTitle()" jstcache="2">Overview</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" jstcache="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 href="toolstrip.html" jstcache="0">Toolstrips</a></li> <li jstcache="0"><a href="pageActions.html" jstcache="0">Page actions</a></li> <li jstcache="0"><a href="background_pages.html" jstcache="0">Background pages</a></li> <li jstcache="0"><a href="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 href="tabs.html" jstcache="0">Tabs</a></li> <li jstcache="0"><a href="windows.html" 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 Plugins</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="mainColumn" jstcache="0"> <!-- TABLE OF CONTENTS --> <div id="toc" jsselect="apiDefinition" 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 jsdisplay="functions &amp;&amp; functions.length &gt; 0" jstcache="4"> <a href="#methods" jstcache="0">Methods</a> <ol jstcache="0"> <li jsselect="functions" jstcache="7"> <a jscontent="name" jsvalues=".href:'#method-' + name" href="#method-anchor" jstcache="24">methodName</a> </li> </ol> </li> <li jsdisplay="events &amp;&amp; events.length &gt; 0" jstcache="5"> <a href="#events" jstcache="0">Events</a> <ol jstcache="0"> <li jsselect="events" jstcache="8"> <a jscontent="name" jsvalues=".href:'#event-' + name" href="#event-anchor" jstcache="25">eventName</a> </li> </ol> </li> <li jsdisplay="types &amp;&amp; types.length &gt; 0" jstcache="6"> <a href="#types" jstcache="0">Types</a> <ol jstcache="0"> <li jsselect="types" jstcache="9"> <a jscontent="id" jsvalues=".href:'#type-' + id" href="#id-anchor" jstcache="26">id</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 PLACEHOLDER --> <div id="static" jstcache="0"><p jstcache="0"> This page should perhaps be renamed from "overview" to "concepts". In any case, what I'd like to cover here is the conceptual underpinning of extensions, such as: </p><ul jstcache="0"> <li jstcache="0">Zip file of web pages </li><li jstcache="0">All resources accessible with a URL scheme </li><li jstcache="0">How IDs are generated </li><li jstcache="0">The manifest </li><li jstcache="0">The background page, how extensions are typically structured </li><li jstcache="0">Process model </li><li jstcache="0">Content scripts (lightweight, link off to other page for details) </li><li jstcache="0">Asynchronous APIs </li><li jstcache="0">Extension IDs, how they are generated </li><li jstcache="0">How packaging works at a high level (lightweight, link off to other page for details) </li></ul></div> <!-- API PAGE --> <div class="apiPage" jsselect="apiDefinition" jstcache="3" style="display: none; "> <!-- METHODS --> <div jsdisplay="functions &amp;&amp; functions.length &gt; 0" class="apiGroup" id="methods" jstcache="4"> <a name="#methods" jstcache="0"></a> <h2 jstcache="0">Methods</h2> <!-- iterates over all functions --> <div class="apiItem" jsselect="functions" jstcache="7"> <a jsvalues=".name:'method-' + name" jstcache="10"></a> <!-- method-anchor --> <h3 jscontent="name" jstcache="11">method name</h3> <div class="summary" jstcache="0"><span jsdisplay="returns" jscontent="getTypeName(returns)" jstcache="16">void</span> <!-- Note: intentionally longer 80 columns --> <span jscontent="getFullyQualifiedFunctionName($this)" jstcache="17">chrome.module.methodName</span>(<span jsselect="parameters" jsvalues="class:optional ? 'optional' : ''" jstcache="18"><span jsdisplay="$index" jstcache="27">, </span><span jscontent="getTypeName($this)" jstcache="28"></span> <var jstcache="0"><span jscontent="name" jstcache="11"></span></var></span>)</div> <div class="description" jstcache="0"> <p class="todo" jsdisplay="!description" jstcache="19">Undocumented.</p> <p jsdisplay="description" jsvalues=".innerHTML:description" jstcache="20"> A description from the json schema def of the function goes here. </p> <!-- PARAMETERS --> <h4 jstcache="0">Parameters</h4> <dl jstcache="0"> <div jsselect="parameters" jstcache="29"> <!-- VALUE: This is a subtemplate that is used elsewhere via jsTemplate *transclude* --> <div id="valueTemplate" jstcache="0"> <dt jstcache="0"> <var jsdisplay="$this.name" jscontent="$this.name" jstcache="35">paramName</var> <em jstcache="0"> <!-- TYPE --> <div style="display:inline" jstcache="0"> ( <span class="optional" jsdisplay="optional" jstcache="37">optional</span> <span id="typeTemplate" jstcache="0"> <span jsdisplay="getTypeRef($this)" jstcache="38"> <a jsvalues=".href: getTypeRefPage($this) + '#type-' + getTypeRef($this)" jscontent="getTypeRef($this)" jstcache="40"> Type</a> </span> <span jsdisplay="!getTypeRef($this)" jstcache="39"> <span jsdisplay="isArray($this)" jstcache="41"> array of <span jsselect="items" jstcache="43"><span transclude="typeTemplate" jstcache="44"></span></span> </span> <span jsdisplay="!isArray($this)" jscontent="getTypeName($this)" jstcache="42">paramType</span> </span> </span> ) </div> </em> </dt> <dd class="todo" jsdisplay="!$this.description" jstcache="32"> Undocumented. </dd> <dd jsdisplay="$this.description" jsvalues=".innerHTML:$this.description" jstcache="33"> Description of this parameter from the json schema. </dd> <!-- OBJECT PROPERTIES --> <dd jsdisplay="shouldExpandObject($this)" jstcache="34"> <dl jstcache="0"> <div jsselect="getPropertyListFromObject($this)" jstcache="36"> <div transclude="valueTemplate" jstcache="15"> </div> </div> </dl> </dd> </div> <!-- /VALUE --> </div> </dl> <!-- RETURNS --> <h4 jsdisplay="returns" jstcache="21">Returns</h4> <dl jstcache="0"> <div jsselect="returns" jstcache="30"> <div transclude="valueTemplate" jstcache="15"> </div> </div> </dl> <!-- CALLBACK -->	 <div jsdisplay="hasCallback(parameters)" jstcache="22"> <div jsselect="getCallbackParameters(parameters)" jstcache="31"> <h4 jstcache="0">Callback function</h4> <p jstcache="0"> If you specify the <em jstcache="0">callback</em> parameter, it should specify a function that looks like this: </p> <!-- Note: intentionally longer 80 columns --> <pre jstcache="0">function(<span jscontent="getSignatureString(parameters)" jstcache="23">Type param1, Type param2</span>) <span class="subdued" jstcache="0">{...}</span>);</pre> <dl jstcache="0"> <div jsselect="parameters" jstcache="29"> <div transclude="valueTemplate" jstcache="15"> </div> </div> </dl> </div> </div> </div> <!-- /description --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> <!-- EVENTS --> <div jsdisplay="events &amp;&amp; events.length &gt; 0" class="apiGroup" jstcache="5"> <a name="#events" jstcache="0"></a> <h2 id="events" jstcache="0">Events</h2> <!-- iterates over all events --> <div jsselect="events" class="apiItem" jstcache="8"> <a jsvalues=".name:'event-' + name" jstcache="12"></a> <h3 jscontent="name" jstcache="11">event name</h3> <div class="summary" jstcache="0"> <!-- Note: intentionally longer 80 columns --> <span class="subdued" jstcache="0">chrome.bookmarks.</span><span jscontent="name" jstcache="11">onEvent</span><span class="subdued" jstcache="0">.addListener</span>(function(<span jscontent="getSignatureString(parameters)" jstcache="23">Type param1, Type param2</span>) <span class="subdued" jstcache="0">{...}</span>); </div> <div class="description" jstcache="0"> <p class="todo" jsdisplay="!description" jstcache="19">Undocumented.</p> <p jsdisplay="description" jsvalues=".innerHTML:description" jstcache="20"> 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="29"> <div transclude="valueTemplate" jstcache="15"> </div> </div> </dl> </div> <!-- /decription --> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> <!-- TYPES --> <div jsdisplay="types &amp;&amp; types.length &gt; 0" class="apiGroup" jstcache="6"> <a name="#types" jstcache="0"></a> <h2 id="types" jstcache="0">Types</h2> <!-- iterates over all types --> <div jsselect="types" class="apiItem" jstcache="9"> <a jsvalues=".name:'type-' + id" jstcache="13"></a> <h3 jscontent="id" jstcache="14">type name</h3> <div transclude="valueTemplate" jstcache="15"> </div> </div> <!-- /apiItem --> </div> <!-- /apiGroup --> </div> <!-- /apiPage --> </div> <!-- /mainColumn --> </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></html>