summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions
diff options
context:
space:
mode:
authorkathyw@google.com <kathyw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-12 22:28:43 +0000
committerkathyw@google.com <kathyw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-12 22:28:43 +0000
commit3e7fdb8e84bebac34195fa298330cabdf383e26e (patch)
tree58a90be6ffff4801d341c1ef275d43c4d167eacd /chrome/common/extensions
parenta38f23d8ba893cef5cbada84ad1a2ec3eac463b3 (diff)
downloadchromium_src-3e7fdb8e84bebac34195fa298330cabdf383e26e.zip
chromium_src-3e7fdb8e84bebac34195fa298330cabdf383e26e.tar.gz
chromium_src-3e7fdb8e84bebac34195fa298330cabdf383e26e.tar.bz2
Minor copyedits.
BUG=none TEST=none TBR=aa Review URL: http://codereview.chromium.org/385077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31838 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions')
-rw-r--r--chrome/common/extensions/docs/content_scripts.html48
-rw-r--r--chrome/common/extensions/docs/devguide.html5
-rw-r--r--chrome/common/extensions/docs/faq.html410
-rw-r--r--chrome/common/extensions/docs/getstarted.html2
-rw-r--r--chrome/common/extensions/docs/index.html5
-rw-r--r--chrome/common/extensions/docs/samples.html2
-rw-r--r--chrome/common/extensions/docs/static/content_scripts.html49
-rw-r--r--chrome/common/extensions/docs/static/devguide.html5
-rw-r--r--chrome/common/extensions/docs/static/faq.html12
-rw-r--r--chrome/common/extensions/docs/static/getstarted.html2
-rw-r--r--chrome/common/extensions/docs/static/index.html3
-rw-r--r--chrome/common/extensions/docs/static/samples.html2
12 files changed, 490 insertions, 55 deletions
diff --git a/chrome/common/extensions/docs/content_scripts.html b/chrome/common/extensions/docs/content_scripts.html
index 93bbf81..52f3af3 100644
--- a/chrome/common/extensions/docs/content_scripts.html
+++ b/chrome/common/extensions/docs/content_scripts.html
@@ -297,18 +297,14 @@ learn about the
<p>Content scripts are registered in an extension's <a href="manifest.html">manifest.json</a> file, like so:
-</p><pre>{
- "name": "My First Extension",
- "version": "1.0",
- "description": "The first extension that I made.",
-<span style="background:yellow; font-weight:bold;"> "content_scripts": [
- {
- "matches": ["http://www.google.com/*"],
- "css": ["mystyles.css"],
- "js": ["jquery.js", "myscript.js"]
- }
- ]</span>
-}</pre>
+</p><pre>"content_scripts": [
+ {
+ "matches": ["http://www.google.com/*"],
+ "css": ["mystyles.css"],
+ "js": ["jquery.js", "myscript.js"]
+ }
+]
+</pre>
<p>An extension can contain any number of content scripts, and a content script can consist of any number of JavaScript or CSS files. The value of the <code>matches</code> property controls when the content script will run.
@@ -323,39 +319,43 @@ learn about the
<tr>
<td>matches</td>
<td>array of strings</td>
- <td>Required. Controls the pages this content script will be injected into.
+ <td><em>Required.</em>
+ Controls the pages this content script will be injected into.
See <a href="match_patterns.html">Match Patterns</a>
for more details on the syntax of these strings.</td>
</tr>
<tr>
<td>js</td>
<td><nobr>array of strings</nobr></td>
- <td>Optional. The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.</td>
+ <td><em>Optional.</em>
+ The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.</td>
</tr>
<tr>
<td>css</td>
<td>array of strings</td>
- <td>Optional. The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.</td>
+ <td><em>Optional.</em>
+ The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.</td>
</tr>
<tr>
<td>run_at</td>
<td>string</td>
- <td>Optional. Controls when the files in <code>js</code> are injected. Can be <code>"document_start"</code>, <code>"document_end"</code>, or <code>"document_idle"</code>. Defaults to <code>"document_idle"</code>.
-
+ <td><em>Optional.</em>
+ Controls when the files in <code>js</code> are injected. Can be <code>"document_start"</code>, <code>"document_end"</code>, or <code>"document_idle"</code>. Defaults to <code>"document_idle"</code>.
+
<br><br>
-
+
In the case of <code>"document_start"</code>, the files are injected after any files from <code>"css"</code>, but before any other DOM is constructed or any other script is run.
-
+
<br><br>
-
+
In the case of <code>"document_end"</code>, the files are injected immediately after the DOM is complete, but before subresources like images and frames have loaded.
-
+
<br><br>
-
+
In the case of <code>"document_idle"</code>, the browser chooses a time to inject scripts between <code>"document_end"</code> and immediately after the <code><a href="http://www.whatwg.org/specs/web-apps/current-work/#handler-onload">window.onload</a></code> event fires. The exact moment of injection depends on how complex the document is and how long it is taking to load, and is optimized for page load speed.
-
+
<br><br>
-
+
<b>NOTE:</b> In <code>document_idle</code>, content scripts may not necessarily receive the window.onload event, because they may run after it has
already fired. In most cases, listening for the onload event is unnecessary for content scripts running at <code>document_idle</code> because they are guaranteed to run after the DOM is complete. If your script definitely needs to run after <code>window.onload</code> you can check if it has already fired by using the <code><a href="http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate">document.readyState</a></code> property.</td>
</tr>
diff --git a/chrome/common/extensions/docs/devguide.html b/chrome/common/extensions/docs/devguide.html
index 1076f9d..1e86117 100644
--- a/chrome/common/extensions/docs/devguide.html
+++ b/chrome/common/extensions/docs/devguide.html
@@ -289,6 +289,11 @@ and <a href="overview.html">Overview</a>.
<td> Use XMLHttpRequest to send and receive data from remote servers </td>
</tr>
<tr>
+ <td> <a href="messaging.html">Message&nbsp;Passing</a> </td>
+ <td> Communicate from a content script to its parent extension,
+ or vice versa.</td>
+ </tr>
+ <tr>
<td> <a href="npapi.html">NPAPI&nbsp;Plugins</a> </td>
<td> Load native binary code </td>
</tr>
diff --git a/chrome/common/extensions/docs/faq.html b/chrome/common/extensions/docs/faq.html
new file mode 100644
index 0000000..b692232
--- /dev/null
+++ b/chrome/common/extensions/docs/faq.html
@@ -0,0 +1,410 @@
+<!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>
+ <title>FAQ</title></head><body> <div id="container">
+ <!-- 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 style="display:none">
+
+ <!-- VALUE -->
+ <div id="valueTemplate">
+ <dt>
+ <var>paramName</var>
+ <em>
+
+ <!-- TYPE -->
+ <div style="display:inline">
+ (
+ <span class="optional">optional</span>
+ <span id="typeTemplate">
+ <span>
+ <a> Type</a>
+ </span>
+ <span>
+ <span>
+ array of <span><span></span></span>
+ </span>
+ <span>paramType</span>
+ </span>
+ </span>
+ )
+ </div>
+
+ </em>
+ </dt>
+ <dd class="todo">
+ Undocumented.
+ </dd>
+ <dd>
+ Description of this parameter from the json schema.
+ </dd>
+
+ <!-- OBJECT PROPERTIES -->
+ <dd>
+ <dl>
+ <div>
+ <div>
+ </div>
+ </div>
+ </dl>
+ </dd>
+ </div> <!-- /VALUE -->
+
+ </div> <!-- /SUBTEMPLATES -->
+
+ <a name="top"> </a>
+ <!-- API HEADER -->
+ <div id="pageHeader">
+ <div id="searchbox">
+ <form action="http://www.google.com/cse" id="cse-search-box">
+ <div>
+ <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
+ <input type="hidden" name="ie" value="UTF-8">
+ <input type="text" name="q" size="31">
+ <input type="submit" name="sa" value="Search">
+ </div>
+ </form>
+
+ <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+ <script type="text/javascript">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"></script>
+ <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></script>
+ </div>
+ <div id="pageTitle">
+ <h1>FAQ</h1>
+ </div>
+ </div> <!-- /pageHeader -->
+
+ <div id="pageContent">
+ <!-- SIDENAV -->
+ <div id="leftNav">
+ <ul>
+ <li> <a href="index.html">Home</a></li>
+ <li> <a href="getstarted.html">Getting Started</a></li>
+ <li> <a href="overview.html">Overview</a></li>
+ <li> <a href="devguide.html"><div>Developer's Guide</div></a>
+ <ul>
+ <li> Browser UI
+ <ul>
+ <li><a href="browserAction.html">Browser Actions</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>
+ <li><a href="themes.html">Themes</a></li>
+ </ul>
+ </li>
+ <li> Browser Interaction
+ <ul>
+ <li><a href="bookmarks.html">Bookmarks</a></li>
+ <li><a href="events.html">Events</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="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="messaging.html">Message Passing</a></li>
+ <li><a href="npapi.html">NPAPI Plugins</a></li>
+ </ul>
+ </li>
+ <li> Finishing
+ <ul>
+ <li><a href="autoupdate.html">Autoupdating</a></li>
+ <li><a href="packaging.html">Packaging</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li><a href="tutorials.html"><div>Tutorials</div></a>
+ <ul>
+ <li><a href="tut_debugging.html">Debugging</a></li>
+ </ul>
+ </li>
+ <li>Reference
+ <ul>
+ <li> Formats
+ <ul>
+ <li><a href="manifest.html">Manifest Files</a></li>
+ <li><a href="match_patterns.html">Match Patterns</a></li>
+ <!-- <li>Packages (.crx)</li> -->
+ </ul>
+ </li>
+ <li> <a href="api_index.html">chrome.* APIs</a> </li>
+ <li> <a href="api_other.html">Other APIs</a> </li>
+ </ul>
+ </li>
+ <li><a href="samples.html">Samples</a></li>
+ </ul>
+ </div>
+
+ <div id="mainColumn">
+ <!-- TABLE OF CONTENTS -->
+ <div id="toc" style="display: none; ">
+ <p>Contents</p>
+ <ol>
+ <li>
+ <a>h2Name</a>
+ <ol>
+ <li>
+ <a>h3Name</a>
+ </li>
+ </ol>
+ </li>
+ <div>
+ <li>
+ <a href="#apiReference">API reference</a>
+ <ol>
+ <li>
+ <a href="#properties">Properties</a>
+ <ol>
+ <li>
+ <a href="#property-anchor">propertyName</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <a href="#methods">Methods</a>
+ <ol>
+ <li>
+ <a href="#method-anchor">methodName</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <a href="#events">Events</a>
+ <ol>
+ <li>
+ <a href="#event-anchor">eventName</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <a href="#types">Types</a>
+ <ol>
+ <li>
+ <a href="#id-anchor">id</a>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </div>
+ </ol>
+ </div>
+ <!-- /TABLE OF CONTENTS -->
+
+ <!-- STATIC CONTENT PLACEHOLDER -->
+ <div id="static"><div id="pageData-title" class="pageData">FAQ</div>
+
+<div class="comment">
+<!--
+<div id="pageData-showTOC" class="pageData">true</div>
+-->
+
+</div>
+
+<p>
+This page will give answers to frequently asked questions.
+</p>
+</div>
+
+ <!-- API PAGE -->
+ <div class="apiPage" style="display: none; ">
+ <a name="apiReference"></a>
+ <h2>API reference: chrome.apiname </h2>
+
+ <!-- PROPERTIES -->
+ <div class="apiGroup">
+ <a name="properties"></a>
+ <h3 id="properties">Properties</h3>
+
+ <div>
+ <a></a>
+ <h4>getLastError</h4>
+ <div class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <span>chrome.extension</span><span>lastError</span>
+ </div>
+ <div>
+ </div>
+ </div>
+
+ </div> <!-- /apiGroup -->
+
+ <!-- METHODS -->
+ <div class="apiGroup" id="methods">
+ <a name="methods"></a>
+ <h3>Methods</h3>
+
+ <!-- iterates over all functions -->
+ <div class="apiItem">
+ <a></a> <!-- method-anchor -->
+ <h4>method name</h4>
+
+ <div class="summary"><span>void</span>
+ <!-- Note: intentionally longer 80 columns -->
+ <span>chrome.module.methodName</span>(<span><span>, </span><span></span>
+ <var><span></span></var></span>)</div>
+
+ <div class="description">
+ <p class="todo">Undocumented.</p>
+ <p>
+ A description from the json schema def of the function goes here.
+ </p>
+
+ <!-- PARAMETERS -->
+ <h4>Parameters</h4>
+ <dl>
+ <div>
+ <div>
+ </div>
+ </div>
+ </dl>
+
+ <!-- RETURNS -->
+ <h4>Returns</h4>
+ <dl>
+ <div>
+ <div>
+ </div>
+ </div>
+ </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>Type param1, Type param2</span>) <span class="subdued">{...}</span>);</pre>
+ <dl>
+ <div>
+ <div>
+ </div>
+ </div>
+ </dl>
+ </div>
+ </div>
+
+ </div> <!-- /description -->
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ <!-- EVENTS -->
+ <div class="apiGroup">
+ <a name="events"></a>
+ <h3 id="events">Events</h3>
+
+ <!-- iterates over all events -->
+ <div class="apiItem">
+ <a></a>
+ <h4>event name</h4>
+
+ <div class="summary">
+ <!-- Note: intentionally longer 80 columns -->
+ <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>);
+ </div>
+
+ <div class="description">
+ <p class="todo">Undocumented.</p>
+ <p>
+ A description from the json schema def of the event goes here.
+ </p>
+
+ <!-- PARAMETERS -->
+ <h4>Parameters</h4>
+ <dl>
+ <div>
+ <div>
+ </div>
+ </div>
+ </dl>
+
+ </div> <!-- /decription -->
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ <!-- TYPES -->
+ <div class="apiGroup">
+ <a name="types.sort(sortByName)"></a>
+ <h3 id="types">Types</h3>
+
+ <!-- iterates over all types -->
+ <div class="apiItem">
+ <a></a>
+ <h4>type name</h4>
+
+ <div>
+ </div>
+
+ </div> <!-- /apiItem -->
+
+ </div> <!-- /apiGroup -->
+
+ </div> <!-- /apiPage -->
+ </div> <!-- /mainColumn -->
+ </div> <!-- /pageContent -->
+ <div id="pageFooter" --="">
+ <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>
+ ©2009 Google
+ </p>
+
+<!-- begin analytics -->
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
+<script src="http://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> <!-- /pageFooter -->
+ </div> <!-- /container -->
+</body></html>
+
diff --git a/chrome/common/extensions/docs/getstarted.html b/chrome/common/extensions/docs/getstarted.html
index 57c7ae6..9ff61ff 100644
--- a/chrome/common/extensions/docs/getstarted.html
+++ b/chrome/common/extensions/docs/getstarted.html
@@ -251,7 +251,7 @@ The button and page will look something like this:
<p>To develop extensions for Google Chrome,
you need to <a href="http://dev.chromium.org/getting-involved/dev-channel">subscribe
-to the dev or beta channel</a> of Google Chrome for Windows. Extensions aren't yet available in the stable channel.
+to the Dev or Beta channel</a> of Google Chrome for Windows. Extensions aren't yet available in the stable channel.
</p>
<p>
diff --git a/chrome/common/extensions/docs/index.html b/chrome/common/extensions/docs/index.html
index 8cc2bea..3ade9f6 100644
--- a/chrome/common/extensions/docs/index.html
+++ b/chrome/common/extensions/docs/index.html
@@ -296,7 +296,7 @@ Start with one of these sections:
<li>
<a href="overview.html">Overview</a>:
Learn about the fundamental design points of
- Google Chrome's extension system
+ the extension system
</li>
<li>
<a href="devguide.html">Developer's Guide</a>:
@@ -307,7 +307,8 @@ Start with one of these sections:
<p>
Also check out the discussion group:
<a href="http://groups.google.com/group/chromium-extensions">chromium-extensions</a>
-</p></div>
+</p>
+</div>
<!-- API PAGE -->
<div class="apiPage" style="display: none; ">
diff --git a/chrome/common/extensions/docs/samples.html b/chrome/common/extensions/docs/samples.html
index 4fdaebc..6582fa8 100644
--- a/chrome/common/extensions/docs/samples.html
+++ b/chrome/common/extensions/docs/samples.html
@@ -213,7 +213,7 @@
<!-- /TABLE OF CONTENTS -->
<!-- STATIC CONTENT PLACEHOLDER -->
- <div id="static"><p><b style="color:red">Note:</b> To run these samples, you need to be on the <a href="http://dev.chromium.org/getting-involved/dev-channel">dev or beta channel</a> of Google Chrome.
+ <div id="static"><p><b style="color:red">Note:</b> To run these samples, you need to be on the <a href="http://dev.chromium.org/getting-involved/dev-channel">Dev or Beta channel</a> of Google Chrome.
</p><h2>Google Mail Checker</h2>
diff --git a/chrome/common/extensions/docs/static/content_scripts.html b/chrome/common/extensions/docs/static/content_scripts.html
index 83a7e8e..26d83bb 100644
--- a/chrome/common/extensions/docs/static/content_scripts.html
+++ b/chrome/common/extensions/docs/static/content_scripts.html
@@ -61,18 +61,15 @@ learn about the
<p>Content scripts are registered in an extension's <a href="manifest.html">manifest.json</a> file, like so:
-<pre>{
- "name": "My First Extension",
- "version": "1.0",
- "description": "The first extension that I made.",
-<span style="background:yellow; font-weight:bold;"> "content_scripts": [
- {
- "matches": ["http://www.google.com/*"],
- "css": ["mystyles.css"],
- "js": ["jquery.js", "myscript.js"]
- }
- ]</span>
-}</pre>
+<pre>
+"content_scripts": [
+ {
+ "matches": ["http://www.google.com/*"],
+ "css": ["mystyles.css"],
+ "js": ["jquery.js", "myscript.js"]
+ }
+]
+</pre>
<p>An extension can contain any number of content scripts, and a content script can consist of any number of JavaScript or CSS files. The value of the <code>matches</code> property controls when the content script will run.
@@ -87,39 +84,43 @@ learn about the
<tr>
<td>matches</td>
<td>array of strings</td>
- <td>Required. Controls the pages this content script will be injected into.
+ <td><em>Required.</em>
+ Controls the pages this content script will be injected into.
See <a href="match_patterns.html">Match Patterns</a>
for more details on the syntax of these strings.</td>
</tr>
<tr>
<td>js</td>
<td><nobr>array of strings</nobr></td>
- <td>Optional. The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.</td>
+ <td><em>Optional.</em>
+ The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.</td>
</tr>
<tr>
<td>css</td>
<td>array of strings</td>
- <td>Optional. The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.</td>
+ <td><em>Optional.</em>
+ The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.</td>
</tr>
<tr>
<td>run_at</td>
<td>string</td>
- <td>Optional. Controls when the files in <code>js</code> are injected. Can be <code>"document_start"</code>, <code>"document_end"</code>, or <code>"document_idle"</code>. Defaults to <code>"document_idle"</code>.
-
+ <td><em>Optional.</em>
+ Controls when the files in <code>js</code> are injected. Can be <code>"document_start"</code>, <code>"document_end"</code>, or <code>"document_idle"</code>. Defaults to <code>"document_idle"</code>.
+
<br><br>
-
+
In the case of <code>"document_start"</code>, the files are injected after any files from <code>"css"</code>, but before any other DOM is constructed or any other script is run.
-
+
<br><br>
-
+
In the case of <code>"document_end"</code>, the files are injected immediately after the DOM is complete, but before subresources like images and frames have loaded.
-
+
<br><br>
-
+
In the case of <code>"document_idle"</code>, the browser chooses a time to inject scripts between <code>"document_end"</code> and immediately after the <code><a href="http://www.whatwg.org/specs/web-apps/current-work/#handler-onload">window.onload</a></code> event fires. The exact moment of injection depends on how complex the document is and how long it is taking to load, and is optimized for page load speed.
-
+
<br><br>
-
+
<b>NOTE:</b> In <code>document_idle</code>, content scripts may not necessarily receive the window.onload event, because they may run after it has
already fired. In most cases, listening for the onload event is unnecessary for content scripts running at <code>document_idle</code> because they are guaranteed to run after the DOM is complete. If your script definitely needs to run after <code>window.onload</code> you can check if it has already fired by using the <code><a href="http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate">document.readyState</a></code> property.</td>
</tr>
diff --git a/chrome/common/extensions/docs/static/devguide.html b/chrome/common/extensions/docs/static/devguide.html
index 3c35c75..ac30cc8 100644
--- a/chrome/common/extensions/docs/static/devguide.html
+++ b/chrome/common/extensions/docs/static/devguide.html
@@ -74,6 +74,11 @@ and <a href="overview.html">Overview</a>.
<td> Use XMLHttpRequest to send and receive data from remote servers </td>
</tr>
<tr>
+ <td> <a href="messaging.html">Message&nbsp;Passing</a> </td>
+ <td> Communicate from a content script to its parent extension,
+ or vice versa.</td>
+ </tr>
+ <tr>
<td> <a href="npapi.html">NPAPI&nbsp;Plugins</a> </td>
<td> Load native binary code </td>
</tr>
diff --git a/chrome/common/extensions/docs/static/faq.html b/chrome/common/extensions/docs/static/faq.html
new file mode 100644
index 0000000..8c8f88e
--- /dev/null
+++ b/chrome/common/extensions/docs/static/faq.html
@@ -0,0 +1,12 @@
+<div id="pageData-title" class="pageData">FAQ</div>
+
+<div class="comment">
+<!--
+<div id="pageData-showTOC" class="pageData">true</div>
+-->
+
+</div>
+
+<p>
+This page will give answers to frequently asked questions.
+</p>
diff --git a/chrome/common/extensions/docs/static/getstarted.html b/chrome/common/extensions/docs/static/getstarted.html
index 97a35b3..4391c15 100644
--- a/chrome/common/extensions/docs/static/getstarted.html
+++ b/chrome/common/extensions/docs/static/getstarted.html
@@ -17,7 +17,7 @@ The button and page will look something like this:
<p>To develop extensions for Google Chrome,
you need to <a href="http://dev.chromium.org/getting-involved/dev-channel">subscribe
-to the dev or beta channel</a> of Google Chrome for Windows. Extensions aren't yet available in the stable channel.
+to the Dev or Beta channel</a> of Google Chrome for Windows. Extensions aren't yet available in the stable channel.
</p>
<p>
diff --git a/chrome/common/extensions/docs/static/index.html b/chrome/common/extensions/docs/static/index.html
index 897aeb0..8eb0ab7 100644
--- a/chrome/common/extensions/docs/static/index.html
+++ b/chrome/common/extensions/docs/static/index.html
@@ -84,7 +84,7 @@ Start with one of these sections:
<li>
<a href="overview.html">Overview</a>:
Learn about the fundamental design points of
- Google Chrome's extension system
+ the extension system
</li>
<li>
<a href="devguide.html">Developer's Guide</a>:
@@ -95,3 +95,4 @@ Start with one of these sections:
<p>
Also check out the discussion group:
<a href="http://groups.google.com/group/chromium-extensions">chromium-extensions</a>
+</p>
diff --git a/chrome/common/extensions/docs/static/samples.html b/chrome/common/extensions/docs/static/samples.html
index 92a8faa..0a8e1de 100644
--- a/chrome/common/extensions/docs/static/samples.html
+++ b/chrome/common/extensions/docs/static/samples.html
@@ -1,4 +1,4 @@
-<p><b style="color:red">Note:</b> To run these samples, you need to be on the <a href="http://dev.chromium.org/getting-involved/dev-channel">dev or beta channel</a> of Google Chrome.
+<p><b style="color:red">Note:</b> To run these samples, you need to be on the <a href="http://dev.chromium.org/getting-involved/dev-channel">Dev or Beta channel</a> of Google Chrome.
<h2>Google Mail Checker</h2>