summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/docs/template/api_template_apps.html
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/docs/template/api_template_apps.html')
-rw-r--r--chrome/common/extensions/docs/template/api_template_apps.html606
1 files changed, 606 insertions, 0 deletions
diff --git a/chrome/common/extensions/docs/template/api_template_apps.html b/chrome/common/extensions/docs/template/api_template_apps.html
new file mode 100644
index 0000000..4174a05
--- /dev/null
+++ b/chrome/common/extensions/docs/template/api_template_apps.html
@@ -0,0 +1,606 @@
+ <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">
+ <!-- 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">
+
+ <!-- VALUE -->
+ <div id="valueTemplate">
+ <dt>
+ <var jsdisplay="$this.name" jscontent="$this.name">paramName</var>
+ <em>
+
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional" jsdisplay="optional">optional</span>
+ <span class="enum" jsdisplay="$this.enum">enumerated</span>
+ <span id="typeTemplate">
+ <code jsdisplay="hasPrimitiveValue($this)" jscontent="getPrimitiveValue($this)">value</code>
+ <span jsdisplay="!hasPrimitiveValue($this) && getTypeRef($this)">
+ <a jsvalues=".href: getTypeRefPage($this) + '#type-' + getTypeRef($this)"
+ jscontent="getTypeRef($this)"> Type</a>
+ </span>
+ <span jsdisplay="!hasPrimitiveValue($this) && !getTypeRef($this)">
+ <span jsdisplay="isArray($this)">
+ array of <span jsselect="items"><span transclude="typeTemplate"></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>
+ </span>
+ )
+ </div>
+
+ </em>
+ </dt>
+ <dd class="todo" jsdisplay="!$this.description">
+ Undocumented.
+ </dd>
+ <dd jsdisplay="$this.description"
+ jsvalues=".innerHTML:substituteTypeRefs($this.description)">
+ Description of this parameter from the json schema.
+ </dd>
+ <dd jsdisplay="$this.min_version">
+ This parameter was added in version
+ <b><span jscontent="$this.min_version"></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
+ <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.
+ </dd>
+
+ <!-- OBJECT PROPERTIES -->
+ <dd jsdisplay="shouldExpandObject($this)">
+ <dl>
+ <div jsselect="getPropertyListFromObject($this)">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+ </dd>
+
+ <!-- OBJECT METHODS -->
+ <dd jsdisplay="$this.type === 'object' &&
+ filterDocumented($this.functions).length > 0"
+ jsvalues="$scope:id">
+ <div transclude="methodsTemplate"></div>
+ </dd>
+
+ <!-- OBJECT EVENT FIELDS -->
+ <dd jsdisplay="$this.type === 'object' &&
+ filterDocumented($this.events).length > 0"
+ jsvalues="$scope:id">
+ <div transclude="eventsTemplate"></div>
+ </dd>
+
+ <!-- FUNCTION PARAMETERS -->
+ <dd jsdisplay="isFunction($this) && $this.parameters &&
+ $this.name != 'callback'">
+ <div transclude="functionParametersTemplate"></div>
+ </dd>
+
+ </div> <!-- /VALUE -->
+
+ <div id="conditionAndActionTemplate">
+ <dt>
+ <a jsvalues=".href: typeModule[$this].namespace + '.html#type-' + $this"
+ jscontent="$this">condition name</a>
+ </dt>
+ <dd class="todo" jsdisplay="!typeModule[$this].description">
+ Undocumented.
+ </dd>
+ <dd jsdisplay="getDescription($this)"
+ jsvalues=".innerHTML:substituteTypeRefs(getDescription($this))">
+ Description of this parameter from the json schema.
+ </dd>
+ </div>
+
+ <div id="functionParametersTemplate" jsdisplay="$this.parameters.length > 0">
+ <h5>Parameters</h5>
+ <dl>
+ <div jsselect="$this.parameters">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+ </div>
+
+ <!-- Individual subsections from the table of contents -->
+ <ol>
+ <li id="propertiesTocTemplate" jsdisplay="$this.properties">
+ <a href="#properties">Properties</a>
+ <ol>
+ <li jsselect="getPropertyListFromObject($this)">
+ <a jscontent="name"
+ jsvalues=".href:'#property-' + name"
+ href="#property-anchor">propertyName</a>
+ </li>
+ </ol>
+ </li>
+ <li id="methodsTocTemplate" jsdisplay="filterDocumented(functions).length > 0">
+ <a jsvalues=".href:'#' + getAnchorName('global', 'methods', $type)">Methods</a>
+ <ol>
+ <li jsselect="filterDocumented(functions).sort(sortByName)">
+ <a jscontent="name"
+ jsvalues=".href:'#' + getAnchorName('method', name, $type)"
+ href="#method-anchor">methodName</a>
+ </li>
+ </ol>
+ </li>
+ <li id="eventsTocTemplate" jsdisplay="filterDocumented(events).length > 0">
+ <a jsvalues=".href:'#' + getAnchorName('global', 'events', $type)">Events</a>
+ <ol>
+ <li jsselect="filterDocumented(events).sort(sortByName)">
+ <a jscontent="name"
+ jsvalues=".href:'#' + getAnchorName('event', name, $type)"
+ href="#event-anchor">eventName</a>
+ </li>
+ </ol>
+ </li>
+ <li id="typesTocTemplate" jsdisplay="filterDocumented(types).length > 0">
+ <a href="#types">Types</a>
+ <ol>
+ <li jsselect="filterDocumented(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>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </div> <!-- /SUBTEMPLATES -->
+
+ <a id="top"></a>
+ <div id="skipto">
+ <a href="#gc-pagecontent">Skip to page content</a>
+ <a href="#gc-toc">Skip to main navigation</a>
+ </div>
+ <!-- API HEADER -->
+ <table id="header" width="100%" cellspacing="0" border="0">
+ <tr>
+ <td valign="middle"
+ ><a href="http://code.google.com/"><img src="images/chrome_logo.gif" alt="Google Code"
+ 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 id="gsc-search-input" type="text" name="q" value="" size="55" />
+ <button class="gsc-search-button" type="submit" name="sa">
+ <img class="gsc-search-button-lens" src="images/search.png" alt="Search">
+ </button>
+ <br>
+ <span class="greytext">e.g. "page action" or "tabs"</span>
+ </div>
+ </form>
+
+ <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>
+ </td>
+ </tr>
+ </table>
+
+ <div id="codesiteContent" jsvalues=".className: showSideNav() ? '' : 'hideSideNav'">
+
+ <a id="gc-topnav-anchor"></a>
+ <div id="gc-topnav">
+ <h1>Packaged Apps</h1>
+ <ul id="home" class="gc-topnav-tabs">
+ <li id="home_link">
+ <a href="app_landing.html" title="Packaged Apps home page">Home</a>
+ </li>
+ <li id="docs_link">
+ <a href="about_apps.html" title="Official Packaged apps documentation">Docs</a>
+ </li>
+ <li id="samples_link">
+ <a href="app_samples.html" title="Sample apps (with source code)">Samples</a>
+ </li>
+ <li id="group_link">
+ <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
+ </li>
+ <li id="so_link">
+ <a href="http://stackoverflow.com/questions/tagged/google-chrome-extension" title="[google-chrome-extension] tag on Stack Overflow">Questions?</a>
+ </li>
+ </ul>
+ </div> <!-- end gc-topnav -->
+
+ <div class="g-section g-tpl-170">
+ <!-- SIDENAV -->
+ <div class="g-unit g-first" id="gc-toc" jsdisplay="showSideNav()">
+ <ul>
+ <li><h2>Getting Started</h2>
+ <ul>
+ <li><a href="about_apps.html">What Are Packaged Apps?</a></li>
+ <li><a href="app_architecture.html">Understand the Architecture</a></li>
+ <li><a href="first_app.html">Create Your First App</a></li>
+ </ul>
+ </li>
+ <li><h2>Developing</h2>
+ <ul>
+ <li><a href="develop_apps.html">Before You Start</a></li>
+ <li>The Fundamentals
+ <ul>
+ <li><a href="app_lifecycle.html">Manage App Lifecycle</a></li>
+ <li><a href="app_storage.html">Manage Data</a></li>
+ <li><a href="offline_apps.html">Offline First</a></li>
+ <li><a href="app_external.html">Embed Content</a></li>
+ </ul>
+ </li>
+ <li>Security &amp; Privacy
+ <ul>
+ <li><a href="app_security.html">About Security &amp; Privacy</a></li>
+ <li><a href="app_identity.html">Identify User</a></li>
+ <li><a href="app_permissions.html">Manage User Permissions</a></li>
+ <li><a href="app_csp">Comply with CSP</a></li>
+ </ul>
+ </li>
+ <li>Advanced Technologies
+ <ul>
+ <li><a href="app_network.html">Communicate across Network</a></li>
+ <li><a href="app_hardware.html">Access Hardware Devices</a></li>
+ <li><a href="app_intents.html">Connect Apps with Web Intents</a></li>
+ </ul>
+ </li>
+ <li><a href="app_frameworks.html">Recommended Frameworks</a></li>
+ </ul>
+ </li>
+ <li><h2>Deploying</h2>
+ <ul>
+ <li><a href="publish_app.html">Publish</a></li>
+ <li><a href="sell_app.html">Sell</a></li>
+ </ul>
+ </li>
+ <li><h2>Reference</h2>
+ <ul>
+ <li><a href="manifest.html">Manifest Files</a></li>
+ <li><a href="api_index.html">Chrome JavaScript APIs</a></li>
+ <li><a href="experimental.html">Experimental APIs</a></li>
+ <li><a href="api_other.html">Supported Libraries</a></li>
+ <li><a href="app_deprecated.html">Disabled Web Features</a></li>
+ </ul>
+ </li>
+ <li><h2><a href="app_samples.html">Samples</a></h2></li>
+ </ul>
+ </div>
+ <script>
+ initToggles();
+ </script>
+
+ <div class="g-unit" id="gc-pagecontent">
+ <div id="pageTitle">
+ <h1 class="page_title" jscontent="getPageName()">chrome.apiname</h1>
+ </div>
+ <!-- TABLE OF CONTENTS -->
+ <div id="toc" jsdisplay="showPageTOC()">
+ <h2>Contents</h2>
+ <ol>
+ <li jsselect="getStaticTOC()">
+ <a jscontent="name"
+ jsvalues=".href:'#' + href">h2Name</a>
+ <ol>
+ <li jsselect="$this.children">
+ <a jscontent="name"
+ jsvalues=".href:'#' + href">h3Name</a>
+ </li>
+ </ol>
+ </li>
+ <li jsselect="apiDefinition" jsvalues="$type:''">
+ <a href="#apiReference" jscontent="'API reference: ' + getModuleName()">API reference</a>
+ <ol>
+ <div transclude="propertiesTocTemplate"></div>
+ <div transclude="methodsTocTemplate"></div>
+ <div transclude="eventsTocTemplate"></div>
+ <div transclude="typesTocTemplate"></div>
+ </ol>
+ </li>
+ </ol>
+ </div>
+ <!-- /TABLE OF CONTENTS -->
+
+ <!-- Standard content lead-in for experimental API pages -->
+ <p jsdisplay="isExperimentalAPIPage();" id="classSummary">
+ For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
+ </p>
+
+ <p jsdisplay="!isPermittedOnChannel('stable');" class="warning">
+ <!-- Standard content lead-in for APIs that are not yet available on
+ the stable channel. -->
+ <em>Warning:</em> This API is still under development. It is only
+ available for Chrome users on the
+ <span jsdisplay="isPermittedOnChannel('beta');">
+ <strong>dev</strong> and <strong>beta</strong>
+ <a href="http://www.chromium.org/getting-involved/dev-channel">early
+ release channels</a>.</span>
+ <span jsdisplay="!isPermittedOnChannel('beta');">
+ <strong>dev</strong>
+ <a href="http://www.chromium.org/getting-involved/dev-channel">early
+ release channel</a>.</span>
+ <a href="TODO">Learn more</a>.
+ </p>
+
+ <!-- STATIC CONTENT PLACEHOLDER -->
+ <div id="static"></div>
+
+ <!-- API PAGE -->
+ <div class="apiPage" jsselect="apiDefinition" jsvalues="$scope:''">
+ <a name="apiReference"></a>
+ <h2 jscontent="'API reference: ' + getModuleName()">API reference: chrome.apiname </h2>
+
+ <!-- PROPERTIES -->
+ <div jsdisplay="$this.properties" 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 class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <span jscontent="getModuleName() + '.'">chrome.extension</span><span jscontent="$this.name">lastError</span>
+ </div>
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+
+ </div> <!-- /apiGroup -->
+
+ <!-- METHODS -->
+ <div id="methodsTemplate" class="apiGroup"
+ jsdisplay="filterDocumented($this.functions).length > 0">
+ <a jsvalues=".name:getAnchorName('global', 'methods', $scope)"></a>
+ <h3 jscontent="$scope ? 'Methods of ' + $scope : 'Methods'">Methods</h3>
+
+ <!-- iterates over all functions -->
+ <div class="apiItem" jsselect="filterDocumented(functions).sort(sortByName)">
+ <a jsvalues=".name:getAnchorName('method', name, $scope)"></a> <!-- method-anchor -->
+ <h4 jscontent="name">method name</h4>
+
+ <div class="summary"><span jsdisplay="returns" jscontent="getTypeName(returns)">void</span>
+ <!-- Note: intentionally longer 80 columns -->
+ <span jscontent="getFullyQualifiedFunctionName($scope, $this)">chrome.module.methodName</span>(<span jsselect="filterDocumented(parameters)" jsvalues="class:optional ? 'optional' : ''"><span jsdisplay="$index">, </span><span jscontent="getTypeName($this)"></span>
+ <var><span jscontent="$this.name"></span></var></span>)</div>
+
+ <div class="description">
+ <p class="todo" jsdisplay="!description">Undocumented.</p>
+ <p jsdisplay="description" jsvalues=".innerHTML:description">
+ A description from the json schema def of the function goes here.
+ </p>
+
+ <!-- PARAMETERS -->
+ <h4 jsdisplay="$this.parameters && filterDocumented($this.parameters).length > 0">Parameters</h4>
+ <dl>
+ <div jsselect="filterDocumented(parameters)">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+
+ <!-- RETURNS -->
+ <h4 jsdisplay="returns">Returns</h4>
+ <dl>
+ <div jsselect="returns">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+
+ <!-- CALLBACK -->
+ <div jsdisplay="hasCallback(parameters)">
+ <div jsselect="getCallbackParameters(parameters)">
+ <h4>Callback function</h4>
+ <p jsdisplay="!$this.optional">
+ The callback <em>parameter</em> should specify a function
+ that looks like this:
+ </p>
+ <p jsdisplay="$this.optional">
+ 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>
+ <dl>
+ <div jsselect="parameters">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+ </div>
+ </div>
+
+ <!-- MIN_VERSION -->
+ <p jsdisplay="min_version" >
+ This function was added in version <b><span jscontent="$this.min_version"></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.
+ </p>
+ </div> <!-- /description -->
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ <!-- EVENTS -->
+ <div id="eventsTemplate" class="apiGroup"
+ jsdisplay="filterDocumented($this.events).length > 0">
+ <a jsvalues=".name:getAnchorName('global', 'events', $scope)"></a>
+ <h3 jscontent="$scope ? 'Events of ' + $scope : 'Events'">Events</h3>
+ <!-- iterates over all events -->
+ <div class="apiItem" jsselect="filterDocumented($this.events).sort(sortByName)">
+ <a jsvalues=".name:getAnchorName('event', name, $scope)"></a>
+ <h4 jscontent="name">event name</h4>
+
+ <div class="summary" jsdisplay="!($this.options && $this.options.supportsListeners === false)">
+ <!-- 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>);
+ </div>
+
+ <div class="description" jsdisplay="!($this.options && $this.options.supportsListeners === false)">
+ <p class="todo" jsdisplay="!description">Undocumented.</p>
+ <p jsdisplay="description" jsvalues=".innerHTML:description">
+ A description from the json schema def of the event goes here.
+ </p>
+
+ <!-- LISTENER PARAMETERS -->
+ <div jsdisplay="parameters && parameters.length > 0">
+ <h4>Listener parameters</h4>
+ <dl>
+ <div jsselect="parameters">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+ </div>
+
+ <!-- EXTRA PARAMETERS -->
+ <div jsdisplay="extraParameters && extraParameters.length > 0">
+ <h4>Extra parameters to addListener</h4>
+ <dl>
+ <div jsselect="extraParameters">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+ </div>
+
+ <!-- LISTENER RETURN VALUE -->
+ <h4 jsdisplay="returns">Listener returns</h4>
+ <dl>
+ <div jsselect="returns">
+ <div transclude="valueTemplate">
+ </div>
+ </div>
+ </dl>
+
+ </div> <!-- /description -->
+
+ <div class="summary" jsdisplay="$this.options && $this.options.supportsRules === true">
+ <span jscontent="(getObjectName($scope) || getModuleName()) + '.'" class="subdued">chrome.bookmarks</span><span jscontent="name">onEvent</span><span class="subdued">.addRules</span>(...);
+ </div>
+
+ <div class="description" jsdisplay="$this.options && $this.options.supportsRules === true">
+ <p class="todo" jsdisplay="!description">Undocumented.</p>
+ <p jsdisplay="description" jsvalues=".innerHTML:description">
+ A description from the json schema def of the event goes here.
+ </p>
+
+ <p>See <a href="declarative.html#method-addRules"><code>chrome.declarative.addRules()</code></a>.
+ </p>
+
+ <!-- CONDITIONS -->
+ <div jsdisplay="options && options.conditions && options.conditions.length > 0">
+ <h4>Supported conditions</h4>
+ <dl>
+ <div jsselect="options.conditions">
+ <div transclude="conditionAndActionTemplate">
+ </div>
+ </div>
+ </dl>
+ </div> <!-- /conditions -->
+
+ <!-- ACTIONS -->
+ <div jsdisplay="options && options.actions && options.actions.length > 0">
+ <h4>Supported actions</h4>
+ <dl>
+ <div jsselect="options.actions">
+ <div transclude="conditionAndActionTemplate">
+ </div>
+ </div>
+ </dl>
+ </div> <!-- /actions -->
+ </div> <!-- /description -->
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ <!-- TYPES -->
+ <div jsdisplay="filterDocumented(types).length > 0" class="apiGroup">
+ <a name="types"></a>
+ <h3 id="types">Types</h3>
+
+ <!-- iterates over all types -->
+ <div jsselect="filterDocumented(types).sort(sortByName)" class="apiItem">
+ <a jsvalues=".name:'type-' + id"></a>
+ <h4 jscontent="id">type name</h4>
+
+ <div transclude="valueTemplate">
+ </div>
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ </div> <!-- /apiPage -->
+ </div> <!-- /gc-pagecontent -->
+ </div> <!-- /g-section -->
+ </div> <!-- /codesiteContent -->
+ <div id="gc-footer" -->
+ <div class="text">
+ <p>
+ Except as otherwise <a
+ href="http://code.google.com/policies.html#restrictions">noted</a>,
+ the content of this page is licensed under the <a rel="license"
+ href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
+ Attribution 3.0 License</a>, and code samples are licensed under the
+ <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
+ </p>
+ <p>
+ &copy;2011 Google
+ </p>
+
+<!-- begin analytics -->
+<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script>
+<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script>
+
+<script type="text/javascript">
+ // chrome doc tracking
+ try {
+ var engdocs = _gat._getTracker("YT-10763712-2");
+ engdocs._trackPageview();
+ } catch(err) {}
+
+ // code.google.com site-wide tracking
+ try {
+ _uacct="UA-18071-1";
+ _uanchor=1;
+ _uff=0;
+ urchinTracker();
+ }
+ catch(e) {/* urchinTracker not available. */}
+</script>
+<!-- end analytics -->
+ </div>
+ </div> <!-- /gc-footer -->
+ </div> <!-- /gc-container -->