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

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

Issue 10750017: Extensions Docs Server: Intro data source (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!-- BEGIN AUTHORED CONTENT -->
2 <p id="classSummary">
3 Use the <code>chrome.webNavigation</code> module to receive
4 notifications about the status of navigations requests in-flight.
5 </p>
6 <h2>Manifest</h2>
7 <p>
8 All <code>chrome.webNavigation</code> methods and events require you to declare
9 the "webNavigation" permission in the <a href="manifest.html">extension
10 manifest</a>.
11 For example:
12 </p>
13 <pre>{
14 "name": "My extension",
15 ...
16 <b>"permissions": [
17 "webNavigation"
18 ]</b>,
19 ...
20 }</pre>
21 <h2>Examples</h2>
22 <p>
23 You can find simple examples of using the tabs module in the
24 <a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extension s/docs/examples/api/webNavigation/">examples/api/webNavigation</a>
25 directory.
26 For other examples and for help in viewing the source code, see
27 <a href="samples.html">Samples</a>.
28 </p>
29 <h2>Event order</h2>
30 <p>
31 For a navigation that is successfully completed, events are fired in the
32 following order:
33 <pre>
34 onBeforeNavigate -&gt; onCommitted -&gt; onDOMContentLoaded -&gt; onCompleted
35 </pre>
36 </p>
37 <p>
38 Any error that occurs during the process results in an
39 <code>onErrorOccurred</code> event. For a specific navigation, there are no
40 further events fired after <code>onErrorOccurred</code>.
41 </p>
42 <p>
43 If a navigating frame contains subframes, its <code>onCommitted</code> is fired
44 before any of its children's <code>onBeforeNavigate</code>; while
45 <code>onCompleted</code> is fired after all of its children's
46 <code>onCompleted</code>.
47 </p>
48 <p>
49 If the reference fragment of a frame is changed, a
50 <code>onReferenceFragmentUpdated</code> event is fired. This event can fire any
51 time after <code>onDOMContentLoaded</code>, even after
52 <code>onCompleted</code>.
53 </p>
54 <h2>Relation to webRequest events</h2>
55 <p>
56 There is no defined ordering between events of the <a
57 href="webRequest.html">webRequest API</a> and the events of the
58 webNavigation API. It is possible that webRequest events are still received for
59 frames that already started a new navigation, or that a navigation only
60 proceeds after the network resources are already fully loaded.
61 </p>
62 <p>
63 In general, the webNavigation events are closely related to the navigation
64 state that is displayed in the UI, while the webRequest events correspond to
65 the state of the network stack which is generally opaque to the user.
66 </p>
67 <h2>A note about timestamps</h2>
68 <p>
69 It's important to note that some technical oddities in the OS's handling
70 of distinct Chrome processes can cause the clock to be skewed between the
71 browser itself and extension processes. That means that WebNavigation's events'
72 <code>timeStamp</code> property is only guaranteed to be <i>internally</i>
73 consistent. Comparing one event to another event will give you the correct
74 offset between them, but comparing them to the current time inside the
75 extension (via <code>(new Date()).getTime()</code>, for instance) might give
76 unexpected results.
77 </p>
78 <h2>Transition types and qualifiers</h2>
79 <p>
80 The webNavigation API's <code>onCommitted</code> event has a
81 <code>transitionType</code> and a <code>transitionQualifiers</code> property.
82 The <em>transition type</em> is the same as used in the <a
83 href="history.html#transition_types">history API</a> describing how the browser
84 navigated to this particular URL. In addition, several <em>transition
85 qualifiers</em> can be returned that further define the navigation.
86 </p>
87 <p>
88 The following transition qualifiers exist:
89 </p>
90 <table>
91 <tr>
92 <th> Transition qualifier </th> <th> Description </th>
93 </tr>
94 <tr>
95 <td>"client_redirect"</td>
96 <td>
97 One or more redirects caused by JavaScript or meta refresh tags on the page
98 happened during the navigation.
99 </td>
100 </tr>
101 <tr>
102 <td>"server_redirect"</td>
103 <td>
104 One or more redirects caused by HTTP headers sent from the server happened
105 during the navigation.
106 </td>
107 </tr>
108 <tr>
109 <td>"forward_back"</td>
110 <td>
111 The user used the Forward or Back button to initiate the navigation.
112 </td>
113 </tr>
114 <tr>
115 <td>"from_address_bar"</td>
116 <td>
117 The user initiated the navigation from the address bar (aka Omnibox).
118 </td>
119 </tr>
120 </table>
121 <!-- END AUTHORED CONTENT -->
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698