Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <h2 id="manifest">Manifest</h2> | 1 <h2 id="manifest">Manifest</h2> |
| 2 <p> | 2 <p> |
| 3 All <code>chrome.webNavigation</code> methods and events require you to declare | 3 All <code>chrome.webNavigation</code> methods and events require you to declare |
| 4 the "webNavigation" permission in the <a href="manifest">extension | 4 the "webNavigation" permission in the <a href="manifest">extension |
| 5 manifest</a>. | 5 manifest</a>. |
| 6 For example: | 6 For example: |
| 7 </p> | 7 </p> |
| 8 | 8 |
| 9 <pre data-filename="manifest.json"> | 9 <pre data-filename="manifest.json"> |
| 10 { | 10 { |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 96 It's important to note that some technical oddities in the OS's handling | 96 It's important to note that some technical oddities in the OS's handling |
| 97 of distinct Chrome processes can cause the clock to be skewed between the | 97 of distinct Chrome processes can cause the clock to be skewed between the |
| 98 browser itself and extension processes. That means that WebNavigation's events' | 98 browser itself and extension processes. That means that WebNavigation's events' |
| 99 <code>timeStamp</code> property is only guaranteed to be <i>internally</i> | 99 <code>timeStamp</code> property is only guaranteed to be <i>internally</i> |
| 100 consistent. Comparing one event to another event will give you the correct | 100 consistent. Comparing one event to another event will give you the correct |
| 101 offset between them, but comparing them to the current time inside the | 101 offset between them, but comparing them to the current time inside the |
| 102 extension (via <code>(new Date()).getTime()</code>, for instance) might give | 102 extension (via <code>(new Date()).getTime()</code>, for instance) might give |
| 103 unexpected results. | 103 unexpected results. |
| 104 </p> | 104 </p> |
| 105 | 105 |
| 106 <h2 id="frame_ids">A note about frame and process IDs</h2> | 106 <h2 id="frame_ids">A note about frame IDs</h2> |
| 107 <p> | 107 <p> |
| 108 Frames within a tab can be identified by a frame ID. The frame ID of the main | 108 Frames within a tab can be identified by a frame ID. The frame ID of the main |
| 109 frame is always 0, the ID of child frames is a positive number. Once a document | 109 frame is always 0, the ID of child frames is a positive number. Once a document |
|
Devlin
2015/10/30 01:49:39
If frame ID uniquely identifies the frame, it impl
battre
2015/11/02 13:54:57
So this is a non-backwards compatible change, righ
Devlin
2015/11/02 17:07:16
I don't think this should really be a problem. No
battre
2015/11/02 17:18:22
My concern was the "The frame ID of the main frame
Devlin
2015/11/02 17:28:47
Oh, whoops (yay for Monday mornings). Good point.
robwu
2015/11/02 19:08:34
Done. I waited with updating this section until th
battre
2015/11/03 09:07:19
My backwards compatibility concern is that in the
robwu
2015/11/03 10:03:02
frameId 0 is still the main frame. The semantics h
| |
| 110 is constructed in a frame, its frame ID remains constant during the lifetime of | 110 is constructed in a frame, its frame ID remains constant during the lifetime of |
| 111 the document. | 111 the document. |
| 112 </p> | 112 </p> |
| 113 <p> | 113 <p> |
| 114 Due to the multi-process nature of Chrome, a tab might use different processes | |
| 115 to render the source and destination of a web page. Therefore, if a navigation | |
| 116 takes place in a new process, you might receive events both from the new and | |
| 117 the old page until the new navigation is committed (i.e. the | |
| 118 <code>onCommitted</code> event is send for the new main frame). Because frame | |
| 119 IDs are only unique for a given process, the webNavigation events include a | |
| 120 process ID, so you can still determine which frame a navigation came from. | |
| 121 </p> | |
| 122 <p> | |
| 123 Also note that during a provisional load the process might be switched several | 114 Also note that during a provisional load the process might be switched several |
| 124 times. This happens when the load is redirected to a different site. In this | 115 times. This happens when the load is redirected to a different site. In this |
| 125 case, you will receive repeated <code>onBeforeNavigate</code> and | 116 case, you will receive repeated <code>onBeforeNavigate</code> and |
| 126 <code>onErrorOccurred</code> events, until you receive the final | 117 <code>onErrorOccurred</code> events, until you receive the final |
| 127 <code>onCommitted</code> event. | 118 <code>onCommitted</code> event. |
| 128 </p> | 119 </p> |
| 129 | 120 |
| 130 <h2 id="transition_types">Transition types and qualifiers</h2> | 121 <h2 id="transition_types">Transition types and qualifiers</h2> |
| 131 <p> | 122 <p> |
| 132 The webNavigation API's <code>onCommitted</code> event has a | 123 The webNavigation API's <code>onCommitted</code> event has a |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 163 The user used the Forward or Back button to initiate the navigation. | 154 The user used the Forward or Back button to initiate the navigation. |
| 164 </td> | 155 </td> |
| 165 </tr> | 156 </tr> |
| 166 <tr> | 157 <tr> |
| 167 <td>"from_address_bar"</td> | 158 <td>"from_address_bar"</td> |
| 168 <td> | 159 <td> |
| 169 The user initiated the navigation from the address bar (aka Omnibox). | 160 The user initiated the navigation from the address bar (aka Omnibox). |
| 170 </td> | 161 </td> |
| 171 </tr> | 162 </tr> |
| 172 </table> | 163 </table> |
| OLD | NEW |