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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-workers-navigation-preload.html

Issue 2620463002: Show service worker navigation preload requests in DevTools Network tab (Closed)
Patch Set: incorporated falken's comment Created 3 years, 11 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
OLDNEW
(Empty)
1 <html>
2 <head>
3 <script src="../inspector-test.js"></script>
4 <script src="service-workers-test.js"></script>
5 <script>
6
7 function initializeServiceWorker(script, scope) {
8 return navigator.serviceWorker.register(script, {scope: scope})
9 .then(reg => waitForActivated(reg.installing));
10 }
11
12 function waitForActivated(worker) {
13 if (worker.state === 'activated')
14 return Promise.resolve();
15 if (worker.state === 'redundant')
16 return Promise.reject(new Error('The worker is redundant'));
17 return new Promise(resolve => {
18 worker.addEventListener('statechange', _ => {
19 if (worker.state === 'activated')
20 resolve();
21 });
22 });
23 }
24
25 function loadIframe(url)
26 {
27 var callback;
28 var promise = new Promise((fulfill) => callback = fulfill);
29 var frame = document.createElement('iframe');
30 frame.src = url;
31 frame.onload = callback;
32 document.body.appendChild(frame);
33 return promise;
34 }
35
36 function test()
37 {
38 var scriptURL = "http://127.0.0.1:8000/inspector/service-workers/resources/n avigation-preload-worker.php";
39 var scope = "http://127.0.0.1:8000/inspector/service-workers/resources/navig ation-preload-scope.php";
40
41 InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype,
42 "navigationPreloadSent",
43 navigationPreloadSent,
44 true);
45 InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype,
46 "navigationPreloadResponseReceived",
47 navigationPreloadResponseReceived,
48 true);
49 InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype,
50 "navigationPreloadFailed",
51 navigationPreloadFailed,
52 true);
53 InspectorTest.addSniffer(SDK.NetworkDispatcher.prototype,
54 "navigationPreloadFinished",
55 navigationPreloadFinished,
56 true);
57
58 function navigationPreloadSent(requestId, url, timestamp, wallTime, initiato r)
59 {
60 InspectorTest.addResult("navigationPreloadSent:");
61 InspectorTest.addResult(" url: " + url);
62 InspectorTest.addResult(" initiator.type: " + initiator.type);
63 }
64 function navigationPreloadResponseReceived(requestId, timestamp, response)
65 {
66 InspectorTest.addResult("navigationPreloadResponseReceived:");
67 InspectorTest.addResult(" response.url: " + response.url);
68 InspectorTest.addResult(" response.timing available: " +
69 !!response.timing);
70 InspectorTest.addResult(" response.requestHeaders available: " +
71 !!response.requestHeaders);
72 if (response.requestHeaders) {
73 InspectorTest.addResult(
74 " response.requestHeaders['Service-Worker-Navigation-Preload']: " +
75 response.requestHeaders['Service-Worker-Navigation-Preload']);
76 }
77
78 }
79 function navigationPreloadFailed(requestId, timestamp, errorMessage)
80 {
81 InspectorTest.addResult("navigationPreloadFailed:");
82 InspectorTest.addResult(" errorMessage: " + errorMessage);
83 }
84 function navigationPreloadFinished(requestId, timestamp)
85 {
86 InspectorTest.addResult("navigationPreloadFinished:");
87 }
88
89 InspectorTest.callFunctionInPageAsync("initializeServiceWorker",
90 [ scriptURL, scope ])
91 .then(_ => {
92 InspectorTest.addResult("-----------------");
93 InspectorTest.addResult("Loading an iframe.");
94 return InspectorTest.callFunctionInPageAsync("loadIframe", [ scope ]);
95 })
96 .then(_ => {
97 InspectorTest.addResult("The iframe loaded.");
98 InspectorTest.addResult("-----------------");
99 InspectorTest.addResult("Loading another iframe.");
100 return InspectorTest.callFunctionInPageAsync(
101 "loadIframe", [ scope + "?BrokenCunked"]);
falken 2017/01/18 14:50:07 Chunked
horo 2017/01/19 09:57:09 Done.
102 })
103 .then(_ => {
104 InspectorTest.addResult("The iframe loaded.");
105 InspectorTest.addResult("-----------------");
106 InspectorTest.addResult("Loading another iframe.");
107 return InspectorTest.callFunctionInPageAsync(
108 "loadIframe", [ scope + "?RedirectError"]);
109 })
110 .then(_ => {
111 InspectorTest.addResult("The iframe loaded.");
112 InspectorTest.addResult("-----------------");
113 InspectorTest.addResult("Done");
114 InspectorTest.completeTest();
115 });
116 }
117
118 </script>
119 </head>
120 <body onload="runTest()">
121 <p>Tests the navigation request related events are available in the DevTools</p>
122 </body>
123 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698