summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/docs
diff options
context:
space:
mode:
authorbenjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 18:32:06 +0000
committerbenjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-14 18:32:06 +0000
commit8e3cab3714c8ea01b653f432d13cdbed368d3a24 (patch)
treef626f54bcb66d008ecbc59be0e487057328cd70c /chrome/common/extensions/docs
parentdf7cff4cab95831d69914f24ba5efed449ff6bcd (diff)
downloadchromium_src-8e3cab3714c8ea01b653f432d13cdbed368d3a24.zip
chromium_src-8e3cab3714c8ea01b653f432d13cdbed368d3a24.tar.gz
chromium_src-8e3cab3714c8ea01b653f432d13cdbed368d3a24.tar.bz2
experimental.downloads extension api docs
staged: http://goto.google.com/jojso BUG=12133 Review URL: http://codereview.chromium.org/9452019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/docs')
-rw-r--r--chrome/common/extensions/docs/experimental.downloads.html757
-rw-r--r--chrome/common/extensions/docs/experimental.html4
-rw-r--r--chrome/common/extensions/docs/experimental.managedMode.html2
-rw-r--r--chrome/common/extensions/docs/js/api_page_generator.js6
-rw-r--r--chrome/common/extensions/docs/samples.html4
-rw-r--r--chrome/common/extensions/docs/samples.json4
-rw-r--r--chrome/common/extensions/docs/static/experimental.downloads.html31
-rw-r--r--chrome/common/extensions/docs/template/api_template.html34
-rw-r--r--chrome/common/extensions/docs/tts.html12
-rw-r--r--chrome/common/extensions/docs/ttsEngine.html12
10 files changed, 821 insertions, 45 deletions
diff --git a/chrome/common/extensions/docs/experimental.downloads.html b/chrome/common/extensions/docs/experimental.downloads.html
new file mode 100644
index 0000000..28d7440
--- /dev/null
+++ b/chrome/common/extensions/docs/experimental.downloads.html
@@ -0,0 +1,757 @@
+<!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="../../../../third_party/json_minify/minify-sans-regexp.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>
+ <meta name="description" content="Documentation for the chrome.experimental.downloads module, which is part of the Google Chrome extension APIs."><title>chrome.experimental.downloads - Google Chrome Extensions - Google Code</title></head>
+ <body> <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><option value="">Stable
+ </option><option value="beta">Beta
+ </option><option value="dev">Dev
+ </option><option value="trunk">Trunk
+ </option></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" -->
+ <!-- /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">
+ <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">
+ <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&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>
+ </tbody></table>
+ <div id="codesiteContent" class="">
+ <a id="gc-topnav-anchor"></a>
+ <div id="gc-topnav">
+ <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
+ <ul id="home" class="gc-topnav-tabs">
+ <li id="home_link">
+ <a href="index.html" title="Google Chrome Extensions home page">Home</a>
+ </li>
+ <li id="docs_link">
+ <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
+ </li>
+ <li id="faq_link">
+ <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
+ </li>
+ <li id="samples_link">
+ <a href="samples.html" title="Sample extensions (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">
+ <ul>
+ <li><a href="getstarted.html">Getting Started</a></li>
+ <li><a href="overview.html">Overview</a></li>
+ <li><a href="whats_new.html">What's New?</a></li>
+ <li><h2><a href="devguide.html">Developer's Guide</a></h2>
+ <ul>
+ <li>Browser UI
+ <ul>
+ <li><a href="browserAction.html">Browser Actions</a></li>
+ <li><a href="contextMenus.html">Context Menus</a></li>
+ <li><a href="notifications.html">Desktop Notifications</a></li>
+ <li><a href="omnibox.html">Omnibox</a></li>
+ <li><a href="options.html">Options Pages</a></li>
+ <li><a href="override.html">Override Pages</a></li>
+ <li><a href="pageAction.html">Page Actions</a></li>
+ </ul>
+ </li>
+ <li>Browser Interaction
+ <ul>
+ <li><a href="bookmarks.html">Bookmarks</a></li>
+ <li><a href="cookies.html">Cookies</a></li>
+ <li><a href="devtools.html">Developer Tools</a></li>
+ <li><a href="events.html">Events</a></li>
+ <li><a href="history.html">History</a></li>
+ <li><a href="management.html">Management</a></li>
+ <li><a href="tabs.html">Tabs</a></li>
+ <li><a href="windows.html">Windows</a></li>
+ </ul>
+ </li>
+ <li>Implementation
+ <ul>
+ <li><a href="a11y.html">Accessibility</a></li>
+ <li><a href="background_pages.html">Background Pages</a></li>
+ <li><a href="content_scripts.html">Content Scripts</a></li>
+ <li><a href="xhr.html">Cross-Origin XHR</a></li>
+ <li><a href="i18n.html">Internationalization</a></li>
+ <li><a href="messaging.html">Message Passing</a></li>
+ <li><a href="permissions.html">Optional Permissions</a></li>
+ <li><a href="npapi.html">NPAPI Plugins</a></li>
+ </ul>
+ </li>
+ <li>Finishing
+ <ul>
+ <li><a href="hosting.html">Hosting</a></li>
+ <li><a href="external_extensions.html">Other Deployment Options</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
+ <li><h2><a href="tutorials.html">Tutorials</a></h2>
+ <ul>
+ <li><a href="tut_debugging.html">Debugging</a></li>
+ <li><a href="tut_analytics.html">Google Analytics</a></li>
+ <li><a href="tut_oauth.html">OAuth</a></li>
+ </ul>
+ </li>
+ <li><h2>Reference</h2>
+ <ul>
+ <li>Formats
+ <ul>
+ <li><a href="manifest.html">Manifest Files</a></li>
+ <li><a href="match_patterns.html">Match Patterns</a></li>
+ </ul>
+ </li>
+ <li><a href="permission_warnings.html">Permission Warnings</a></li>
+ <li><a href="api_index.html">chrome.* APIs</a></li>
+ <li><a href="api_other.html">Other APIs</a></li>
+ </ul>
+ </li>
+ <li><h2><a href="samples.html">Samples</a></h2></li>
+ <div class="line"> </div>
+ <li><h2>More</h2>
+ <ul>
+ <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li>
+ <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
+ <li><a href="themes.html">Themes</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <script>
+ initToggles();
+ </script>
+ <div class="g-unit" id="gc-pagecontent">
+ <div id="pageTitle">
+ <h1 class="page_title">chrome.experimental.downloads</h1>
+ </div>
+ <!-- TABLE OF CONTENTS -->
+ <div id="toc">
+ <h2>Contents</h2>
+ <ol>
+ <li>
+ <a href="#manifest">Manifest</a>
+ <ol>
+ </ol>
+ </li><li>
+ <a href="#examples"> Examples </a>
+ <ol>
+ </ol>
+ </li>
+ <li>
+ <a href="#apiReference">API reference: chrome.experimental.downloads</a>
+ <ol>
+ <li>
+ <a href="#properties">Properties</a>
+ <ol>
+ <li>
+ <a href="#property-ERROR_GENERIC">ERROR_GENERIC</a>
+ </li><li>
+ <a href="#property-ERROR_INVALID_URL">ERROR_INVALID_URL</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <a href="#global-methods">Methods</a>
+ <ol>
+ <li>
+ <a href="#method-download">download</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <a href="#types">Types</a>
+ <ol>
+ <li>
+ <a href="#type-HttpHeaders">HttpHeaders</a>
+ <ol>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </div>
+ <!-- /TABLE OF CONTENTS -->
+ <!-- Standard content lead-in for experimental API pages -->
+ <p id="classSummary">
+ For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
+ </p>
+ <!-- STATIC CONTENT PLACEHOLDER -->
+ <div id="static"><p>The downloads API allows you to programmatically initiate downloads. In the
+future, you will also be able to monitor and manipulate downloads.</p>
+<h2 id="manifest">Manifest</h2>
+<p>The downloads API is currently experimental, so you must declare the
+"experimental" permission to use it. Also, you must specify the hostname of any
+URLs to be downloaded. For example:</p>
+<pre>{
+ "name": "Download Selected Links",
+ "description": "Select links on a page and download them.",
+ "version": "0.1",
+ "permissions": [
+ "experimental", "http://*/*", "https://*/*"
+ ]
+}</pre>
+<p>If the URL’s hostname is not specified in the permissions, then the
+chrome.extensions.lastError object will indicate that the extension does not
+have permission to access that hostname.
+<a href="#properties">downloads.ERROR_*</a> are some of the errors that may be
+returned.</p>
+<h2 id="examples"> Examples </h2>
+<p>You can find simple examples of using the downloads module in the
+<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/downloads/">examples/api/downloads</a>
+directory. For other examples and for help in viewing the source code, see
+<a href="samples.html">Samples</a>.</p>
+</div>
+ <!-- API PAGE -->
+ <div class="apiPage">
+ <a name="apiReference"></a>
+ <h2>API reference: chrome.experimental.downloads</h2>
+ <!-- PROPERTIES -->
+ <div class="apiGroup">
+ <a name="properties"></a>
+ <h3 id="properties">Properties</h3>
+ <div>
+ <a name="property-ERROR_GENERIC"></a>
+ <h4>ERROR_GENERIC</h4>
+ <div class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <span>chrome.experimental.downloads.</span><span>ERROR_GENERIC</span>
+ </div>
+ <div>
+ <dt>
+ <var>ERROR_GENERIC</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <code>"I'm afraid I can't do that."</code>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Generic error.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <a name="property-ERROR_INVALID_URL"></a>
+ <h4>ERROR_INVALID_URL</h4>
+ <div class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <span>chrome.experimental.downloads.</span><span>ERROR_INVALID_URL</span>
+ </div>
+ <div>
+ <dt>
+ <var>ERROR_INVALID_URL</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <code>"Invalid URL."</code>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>The URL was invalid.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div>
+ </div> <!-- /apiGroup -->
+ <!-- METHODS -->
+ <div id="methodsTemplate" class="apiGroup">
+ <a name="global-methods"></a>
+ <h3>Methods</h3>
+ <!-- iterates over all functions -->
+ <div class="apiItem">
+ <a name="method-download"></a> <!-- method-anchor -->
+ <h4>download</h4>
+ <div class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <span>chrome.experimental.downloads.download</span>(<span class="null"><span>object</span>
+ <var><span>options</span></var></span><span class="optional"><span>, </span><span>function</span>
+ <var><span>callback</span></var></span>)</div>
+ <div class="description">
+ <p>Download a URL. If the URL uses the HTTP[S] protocol, then the request will include all cookies currently set for its hostname. If the download started successfully, <code>callback</code> will be called with the new DownloadItem’s <code>downloadId</code>. If there was an error starting the download, then <code>callback</code> will be called with <code>downloadId=undefined</code> and <code>chrome.extension.lastError</code> will be set. If both <code>filename</code> and <code>saveAs</code> are specified, then the Save As dialog will be displayed, pre-populated with the specified <code>filename</code>.</p>
+ <!-- PARAMETERS -->
+ <h4>Parameters</h4>
+ <dl>
+ <div>
+ <div>
+ <dt>
+ <var>options</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <span>
+ <span>object</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd class="todo">
+ Undocumented.
+ </dd>
+ <!-- OBJECT PROPERTIES -->
+ <dd>
+ <dl>
+ <div>
+ <div>
+ <dt>
+ <var>url</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>The URL to download.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>filename</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>A file path relative to the Downloads directory to contain the downloaded file.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>saveAs</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>boolean</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Use a file-chooser to allow the user to select a filename.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>method</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span class="enum">enumerated</span>
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ <span>["GET", "POST"]</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>The HTTP method to use if the URL uses the HTTP[S] protocol.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>headers</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <a href="webRequest.html#type-HttpHeaders">HttpHeaders</a>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Extra HTTP headers to send with the request if the URL uses the HTTP[s] protocol, restricted to those allowed by XMLHttpRequest.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>body</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>post body</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div>
+ </dl>
+ </dd>
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>callback</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>function</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd class="todo">
+ Undocumented.
+ </dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div>
+ </dl>
+ <!-- RETURNS -->
+ <dl>
+ </dl>
+ <!-- CALLBACK -->
+ <div>
+ <div>
+ <h4>Callback function</h4>
+ <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>integer downloadId</span>) <span class="subdued">{...}</span>;</pre>
+ <dl>
+ <div>
+ <div>
+ <dt>
+ <var>downloadId</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <span>
+ <span>integer</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>If not null, the identifier of the resulting Download Item.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div>
+ </dl>
+ </div>
+ </div>
+ <!-- MIN_VERSION -->
+ </div> <!-- /description -->
+ </div> <!-- /apiItem -->
+ </div> <!-- /apiGroup -->
+ <!-- EVENTS -->
+ <!-- /apiGroup -->
+ <!-- TYPES -->
+ <div class="apiGroup">
+ <a name="types"></a>
+ <h3 id="types">Types</h3>
+ <!-- iterates over all types -->
+ <div class="apiItem">
+ <a name="type-HttpHeaders"></a>
+ <h4>HttpHeaders</h4>
+ <div>
+ <dt>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <span>
+ <span>
+ array of <span><span>
+ <span>
+ <span>object</span>
+ </span>
+ </span></span>
+ </span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>An array of HTTP headers. Each header is represented as a dictionary containing the keys <code>name</code> and either <code>value</code> or <code>binaryValue</code>.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <dd>
+ <dl>
+ <div>
+ <div>
+ <dt>
+ <var>name</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Name of the HTTP header.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>value</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>string</span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Value of the HTTP header if it can be represented by UTF-8.</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div><div>
+ <div>
+ <dt>
+ <var>binaryValue</var>
+ <em>
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <span>
+ array of <span><span>
+ <span>
+ <span>integer</span>
+ </span>
+ </span></span>
+ </span>
+ </span>
+ </span>
+ )
+ </div>
+ </em>
+ </dt>
+ <dd>Value of the HTTP header if it cannot be represented by UTF-8, stored as individual byte values (0..255).</dd>
+ <!-- OBJECT PROPERTIES -->
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </div>
+ </div>
+ </dl>
+ </dd>
+ <!-- OBJECT METHODS -->
+ <!-- OBJECT EVENT FIELDS -->
+ <!-- FUNCTION PARAMETERS -->
+ </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>
+ ©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 -->
+</body></html>
diff --git a/chrome/common/extensions/docs/experimental.html b/chrome/common/extensions/docs/experimental.html
index 5703a4a..881f110 100644
--- a/chrome/common/extensions/docs/experimental.html
+++ b/chrome/common/extensions/docs/experimental.html
@@ -240,11 +240,13 @@ on the following experimental APIs:
<a href="experimental.app.html">experimental.app</a></li><li>
<a href="experimental.devtools.audits.html">experimental.devtools.audits</a></li><li>
<a href="experimental.devtools.console.html">experimental.devtools.console</a></li><li>
+ <a href="experimental.downloads.html">experimental.downloads</a></li><li>
<a href="experimental.extension.html">experimental.extension</a></li><li>
<a href="experimental.infobars.html">experimental.infobars</a></li><li>
<a href="experimental.keybinding.html">experimental.keybinding</a></li><li>
<a href="experimental.managedMode.html">experimental.managedMode</a></li><li>
- <a href="experimental.speechInput.html">experimental.speechInput</a></li>
+ <a href="experimental.speechInput.html">experimental.speechInput</a></li><li>
+ <a href="experimental.webRequest.html">experimental.webRequest</a></li>
</ul>
<p>
Pay special attention to the following APIs,
diff --git a/chrome/common/extensions/docs/experimental.managedMode.html b/chrome/common/extensions/docs/experimental.managedMode.html
index f2c77168..34a850f 100644
--- a/chrome/common/extensions/docs/experimental.managedMode.html
+++ b/chrome/common/extensions/docs/experimental.managedMode.html
@@ -13,6 +13,8 @@
<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="../../../../third_party/json_minify/minify-sans-regexp.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>
diff --git a/chrome/common/extensions/docs/js/api_page_generator.js b/chrome/common/extensions/docs/js/api_page_generator.js
index 261fb39..6f93ae9 100644
--- a/chrome/common/extensions/docs/js/api_page_generator.js
+++ b/chrome/common/extensions/docs/js/api_page_generator.js
@@ -432,6 +432,12 @@ function selectCurrentPageOnLeftNav() {
* template
*/
+function filterDocumented(things) {
+ return !things ? [] : things.filter(function(thing) {
+ return !disableDocs(thing);
+ });
+}
+
function stableAPIs() {
return schema.filter(function(module) {
return !disableDocs(module) &&
diff --git a/chrome/common/extensions/docs/samples.html b/chrome/common/extensions/docs/samples.html
index 1016ba0..55a7b39 100644
--- a/chrome/common/extensions/docs/samples.html
+++ b/chrome/common/extensions/docs/samples.html
@@ -215,7 +215,7 @@
"e1f97e61e28ff33131d66dd28a4ed70a77874a51": "CONTENT SETTINGS SHOWS THE CONTENT SETTINGS FOR THE CURRENT SITE. BROWSER_ACTION CONTENTSETTINGS TABS CHROME.TABS.GET",
"5d81304a17cf7ac2887484f730fbd2b01e51e166": "CONTEXT MENUS SAMPLE SHOWS SOME OF THE FEATURES OF THE CONTEXT MENUS API BACKGROUND_PAGE CONTEXTMENUS CHROME.CONTEXTMENUS.CREATE",
"4daa6becd0899a54776d9cf7f09613ed1a9f4d77": "COOKIE API TEST EXTENSION TESTING COOKIE API BACKGROUND_PAGE BROWSER_ACTION COOKIES TABS CHROME.BROWSERACTION.ONCLICKED CHROME.COOKIES.GET CHROME.COOKIES.GETALL CHROME.COOKIES.ONCHANGED CHROME.COOKIES.REMOVE CHROME.EXTENSION.GETURL CHROME.TABS.CREATE CHROME.TABS.UPDATE CHROME.WINDOWS.GET CHROME.WINDOWS.GETALL",
- "9e4fd06300ee2b3a171e1f30d1b70f8f10152c2b": "DOWNLOAD SELECTED LINKS SELECT LINKS ON A PAGE AND DOWNLOAD THEM. BROWSER_ACTION EXPERIMENTAL TABS CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.WINDOWS.GET CHROME.WINDOWS.GETCURRENT",
+ "9e4fd06300ee2b3a171e1f30d1b70f8f10152c2b": "DOWNLOAD SELECTED LINKS SELECT LINKS ON A PAGE AND DOWNLOAD THEM. BROWSER_ACTION EXPERIMENTAL TABS CHROME.EXPERIMENTAL.DOWNLOADS.DOWNLOAD CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.WINDOWS.GET CHROME.WINDOWS.GETCURRENT",
"028eb5364924344029bcbe1d527f132fc72b34e5": "EMAIL THIS PAGE (BY GOOGLE) THIS EXTENSION ADDS AN EMAIL BUTTON TO THE TOOLBAR WHICH ALLOWS YOU TO EMAIL THE PAGE LINK USING YOUR DEFAULT MAIL CLIENT OR GMAIL. BACKGROUND_PAGE BROWSER_ACTION OPTIONS_PAGE TABS CHROME.BROWSERACTION.ONCLICKED CHROME.EXTENSION.CONNECT CHROME.EXTENSION.ONCONNECT CHROME.TABS.CREATE CHROME.TABS.EXECUTESCRIPT CHROME.TABS.UPDATE",
"763a08e9b06595d785568a8d392b95a2f3700258": "EVENT TRACKING WITH GOOGLE ANALYTICS A SAMPLE EXTENSION WHICH USES GOOGLE ANALYTICS TO TRACK USAGE. BROWSER_ACTION",
"4efa12eaaa442b6b7c880e7a38ceeb0cff7e8b77": "FIREPHP FOR CHROME EXTENDS THE DEVELOPER TOOLS, ADDING SUPPORT FOR PARSING FIREPHP MESSAGES FROM SERVER BACKGROUND_PAGE DEVTOOLS_PAGE TABS CHROME.DEVTOOLS.NETWORK.GETHAR CHROME.DEVTOOLS.NETWORK.ONREQUESTFINISHED CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT",
@@ -1254,6 +1254,8 @@
<div class="apicalls"><strong>Calls:</strong>
<ul>
<li>
+ <code><a href="experimental.downloads.html#method-download">chrome.experimental.downloads.download</a></code>
+ </li><li>
<code><a href="extension.html#event-onRequest">chrome.extension.onRequest</a></code>
</li><li>
<code><a href="extension.html#method-sendRequest">chrome.extension.sendRequest</a></code>
diff --git a/chrome/common/extensions/docs/samples.json b/chrome/common/extensions/docs/samples.json
index ca557df..a81b18a 100644
--- a/chrome/common/extensions/docs/samples.json
+++ b/chrome/common/extensions/docs/samples.json
@@ -68,6 +68,7 @@
"chrome.experimental.devtools.console.addMessage": "experimental.devtools.console.html#method-addMessage",
"chrome.experimental.devtools.console.getMessages": "experimental.devtools.console.html#method-getMessages",
"chrome.experimental.devtools.console.onMessageAdded": "experimental.devtools.console.html#event-onMessageAdded",
+ "chrome.experimental.downloads.download": "experimental.downloads.html#method-download",
"chrome.experimental.extension.onInstalled": "experimental.extension.html#event-onInstalled",
"chrome.experimental.fontSettings.getFontList": "experimental.fontSettings.html#method-getFontList",
"chrome.experimental.fontSettings.getFontName": "experimental.fontSettings.html#method-getFontName",
@@ -857,6 +858,7 @@
},
{
"api_calls": [
+ "chrome.experimental.downloads.download",
"chrome.extension.onRequest",
"chrome.extension.sendRequest",
"chrome.tabs.executeScript",
@@ -880,7 +882,7 @@
"http:\/\/",
"https:\/\/"
],
- "search_string": "DOWNLOAD SELECTED LINKS SELECT LINKS ON A PAGE AND DOWNLOAD THEM. BROWSER_ACTION EXPERIMENTAL TABS CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.WINDOWS.GET CHROME.WINDOWS.GETCURRENT",
+ "search_string": "DOWNLOAD SELECTED LINKS SELECT LINKS ON A PAGE AND DOWNLOAD THEM. BROWSER_ACTION EXPERIMENTAL TABS CHROME.EXPERIMENTAL.DOWNLOADS.DOWNLOAD CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.WINDOWS.GET CHROME.WINDOWS.GETCURRENT",
"source_files": [
"manifest.json",
"popup.html",
diff --git a/chrome/common/extensions/docs/static/experimental.downloads.html b/chrome/common/extensions/docs/static/experimental.downloads.html
new file mode 100644
index 0000000..dc9ab00
--- /dev/null
+++ b/chrome/common/extensions/docs/static/experimental.downloads.html
@@ -0,0 +1,31 @@
+<p>The downloads API allows you to programmatically initiate downloads. In the
+future, you will also be able to monitor and manipulate downloads.</p>
+
+<h2 id="manifest">Manifest</h2>
+
+<p>The downloads API is currently experimental, so you must declare the
+"experimental" permission to use it. Also, you must specify the hostname of any
+URLs to be downloaded. For example:</p>
+
+<pre>{
+ "name": "Download Selected Links",
+ "description": "Select links on a page and download them.",
+ "version": "0.1",
+ "permissions": [
+ "experimental", "http://*/*", "https://*/*"
+ ]
+}</pre>
+
+<p>If the URL’s hostname is not specified in the permissions, then the
+chrome.extensions.lastError object will indicate that the extension does not
+have permission to access that hostname.
+<a href="#properties">downloads.ERROR_*</a> are some of the errors that may be
+returned.</p>
+
+<h2 id="examples"> Examples </h2>
+
+<p>You can find simple examples of using the downloads module in the
+<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/downloads/">examples/api/downloads</a>
+directory. For other examples and for help in viewing the source code, see
+<a href="samples.html">Samples</a>.</p>
+
diff --git a/chrome/common/extensions/docs/template/api_template.html b/chrome/common/extensions/docs/template/api_template.html
index ee4afee..8e56a8d 100644
--- a/chrome/common/extensions/docs/template/api_template.html
+++ b/chrome/common/extensions/docs/template/api_template.html
@@ -83,14 +83,14 @@
<!-- OBJECT METHODS -->
<dd jsdisplay="$this.type === 'object' &&
- $this.functions && $this.functions.length > 0"
+ filterDocumented($this.functions).length > 0"
jsvalues="$scope:id">
<div transclude="methodsTemplate"></div>
</dd>
<!-- OBJECT EVENT FIELDS -->
<dd jsdisplay="$this.type === 'object' &&
- $this.events && $this.events.length > 0"
+ filterDocumented($this.events).length > 0"
jsvalues="$scope:id">
<div transclude="eventsTemplate"></div>
</dd>
@@ -125,33 +125,30 @@
</li>
</ol>
</li>
- <li id="methodsTocTemplate" jsdisplay="functions && functions.length > 0">
+ <li id="methodsTocTemplate" jsdisplay="filterDocumented(functions).length > 0">
<a jsvalues=".href:'#' + getAnchorName('global', 'methods', $type)">Methods</a>
<ol>
- <li jsselect="functions.sort(sortByName)"
- jsdisplay="!disableDocs($this)">
+ <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="events && events.length > 0">
+ <li id="eventsTocTemplate" jsdisplay="filterDocumented(events).length > 0">
<a jsvalues=".href:'#' + getAnchorName('global', 'events', $type)">Events</a>
<ol>
- <li jsselect="events.sort(sortByName)"
- jsdisplay="!disableDocs($this)">
+ <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="types && types.length > 0">
+ <li id="typesTocTemplate" jsdisplay="filterDocumented(types).length > 0">
<a href="#types">Types</a>
<ol>
- <li jsselect="types.sort(sortByName)"
- jsdisplay="!($this.nodoc)">
+ <li jsselect="filterDocumented(types).sort(sortByName)">
<a jscontent="id"
jsvalues=".href:'#type-' + id"
href="#id-anchor">id</a>
@@ -376,13 +373,12 @@
<!-- METHODS -->
<div id="methodsTemplate" class="apiGroup"
- jsdisplay="$this.functions && $this.functions.length > 0">
+ 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="functions.sort(sortByName)"
- jsdisplay="!disableDocs($this)">
+ <div class="apiItem" jsselect="filterDocumented(functions).sort(sortByName)">
<a jsvalues=".name:getAnchorName('method', name, $scope)"></a> <!-- method-anchor -->
<h4 jscontent="name">method name</h4>
@@ -454,12 +450,11 @@
<!-- EVENTS -->
<div id="eventsTemplate" class="apiGroup"
- jsdisplay="$this.events && $this.events.length > 0">
+ 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="$this.events.sort(sortByName)"
- jsdisplay="!disableDocs($this)">
+ <div class="apiItem" jsselect="filterDocumented($this.events).sort(sortByName)">
<a jsvalues=".name:getAnchorName('event', name, $scope)"></a>
<h4 jscontent="name">event name</h4>
@@ -511,13 +506,12 @@
</div> <!-- /apiGroup -->
<!-- TYPES -->
- <div jsdisplay="types && types.length > 0" class="apiGroup">
+ <div jsdisplay="filterDocumented(types).length > 0" class="apiGroup">
<a name="types"></a>
<h3 id="types">Types</h3>
<!-- iterates over all types -->
- <div jsselect="types.sort(sortByName)" jsdisplay="!($this.nodoc)"
- class="apiItem">
+ <div jsselect="filterDocumented(types).sort(sortByName)" class="apiItem">
<a jsvalues=".name:'type-' + id"></a>
<h4 jscontent="id">type name</h4>
diff --git a/chrome/common/extensions/docs/tts.html b/chrome/common/extensions/docs/tts.html
index ea8c791..01b3e25 100644
--- a/chrome/common/extensions/docs/tts.html
+++ b/chrome/common/extensions/docs/tts.html
@@ -230,11 +230,6 @@
</ol>
</li>
<li>
- <a href="#global-events">Events</a>
- <ol>
- </ol>
- </li>
- <li>
<a href="#types">Types</a>
<ol>
<li>
@@ -1030,12 +1025,7 @@ argument:</p>
</div> <!-- /apiItem -->
</div> <!-- /apiGroup -->
<!-- EVENTS -->
- <div id="eventsTemplate" class="apiGroup">
- <a name="global-events"></a>
- <h3>Events</h3>
- <!-- iterates over all events -->
- <!-- /apiItem -->
- </div> <!-- /apiGroup -->
+ <!-- /apiGroup -->
<!-- TYPES -->
<div class="apiGroup">
<a name="types"></a>
diff --git a/chrome/common/extensions/docs/ttsEngine.html b/chrome/common/extensions/docs/ttsEngine.html
index 1c293ea..b1bf42c 100644
--- a/chrome/common/extensions/docs/ttsEngine.html
+++ b/chrome/common/extensions/docs/ttsEngine.html
@@ -208,11 +208,6 @@
<a href="#apiReference">API reference: chrome.ttsEngine</a>
<ol>
<li>
- <a href="#global-methods">Methods</a>
- <ol>
- </ol>
- </li>
- <li>
<a href="#global-events">Events</a>
<ol>
<li>
@@ -364,12 +359,7 @@ dynamically decide whether to handle it.</p>
<!-- PROPERTIES -->
<!-- /apiGroup -->
<!-- METHODS -->
- <div id="methodsTemplate" class="apiGroup">
- <a name="global-methods"></a>
- <h3>Methods</h3>
- <!-- iterates over all functions -->
- <!-- /apiItem -->
- </div> <!-- /apiGroup -->
+ <!-- /apiGroup -->
<!-- EVENTS -->
<div id="eventsTemplate" class="apiGroup">
<a name="global-events"></a>