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

Unified Diff: chrome/common/extensions/docs/experimental.declarative.html

Issue 9192029: Bindings layer for declarative events API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Store apiDefinitions directly in chromeHidden Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/experimental.declarative.html
diff --git a/chrome/common/extensions/docs/template/api_template.html b/chrome/common/extensions/docs/experimental.declarative.html
similarity index 54%
copy from chrome/common/extensions/docs/template/api_template.html
copy to chrome/common/extensions/docs/experimental.declarative.html
index 8fa2e449dd7fb1c503d6990cb88f63eb6d2a35f4..b398691a362cd09a9f66cdd9a21ab426d2ba7934 100644
--- a/chrome/common/extensions/docs/template/api_template.html
+++ b/chrome/common/extensions/docs/experimental.declarative.html
@@ -1,51 +1,53 @@
- <div id="devModeWarning" class="displayModeWarning">
- 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>
- <div id="branchWarning" class="displayModeWarning">
- <span>WARNING: This is the <span id="branchName">BETA</span> documentation.
- It may not work with the stable release of Chrome.</span>
- <select id='branchChooser'>
- <option>Choose a different version...
- <option value="">Stable
- <option value="beta">Beta
- <option value="dev">Dev
- <option value="trunk">Trunk
- </select>
- </div>
- <div id="unofficialWarning" class="displayModeWarning">
- <span>WARNING: This is unofficial documentation. It may not work with the
- current release of Chrome.</span>
- <button id="goToOfficialDocs">Go to the official docs</button>
- </div>
- <div id="gc-container" class="labs">
+<!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>
+ <script type="text/javascript" src="js/sidebar.js"></script>
+ <title>Experimental.declarative - 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 jsskip="true" style="display:none">
+ <div style="display:none">
<!-- VALUE -->
<div id="valueTemplate">
<dt>
- <var jsdisplay="$this.name" jscontent="$this.name">paramName</var>
+ <var>paramName</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
- <span class="optional" jsdisplay="optional">optional</span>
- <span class="enum" jsdisplay="$this.enum">enumerated</span>
+ <span class="optional">optional</span>
+ <span class="enum">enumerated</span>
<span id="typeTemplate">
- <span jsdisplay="getTypeRef($this)">
- <a jsvalues=".href: getTypeRefPage($this) + '#type-' + getTypeRef($this)"
- jscontent="getTypeRef($this)"> Type</a>
+ <span>
+ <a> Type</a>
</span>
- <span jsdisplay="!getTypeRef($this)">
- <span jsdisplay="isArray($this)">
- array of <span jsselect="items"><span transclude="typeTemplate"></span></span>
+ <span>
+ <span>
+ array of <span><span></span></span>
</span>
- <span jsdisplay="!isArray($this)" jscontent="getTypeName($this)">paramType</span>
- <span jsdisplay="!isArray($this) && $this.enum" jscontent="getEnumValues($this.enum, type);"></span>
+ <span>paramType</span>
+ <span></span>
</span>
</span>
)
@@ -53,16 +55,15 @@
</em>
</dt>
- <dd class="todo" jsdisplay="!$this.description">
+ <dd class="todo">
Undocumented.
</dd>
- <dd jsdisplay="$this.description"
- jsvalues=".innerHTML:substituteTypeRefs($this.description)">
+ <dd>
Description of this parameter from the json schema.
</dd>
- <dd jsdisplay="$this.min_version">
+ <dd>
This parameter was added in version
- <b><span jscontent="$this.min_version"></span></b>.
+ <b><span></span></b>.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
@@ -71,33 +72,28 @@
</dd>
<!-- OBJECT PROPERTIES -->
- <dd jsdisplay="shouldExpandObject($this)">
+ <dd>
<dl>
- <div jsselect="getPropertyListFromObject($this)">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
- <dd jsdisplay="$this.type === 'object' &&
- $this.functions && $this.functions.length > 0"
- jsvalues="$scope:id">
- <div transclude="methodsTemplate"></div>
+ <dd>
+ <div></div>
</dd>
<!-- OBJECT EVENT FIELDS -->
- <dd jsdisplay="$this.type === 'object' &&
- $this.events && $this.events.length > 0"
- jsvalues="$scope:id">
- <div transclude="eventsTemplate"></div>
+ <dd>
+ <div></div>
</dd>
<!-- FUNCTION PARAMETERS -->
- <dd jsdisplay="isFunction($this) && $this.parameters &&
- $this.name != 'callback'">
- <div transclude="functionParametersTemplate"></div>
+ <dd>
+ <div></div>
</dd>
</div> <!-- /VALUE -->
@@ -105,8 +101,8 @@
<div id="functionParametersTemplate">
<h5>Parameters</h5>
<dl>
- <div jsselect="$this.parameters">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
@@ -114,48 +110,38 @@
<!-- Individual subsections from the table of contents -->
<ol>
- <li id="propertiesTocTemplate" jsdisplay="$this.properties">
+ <li id="propertiesTocTemplate">
<a href="#properties">Properties</a>
<ol>
- <li jsselect="getPropertyListFromObject($this)">
- <a jscontent="name"
- jsvalues=".href:'#property-' + name"
- href="#property-anchor">propertyName</a>
+ <li>
+ <a href="#property-anchor">propertyName</a>
</li>
</ol>
</li>
- <li id="methodsTocTemplate" jsdisplay="functions && functions.length > 0">
- <a jsvalues=".href:'#' + getAnchorName('global', 'methods', $type)">Methods</a>
+ <li id="methodsTocTemplate">
+ <a>Methods</a>
<ol>
- <li jsselect="functions.sort(sortByName)"
- jsdisplay="!($this.nodoc)">
- <a jscontent="name"
- jsvalues=".href:'#' + getAnchorName('method', name, $type)"
- href="#method-anchor">methodName</a>
+ <li>
+ <a href="#method-anchor">methodName</a>
</li>
</ol>
</li>
- <li id="eventsTocTemplate" jsdisplay="events && events.length > 0">
- <a jsvalues=".href:'#' + getAnchorName('global', 'events', $type)">Events</a>
+ <li id="eventsTocTemplate">
+ <a>Events</a>
<ol>
- <li jsselect="events.sort(sortByName)"
- jsdisplay="!($this.nodoc)">
- <a jscontent="name"
- jsvalues=".href:'#' + getAnchorName('event', name, $type)"
- href="#event-anchor">eventName</a>
+ <li>
+ <a href="#event-anchor">eventName</a>
</li>
</ol>
</li>
- <li id="typesTocTemplate" jsdisplay="types && types.length > 0">
+ <li id="typesTocTemplate">
<a href="#types">Types</a>
<ol>
- <li jsselect="types.sort(sortByName)">
- <a jscontent="id"
- jsvalues=".href:'#type-' + id"
- href="#id-anchor">id</a>
- <ol jsvalues="$type:id">
- <div transclude="methodsTocTemplate"></div>
- <div transclude="eventsTocTemplate"></div>
+ <li>
+ <a href="#id-anchor">id</a>
+ <ol>
+ <div></div>
+ <div></div>
</ol>
</li>
</ol>
@@ -170,18 +156,15 @@
</div>
<!-- API HEADER -->
<table id="header" width="100%" cellspacing="0" border="0">
- <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>
+ <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" />
+ <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>
@@ -189,13 +172,13 @@
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
- <script type="text/javascript" src="https://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script>
- <script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse&lang=en"></script>
+ <script type="text/javascript" src="https://www.google.com/coop/cse/t13n?form=cse&amp;t13n_langs=en"></script>
+ <script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse&amp;lang=en"></script>
</td>
</tr>
- </table>
+ </tbody></table>
- <div id="codesiteContent" jsvalues=".className: showSideNav() ? '' : 'hideSideNav'">
+ <div id="codesiteContent" class="">
<a id="gc-topnav-anchor"></a>
<div id="gc-topnav">
@@ -224,7 +207,7 @@
<div class="g-section g-tpl-170">
<!-- SIDENAV -->
- <div class="g-unit g-first" id="gc-toc" jsdisplay="showSideNav()">
+ <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>
@@ -312,29 +295,27 @@
<div class="g-unit" id="gc-pagecontent">
<div id="pageTitle">
- <h1 class="page_title" jscontent="getPageName()">chrome.apiname</h1>
+ <h1 class="page_title">Experimental.declarative</h1>
</div>
<!-- TABLE OF CONTENTS -->
- <div id="toc" jsdisplay="showPageTOC()">
+ <div id="toc" style="display: none; ">
<h2>Contents</h2>
<ol>
- <li jsselect="getStaticTOC()">
- <a jscontent="name"
- jsvalues=".href:'#' + href">h2Name</a>
+ <li>
+ <a>h2Name</a>
<ol>
- <li jsselect="$this.children">
- <a jscontent="name"
- jsvalues=".href:'#' + href">h3Name</a>
+ <li>
+ <a>h3Name</a>
</li>
</ol>
</li>
- <li jsselect="apiDefinition" jsvalues="$type:''">
- <a href="#apiReference" jscontent="'API reference: ' + getModuleName()">API reference</a>
+ <li>
+ <a href="#apiReference">API reference</a>
<ol>
- <div transclude="propertiesTocTemplate"></div>
- <div transclude="methodsTocTemplate"></div>
- <div transclude="eventsTocTemplate"></div>
- <div transclude="typesTocTemplate"></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
</ol>
</li>
</ol>
@@ -342,7 +323,7 @@
<!-- /TABLE OF CONTENTS -->
<!-- Standard content lead-in for experimental API pages -->
- <p jsdisplay="isExperimentalAPIPage();" id="classSummary">
+ <p id="classSummary" style="display: none; ">
For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
</p>
@@ -350,87 +331,85 @@
<div id="static"></div>
<!-- API PAGE -->
- <div class="apiPage" jsselect="apiDefinition" jsvalues="$scope:''">
+ <div class="apiPage" style="display: none; ">
<a name="apiReference"></a>
- <h2 jscontent="'API reference: ' + getModuleName()">API reference: chrome.apiname </h2>
+ <h2>API reference: chrome.apiname </h2>
<!-- PROPERTIES -->
- <div jsdisplay="$this.properties" class="apiGroup">
+ <div class="apiGroup">
<a name="properties"></a>
<h3 id="properties">Properties</h3>
- <div jsselect="getPropertyListFromObject($this)">
- <a jsvalues=".name:'property-' + name"></a>
- <h4 jscontent="name">getLastError</h4>
+ <div>
+ <a></a>
+ <h4>getLastError</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
- <span jscontent="getModuleName() + '.'">chrome.extension</span><span jscontent="$this.name">lastError</span>
+ <span>chrome.extension</span><span>lastError</span>
</div>
- <div transclude="valueTemplate">
+ <div>
</div>
</div>
</div> <!-- /apiGroup -->
<!-- METHODS -->
- <div id="methodsTemplate" class="apiGroup"
- jsdisplay="$this.functions && $this.functions.length > 0">
- <a jsvalues=".name:getAnchorName('global', 'methods', $scope)"></a>
- <h3 jscontent="$scope ? 'Methods of ' + $scope : 'Methods'">Methods</h3>
+ <div id="methodsTemplate" class="apiGroup">
+ <a></a>
+ <h3>Methods</h3>
<!-- iterates over all functions -->
- <div class="apiItem" jsselect="functions.sort(sortByName)"
- jsdisplay="!($this.nodoc)">
- <a jsvalues=".name:getAnchorName('method', name, $scope)"></a> <!-- method-anchor -->
- <h4 jscontent="name">method name</h4>
+ <div class="apiItem">
+ <a></a> <!-- method-anchor -->
+ <h4>method name</h4>
- <div class="summary"><span jsdisplay="returns" jscontent="getTypeName(returns)">void</span>
+ <div class="summary"><span>void</span>
<!-- Note: intentionally longer 80 columns -->
- <span jscontent="getFullyQualifiedFunctionName($scope, $this)">chrome.module.methodName</span>(<span jsselect="parameters" jsvalues="class:optional ? 'optional' : ''"><span jsdisplay="$index">, </span><span jscontent="getTypeName($this)"></span>
- <var><span jscontent="$this.name"></span></var></span>)</div>
+ <span>chrome.module.methodName</span>(<span><span>, </span><span></span>
+ <var><span></span></var></span>)</div>
<div class="description">
- <p class="todo" jsdisplay="!description">Undocumented.</p>
- <p jsdisplay="description" jsvalues=".innerHTML:description">
+ <p class="todo">Undocumented.</p>
+ <p>
A description from the json schema def of the function goes here.
</p>
<!-- PARAMETERS -->
- <h4 jsdisplay="$this.parameters && $this.parameters.length > 0">Parameters</h4>
+ <h4>Parameters</h4>
<dl>
- <div jsselect="parameters">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
<!-- RETURNS -->
- <h4 jsdisplay="returns">Returns</h4>
+ <h4>Returns</h4>
<dl>
- <div jsselect="returns">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
<!-- CALLBACK -->
- <div jsdisplay="hasCallback(parameters)">
- <div jsselect="getCallbackParameters(parameters)">
+ <div>
+ <div>
<h4>Callback function</h4>
- <p jsdisplay="!$this.optional">
+ <p>
The callback <em>parameter</em> should specify a function
that looks like this:
</p>
- <p jsdisplay="$this.optional">
+ <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 jscontent="getSignatureString(parameters)">Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre>
+ <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre>
<dl>
- <div jsselect="parameters">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
@@ -438,8 +417,8 @@
</div>
<!-- MIN_VERSION -->
- <p jsdisplay="min_version" >
- This function was added in version <b><span jscontent="$this.min_version"></span></b>.
+ <p>
+ This function was added in version <b><span></span></b>.
If you require this function, the manifest key
<a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
can ensure that your extension won't be run in an earlier browser version.
@@ -451,54 +430,52 @@
</div> <!-- /apiGroup -->
<!-- EVENTS -->
- <div id="eventsTemplate" class="apiGroup"
- jsdisplay="$this.events && $this.events.length > 0">
- <a jsvalues=".name:getAnchorName('global', 'events', $scope)"></a>
- <h3 jscontent="$scope ? 'Events of ' + $scope : 'Events'">Events</h3>
+ <div id="eventsTemplate" class="apiGroup">
+ <a></a>
+ <h3>Events</h3>
<!-- iterates over all events -->
- <div class="apiItem" jsselect="$this.events.sort(sortByName)"
- jsdisplay="!($this.nodoc)">
- <a jsvalues=".name:getAnchorName('event', name, $scope)"></a>
- <h4 jscontent="name">event name</h4>
+ <div class="apiItem">
+ <a></a>
+ <h4>event name</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
- <span jscontent="(getObjectName($scope) || getModuleName()) + '.'" class="subdued">chrome.bookmarks</span><span jscontent="name">onEvent</span><span class="subdued">.addListener</span>(function(<span jscontent="getSignatureString($this.parameters)">Type param1, Type param2</span>) <span class="subdued">{...}</span><span jscontent="getOptionalSignatureSubstring($this.extraParameters)">, Type opt_param1, Type opt_param2</span>);
+ <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span><span>, Type opt_param1, Type opt_param2</span>);
</div>
<div class="description">
- <p class="todo" jsdisplay="!description">Undocumented.</p>
- <p jsdisplay="description" jsvalues=".innerHTML:description">
+ <p class="todo">Undocumented.</p>
+ <p>
A description from the json schema def of the event goes here.
</p>
<!-- LISTENER PARAMETERS -->
- <div jsdisplay="parameters && parameters.length > 0">
+ <div>
<h4>Listener parameters</h4>
<dl>
- <div jsselect="parameters">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
</div>
<!-- EXTRA PARAMETERS -->
- <div jsdisplay="extraParameters && extraParameters.length > 0">
+ <div>
<h4>Extra parameters to addListener</h4>
<dl>
- <div jsselect="extraParameters">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
</div>
<!-- LISTENER RETURN VALUE -->
- <h4 jsdisplay="returns">Listener returns</h4>
+ <h4>Listener returns</h4>
<dl>
- <div jsselect="returns">
- <div transclude="valueTemplate">
+ <div>
+ <div>
</div>
</div>
</dl>
@@ -509,16 +486,16 @@
</div> <!-- /apiGroup -->
<!-- TYPES -->
- <div jsdisplay="types && types.length > 0" class="apiGroup">
+ <div class="apiGroup">
<a name="types"></a>
<h3 id="types">Types</h3>
<!-- iterates over all types -->
- <div jsselect="types.sort(sortByName)" class="apiItem">
- <a jsvalues=".name:'type-' + id"></a>
- <h4 jscontent="id">type name</h4>
+ <div class="apiItem">
+ <a></a>
+ <h4>type name</h4>
- <div transclude="valueTemplate">
+ <div>
</div>
</div> <!-- /apiItem -->
@@ -529,18 +506,16 @@
</div> <!-- /gc-pagecontent -->
</div> <!-- /g-section -->
</div> <!-- /codesiteContent -->
- <div id="gc-footer" -->
+ <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
+ 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>
- &copy;2011 Google
+ ©2011 Google
</p>
<!-- begin analytics -->
@@ -567,3 +542,4 @@
</div>
</div> <!-- /gc-footer -->
</div> <!-- /gc-container -->
+</body></html>

Powered by Google App Engine
This is Rietveld 408576698