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

Side by Side Diff: LayoutTests/http/tests/serviceworker/fetch-request-redirect.html

Issue 1293023003: Re-enable iframe load failure tests in fetch-request-redirect.html. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Service Worker: FetchEvent for resources</title> 2 <title>Service Worker: FetchEvent for resources</title>
3 <script src="../resources/testharness.js"></script> 3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script> 4 <script src="../resources/testharnessreport.js"></script>
5 <script src="../resources/get-host-info.js?pipe=sub"></script> 5 <script src="../resources/get-host-info.js?pipe=sub"></script>
6 <script src="resources/test-helpers.js"></script> 6 <script src="resources/test-helpers.js"></script>
7 <script> 7 <script>
8 8
9 function assert_resolves(promise, description) { 9 function assert_resolves(promise, description) {
10 return promise.catch(function(reason) { 10 return promise.catch(function(reason) {
11 throw new Error(description + ' - ' + reason.message); 11 throw new Error(description + ' - ' + reason.message);
12 }); 12 });
13 } 13 }
14 14
15 function assert_rejects(promise, description) { 15 function assert_rejects(promise, description) {
16 return promise.then( 16 return promise.then(
17 function() { throw new Error(description); }, 17 function() { throw new Error(description); },
18 function() {}); 18 function() {});
19 } 19 }
20 20
21 function iframe_test(url) { 21 function iframe_test(url, timeout_enabled) {
22 return new Promise(function(resolve, reject) { 22 return new Promise(function(resolve, reject) {
23 var frame = document.createElement('iframe'); 23 var frame = document.createElement('iframe');
24 frame.src = url; 24 frame.src = url;
25 if (timeout_enabled) {
26 // We can't catch the network error on iframe. So we use the timer for
27 // failure detection.
28 var timer = setTimeout(function() {
29 reject(new Error('iframe load timeout'));
30 frame.remove();
31 }, 1000);
32 }
25 frame.onload = function() { 33 frame.onload = function() {
34 if (timeout_enabled)
35 clearTimeout(timer);
26 if (frame.contentDocument.body.textContent == 'Hello world\n') 36 if (frame.contentDocument.body.textContent == 'Hello world\n')
27 resolve(); 37 resolve();
28 else 38 else
29 reject(new Error('content mismatch')); 39 reject(new Error('content mismatch'));
30 frame.remove(); 40 frame.remove();
31 }; 41 };
32 document.body.appendChild(frame); 42 document.body.appendChild(frame);
33 }); 43 });
34 } 44 }
35 45
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 'Normal iframe loading should succeed.'), 149 'Normal iframe loading should succeed.'),
140 assert_resolves( 150 assert_resolves(
141 iframe_test(REDIRECT_TO_HTML_URL), 151 iframe_test(REDIRECT_TO_HTML_URL),
142 'Normal redirected iframe loading should succeed.'), 152 'Normal redirected iframe loading should succeed.'),
143 assert_resolves( 153 assert_resolves(
144 iframe_test(SCOPE + '?url=' + 154 iframe_test(SCOPE + '?url=' +
145 encodeURIComponent(REDIRECT_TO_HTML_URL) + 155 encodeURIComponent(REDIRECT_TO_HTML_URL) +
146 '&redirect-mode=follow'), 156 '&redirect-mode=follow'),
147 'Redirected iframe loading with Request.redirect=follow should'+ 157 'Redirected iframe loading with Request.redirect=follow should'+
148 ' succeed.'), 158 ' succeed.'),
149
150 /*
151 TODO(horo): iframe load failure detection is unreliable.
152 Rework these. crbug.com/522587
153 assert_rejects( 159 assert_rejects(
154 iframe_test(SCOPE + '?url=' + 160 iframe_test(SCOPE + '?url=' +
155 encodeURIComponent(REDIRECT_TO_HTML_URL) + 161 encodeURIComponent(REDIRECT_TO_HTML_URL) +
156 '&redirect-mode=error'), 162 '&redirect-mode=error',
163 true /* timeout_enabled */),
157 'Redirected iframe loading with Request.redirect=error should '+ 164 'Redirected iframe loading with Request.redirect=error should '+
158 'fail.'), 165 'fail.'),
159 assert_resolves( 166 assert_resolves(
160 iframe_test(SCOPE + '?url=' + 167 iframe_test(SCOPE + '?url=' +
161 encodeURIComponent(REDIRECT_TO_HTML_URL) + 168 encodeURIComponent(REDIRECT_TO_HTML_URL) +
162 '&redirect-mode=manual'), 169 '&redirect-mode=manual',
170 true /* timeout_enabled */),
163 'Redirected iframe loading with Request.redirect=manual should'+ 171 'Redirected iframe loading with Request.redirect=manual should'+
164 ' succeed.'), 172 ' succeed.'),
165 */
166 ]); 173 ]);
167 }) 174 })
168 .then(function() { 175 .then(function() {
169 frame.remove(); 176 frame.remove();
170 service_worker_unregister_and_done(t, SCOPE); 177 service_worker_unregister_and_done(t, SCOPE);
171 }); 178 });
172 }, 'Verify redirect mode of Fetch API and ServiceWorker FetchEvent.'); 179 }, 'Verify redirect mode of Fetch API and ServiceWorker FetchEvent.');
173 </script> 180 </script>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698