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

Side by Side Diff: chrome/test/data/extensions/api_test/webrequest/events/test.html

Issue 6698009: Add request_id to HttpRequestInfo and pass it to the NetworkDelegate for events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test fixes Created 9 years, 9 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
1 <script> 1 <script>
2 var getURL = chrome.extension.getURL; 2 var getURL = chrome.extension.getURL;
3 var expectedEventData; 3 var expectedEventData;
4 var capturedEventData; 4 var capturedEventData;
5 var tabId;
6
7 // PORT will be changed to the port of the test server.
8 var URL_HTTP_SIMPLE_LOAD =
9 'http://www.a.com:PORT/files/extensions/api_test/webrequest/events/simpleLoa d/a.html';
10
11 function runTests(tests) {
12 chrome.tabs.getSelected(null, function(tab) {
13 tabId = tab.id;
14 chrome.test.getConfig(function(config) {
15 var fixPort = function(url) {
16 return url.replace(/PORT/, config.testServer.port);
17 };
18 URL_HTTP_SIMPLE_LOAD = fixPort(URL_HTTP_SIMPLE_LOAD);
19
20 chrome.test.runTests(tests);
21 });
22 });
23 }
5 24
6 function expect(data, filter, extraInfoSpec) { 25 function expect(data, filter, extraInfoSpec) {
7 expectedEventData = data; 26 expectedEventData = data;
8 capturedEventData = []; 27 capturedEventData = [];
9 removeListeners(); 28 removeListeners();
10 initListeners(filter, extraInfoSpec); 29 initListeners(filter, extraInfoSpec);
11 } 30 }
12 31
13 function checkExpectations() { 32 function checkExpectations() {
14 if (capturedEventData.length < expectedEventData.length) { 33 if (capturedEventData.length < expectedEventData.length) {
(...skipping 10 matching lines...) Expand all
25 capturedEventData.push([name, details]); 44 capturedEventData.push([name, details]);
26 checkExpectations(); 45 checkExpectations();
27 } 46 }
28 47
29 function initListeners(filter, extraInfoSpec) { 48 function initListeners(filter, extraInfoSpec) {
30 chrome.experimental.webRequest.onBeforeRequest.addListener( 49 chrome.experimental.webRequest.onBeforeRequest.addListener(
31 function(details) { 50 function(details) {
32 captureEvent("onBeforeRequest", details); 51 captureEvent("onBeforeRequest", details);
33 return {cancel: true}; // no effect unless event is blocking. 52 return {cancel: true}; // no effect unless event is blocking.
34 }, filter, extraInfoSpec); 53 }, filter, extraInfoSpec);
54 chrome.experimental.webRequest.onBeforeSendHeaders.addListener(
55 function(details) {
56 captureEvent("onBeforeSendHeaders", details);
57 return {cancel: true}; // no effect unless event is blocking.
58 }, filter, extraInfoSpec);
35 chrome.experimental.webRequest.onRequestSent.addListener( 59 chrome.experimental.webRequest.onRequestSent.addListener(
36 function(details) { 60 function(details) {
37 captureEvent("onRequestSent", details); 61 captureEvent("onRequestSent", details);
38 return {cancel: true}; 62 return {cancel: true};
39 }, filter, extraInfoSpec); 63 }, filter, extraInfoSpec);
40 chrome.experimental.webRequest.onHeadersReceived.addListener( 64 chrome.experimental.webRequest.onHeadersReceived.addListener(
41 function(details) { 65 function(details) {
42 captureEvent("onHeadersReceived", details); 66 captureEvent("onHeadersReceived", details);
43 return {cancel: true}; 67 return {cancel: true};
44 }, filter, extraInfoSpec); 68 }, filter, extraInfoSpec);
(...skipping 18 matching lines...) Expand all
63 function helper(event) { 87 function helper(event) {
64 // Note: We're poking at the internal event data, but it's easier than 88 // Note: We're poking at the internal event data, but it's easier than
65 // the alternative. If this starts failing, we just need to update this 89 // the alternative. If this starts failing, we just need to update this
66 // helper. 90 // helper.
67 for (var cb in event.callbackMap_) { 91 for (var cb in event.callbackMap_) {
68 event.removeListener(cb); 92 event.removeListener(cb);
69 } 93 }
70 chrome.test.assertEq(0, event.subEvents_.length); 94 chrome.test.assertEq(0, event.subEvents_.length);
71 } 95 }
72 helper(chrome.experimental.webRequest.onBeforeRequest); 96 helper(chrome.experimental.webRequest.onBeforeRequest);
97 helper(chrome.experimental.webRequest.onBeforeSendHeaders);
73 helper(chrome.experimental.webRequest.onRequestSent); 98 helper(chrome.experimental.webRequest.onRequestSent);
74 helper(chrome.experimental.webRequest.onHeadersReceived); 99 helper(chrome.experimental.webRequest.onHeadersReceived);
75 helper(chrome.experimental.webRequest.onBeforeRedirect); 100 helper(chrome.experimental.webRequest.onBeforeRedirect);
76 helper(chrome.experimental.webRequest.onCompleted); 101 helper(chrome.experimental.webRequest.onCompleted);
77 helper(chrome.experimental.webRequest.onErrorOccurred); 102 helper(chrome.experimental.webRequest.onErrorOccurred);
78 } 103 }
79 104
80 chrome.tabs.getSelected(null, function(tab) { 105 runTests([
81 var tabId = tab.id; 106 // Navigates to a blank page.
107 function simpleLoad() {
108 expect([
109 [ "onBeforeRequest",
110 {
111 method: "GET",
112 tabId: tabId,
113 type: "main_frame",
114 url: getURL("simpleLoad/a.html")
115 }
116 ],
117 ]);
118 chrome.tabs.update(tabId, { url: getURL("simpleLoad/a.html") });
119 },
82 120
83 chrome.test.runTests([ 121 // Navigates to a blank page via HTTP. Only HTTP requests get the
84 // Navigates to a blank page. 122 // onBeforeSendHeaders event.
85 function simpleLoad() { 123 function simpleLoadHttp() {
86 expect([ 124 expect([
87 [ "onBeforeRequest", 125 [ "onBeforeRequest",
88 { 126 {
89 method: "GET", 127 method: "GET",
90 tabId: tabId, 128 tabId: tabId,
91 type: "main_frame", 129 type: "main_frame",
92 url: getURL("simpleLoad/a.html") 130 url: URL_HTTP_SIMPLE_LOAD
93 } 131 }
94 ], 132 ],
95 ]); 133 [ "onBeforeSendHeaders",
96 chrome.tabs.update(tabId, { url: getURL("simpleLoad/a.html") }); 134 {
97 }, 135 url: URL_HTTP_SIMPLE_LOAD
136 }
137 ],
138 ], {types: ["main_frame"]}, []);
139 chrome.tabs.update(tabId, { url: URL_HTTP_SIMPLE_LOAD });
140 },
98 141
99 // Navigates to a page with subresources. 142 // Navigates to a page with subresources.
100 // TODO(mpcomplete): add multiple subresources; requires support for 143 // TODO(mpcomplete): add multiple subresources; requires support for
101 // recognizing partial ordering. 144 // recognizing partial ordering.
102 function complexLoad() { 145 function complexLoad() {
103 expect([ 146 expect([
104 [ "onBeforeRequest", 147 [ "onBeforeRequest",
105 { 148 {
106 method: "GET", 149 method: "GET",
107 tabId: tabId, 150 tabId: tabId,
108 type: "main_frame", 151 type: "main_frame",
109 url: getURL("complexLoad/a.html") 152 url: getURL("complexLoad/a.html")
110 } 153 }
111 ], 154 ],
112 [ "onBeforeRequest", 155 [ "onBeforeRequest",
113 { 156 {
114 method: "GET", 157 method: "GET",
115 tabId: tabId, 158 tabId: tabId,
116 type: "sub_frame", 159 type: "sub_frame",
117 url: getURL("complexLoad/b.html") 160 url: getURL("complexLoad/b.html")
118 } 161 }
119 ], 162 ],
120 [ "onBeforeRequest", 163 [ "onBeforeRequest",
121 { 164 {
122 method: "GET", 165 method: "GET",
123 tabId: tabId, 166 tabId: tabId,
124 type: "image", 167 type: "image",
125 url: getURL("complexLoad/b.jpg") 168 url: getURL("complexLoad/b.jpg")
126 } 169 }
127 ], 170 ],
128 ]); 171 ]);
129 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") }); 172 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") });
130 }, 173 },
131 174
132 // Navigates to a page with subresources, with a blocking handler that 175 // Navigates to a page with subresources, with a blocking handler that
133 // cancels the page request. The page will not load, and we should not 176 // cancels the page request. The page will not load, and we should not
134 // see the subresources. 177 // see the subresources.
135 function complexLoadBlocking() { 178 function complexLoadBlocking() {
136 expect([ 179 expect([
137 [ "onBeforeRequest", 180 [ "onBeforeRequest",
138 { 181 {
139 method: "GET", 182 method: "GET",
140 tabId: tabId, 183 tabId: tabId,
141 type: "main_frame", 184 type: "main_frame",
142 url: getURL("complexLoad/a.html") 185 url: getURL("complexLoad/a.html")
143 } 186 }
144 ] 187 ]
145 ], {}, ["blocking"]); 188 ], {}, ["blocking"]);
146 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") }); 189 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") });
147 }, 190 },
148 191
149 // Loads several resources, but should only see the complexLoad main_frame 192 // Loads several resources, but should only see the complexLoad main_frame
150 // and image due to the filter. 193 // and image due to the filter.
151 function complexLoadFiltered() { 194 function complexLoadFiltered() {
152 expect([ 195 expect([
153 [ "onBeforeRequest", 196 [ "onBeforeRequest",
154 { 197 {
155 method: "GET", 198 method: "GET",
156 tabId: tabId, 199 tabId: tabId,
157 type: "main_frame", 200 type: "main_frame",
158 url: getURL("complexLoad/a.html") 201 url: getURL("complexLoad/a.html")
159 } 202 }
160 ], 203 ],
161 [ "onBeforeRequest", 204 [ "onBeforeRequest",
162 { 205 {
163 method: "GET", 206 method: "GET",
164 tabId: tabId, 207 tabId: tabId,
165 type: "image", 208 type: "image",
166 url: getURL("complexLoad/b.jpg") 209 url: getURL("complexLoad/b.jpg")
167 } 210 }
168 ] 211 ]
169 ], {urls: [getURL("complexLoad/*")], 212 ], {urls: [getURL("complexLoad/*")],
170 types: ["main_frame", "image"], 213 types: ["main_frame", "image"],
171 tabId: tabId}, []); 214 tabId: tabId}, []);
172 chrome.tabs.create({ url: getURL("simpleLoad/a.html") }, 215 chrome.tabs.create({ url: getURL("simpleLoad/a.html") },
173 function(newTab) { 216 function(newTab) {
174 chrome.tabs.remove(newTab.id); 217 chrome.tabs.remove(newTab.id);
175 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") }); 218 chrome.tabs.update(tabId, { url: getURL("complexLoad/a.html") });
176 }); 219 });
177 }, 220 },
178 ]); 221 ]);
179 });
180 </script> 222 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698