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

Unified Diff: chrome/common/extensions/docs/server2/templates/private/webNavigation_intro.html

Issue 10700118: Extensions Docs Server: First doc conversions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added all APIs Created 8 years, 5 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/server2/templates/private/webNavigation_intro.html
diff --git a/chrome/common/extensions/docs/server2/templates/private/webNavigation_intro.html b/chrome/common/extensions/docs/server2/templates/private/webNavigation_intro.html
new file mode 100644
index 0000000000000000000000000000000000000000..063693f2e155601ec35b318e519ca4563a37ec42
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/templates/private/webNavigation_intro.html
@@ -0,0 +1,121 @@
+<!-- BEGIN AUTHORED CONTENT -->
+<p id="classSummary">
+Use the <code>chrome.webNavigation</code> module to receive
+notifications about the status of navigations requests in-flight.
+</p>
+<h2>Manifest</h2>
+<p>
+All <code>chrome.webNavigation</code> methods and events require you to declare
+the "webNavigation" permission in the <a href="manifest.html">extension
+manifest</a>.
+For example:
+</p>
+<pre>{
+ "name": "My extension",
+ ...
+ <b>"permissions": [
+ "webNavigation"
+ ]</b>,
+ ...
+}</pre>
+<h2>Examples</h2>
+<p>
+You can find simple examples of using the tabs module in the
+<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/webNavigation/">examples/api/webNavigation</a>
+directory.
+For other examples and for help in viewing the source code, see
+<a href="samples.html">Samples</a>.
+</p>
+<h2>Event order</h2>
+<p>
+For a navigation that is successfully completed, events are fired in the
+following order:
+<pre>
+onBeforeNavigate -&gt; onCommitted -&gt; onDOMContentLoaded -&gt; onCompleted
+</pre>
+</p>
+<p>
+Any error that occurs during the process results in an
+<code>onErrorOccurred</code> event. For a specific navigation, there are no
+further events fired after <code>onErrorOccurred</code>.
+</p>
+<p>
+If a navigating frame contains subframes, its <code>onCommitted</code> is fired
+before any of its children's <code>onBeforeNavigate</code>; while
+<code>onCompleted</code> is fired after all of its children's
+<code>onCompleted</code>.
+</p>
+<p>
+If the reference fragment of a frame is changed, a
+<code>onReferenceFragmentUpdated</code> event is fired. This event can fire any
+time after <code>onDOMContentLoaded</code>, even after
+<code>onCompleted</code>.
+</p>
+<h2>Relation to webRequest events</h2>
+<p>
+There is no defined ordering between events of the <a
+href="webRequest.html">webRequest API</a> and the events of the
+webNavigation API. It is possible that webRequest events are still received for
+frames that already started a new navigation, or that a navigation only
+proceeds after the network resources are already fully loaded.
+</p>
+<p>
+In general, the webNavigation events are closely related to the navigation
+state that is displayed in the UI, while the webRequest events correspond to
+the state of the network stack which is generally opaque to the user.
+</p>
+<h2>A note about timestamps</h2>
+<p>
+It's important to note that some technical oddities in the OS's handling
+of distinct Chrome processes can cause the clock to be skewed between the
+browser itself and extension processes. That means that WebNavigation's events'
+<code>timeStamp</code> property is only guaranteed to be <i>internally</i>
+consistent. Comparing one event to another event will give you the correct
+offset between them, but comparing them to the current time inside the
+extension (via <code>(new Date()).getTime()</code>, for instance) might give
+unexpected results.
+</p>
+<h2>Transition types and qualifiers</h2>
+<p>
+The webNavigation API's <code>onCommitted</code> event has a
+<code>transitionType</code> and a <code>transitionQualifiers</code> property.
+The <em>transition type</em> is the same as used in the <a
+href="history.html#transition_types">history API</a> describing how the browser
+navigated to this particular URL. In addition, several <em>transition
+qualifiers</em> can be returned that further define the navigation.
+</p>
+<p>
+The following transition qualifiers exist:
+</p>
+<table>
+<tr>
+ <th> Transition qualifier </th> <th> Description </th>
+</tr>
+<tr>
+ <td>"client_redirect"</td>
+ <td>
+ One or more redirects caused by JavaScript or meta refresh tags on the page
+ happened during the navigation.
+ </td>
+</tr>
+<tr>
+ <td>"server_redirect"</td>
+ <td>
+ One or more redirects caused by HTTP headers sent from the server happened
+ during the navigation.
+ </td>
+</tr>
+<tr>
+ <td>"forward_back"</td>
+ <td>
+ The user used the Forward or Back button to initiate the navigation.
+ </td>
+</tr>
+<tr>
+ <td>"from_address_bar"</td>
+ <td>
+ The user initiated the navigation from the address bar (aka Omnibox).
+ </td>
+</tr>
+</table>
+<!-- END AUTHORED CONTENT -->

Powered by Google App Engine
This is Rietveld 408576698