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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-request-resources.html

Issue 1853333005: Add layout tests to check Accept request header values observed by Service Worker Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
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 var url_count = 0; 8 var url_count = 0;
9 var expected_results = {}; 9 var expected_results = {};
10 10
11 // The `Accept` header value for images should be
12 // 'image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5' according to the spec
13 // https://fetch.spec.whatwg.org/#fetching.
14 var accept_image = 'image/webp,image/*,*/*;q=0.8';
nhiroki 2016/04/11 08:33:29 If there is a bug about lack of the "q=0.5" part,
15
11 function image_test(frame, url, cross_origin, 16 function image_test(frame, url, cross_origin,
12 expected_mode, expected_credentials) { 17 expected_mode, expected_credentials) {
13 var actual_url = url + (++url_count); 18 var actual_url = url + (++url_count);
14 expected_results[actual_url] = { 19 expected_results[actual_url] = {
15 mode: expected_mode, 20 mode: expected_mode,
16 credentials: expected_credentials, 21 credentials: expected_credentials,
17 redirect: 'follow', 22 redirect: 'follow',
23 accept: accept_image,
18 message: 'Image load (url:' + 24 message: 'Image load (url:' +
19 actual_url + ' cross_origin:' + cross_origin + ')' 25 actual_url + ' cross_origin:' + cross_origin + ')'
20 }; 26 };
21 return frame.contentWindow.load_image(actual_url, cross_origin); 27 return frame.contentWindow.load_image(actual_url, cross_origin);
22 } 28 }
23 29
24 function script_test(frame, url, cross_origin, 30 function script_test(frame, url, cross_origin,
25 expected_mode, expected_credentials) { 31 expected_mode, expected_credentials) {
26 var actual_url = url + (++url_count); 32 var actual_url = url + (++url_count);
27 expected_results[actual_url] = { 33 expected_results[actual_url] = {
28 mode: expected_mode, 34 mode: expected_mode,
29 credentials: expected_credentials, 35 credentials: expected_credentials,
30 redirect: 'follow', 36 redirect: 'follow',
37 accept: '*/*',
31 message: 'Script load (url:' + 38 message: 'Script load (url:' +
32 actual_url + ' cross_origin:' + cross_origin + ')' 39 actual_url + ' cross_origin:' + cross_origin + ')'
33 }; 40 };
34 return frame.contentWindow.load_script(actual_url, cross_origin); 41 return frame.contentWindow.load_script(actual_url, cross_origin);
35 } 42 }
36 43
37 function css_test(frame, url, cross_origin, 44 function css_test(frame, url, cross_origin,
38 expected_mode, expected_credentials) { 45 expected_mode, expected_credentials) {
39 var actual_url = url + (++url_count); 46 var actual_url = url + (++url_count);
40 expected_results[actual_url] = { 47 expected_results[actual_url] = {
41 mode: expected_mode, 48 mode: expected_mode,
42 credentials: expected_credentials, 49 credentials: expected_credentials,
43 redirect: 'follow', 50 redirect: 'follow',
51 accept: 'text/css,*/*;q=0.1',
44 message: 'CSS load (url:' + 52 message: 'CSS load (url:' +
45 actual_url + ' cross_origin:' + cross_origin + ')' 53 actual_url + ' cross_origin:' + cross_origin + ')'
46 }; 54 };
47 return frame.contentWindow.load_css(actual_url, cross_origin); 55 return frame.contentWindow.load_css(actual_url, cross_origin);
48 } 56 }
49 57
50 function font_face_test(frame, url, expected_mode, 58 function font_face_test(frame, url, expected_mode,
51 expected_credentials) { 59 expected_credentials) {
52 var actual_url = url + (++url_count); 60 var actual_url = url + (++url_count);
53 expected_results[actual_url] = { 61 expected_results[actual_url] = {
54 url: actual_url, 62 url: actual_url,
55 mode: expected_mode, 63 mode: expected_mode,
56 credentials: expected_credentials, 64 credentials: expected_credentials,
57 redirect: 'follow', 65 redirect: 'follow',
66 accept: '*/*',
58 message: 'FontFace load (url:' + actual_url + ')' 67 message: 'FontFace load (url:' + actual_url + ')'
59 }; 68 };
60 return frame.contentWindow.load_font(actual_url); 69 return frame.contentWindow.load_font(actual_url);
61 } 70 }
62 71
63 function css_image_test(frame, url, type, 72 function css_image_test(frame, url, type,
64 expected_mode, expected_credentials) { 73 expected_mode, expected_credentials) {
65 var actual_url = url + (++url_count); 74 var actual_url = url + (++url_count);
66 expected_results[actual_url] = { 75 expected_results[actual_url] = {
67 url: actual_url, 76 url: actual_url,
68 mode: expected_mode, 77 mode: expected_mode,
69 credentials: expected_credentials, 78 credentials: expected_credentials,
70 redirect: 'follow', 79 redirect: 'follow',
80 accept: accept_image,
71 message: 'CSSImage load (url:' + actual_url + ' type:' + type + ')' 81 message: 'CSSImage load (url:' + actual_url + ' type:' + type + ')'
72 }; 82 };
73 return frame.contentWindow.load_css_image(actual_url, type); 83 return frame.contentWindow.load_css_image(actual_url, type);
74 } 84 }
75 85
76 function css_image_set_test(frame, url, type, 86 function css_image_set_test(frame, url, type,
77 expected_mode, expected_credentials) { 87 expected_mode, expected_credentials) {
78 var actual_url = url + (++url_count); 88 var actual_url = url + (++url_count);
79 expected_results[actual_url] = { 89 expected_results[actual_url] = {
80 url: actual_url, 90 url: actual_url,
81 mode: expected_mode, 91 mode: expected_mode,
82 credentials: expected_credentials, 92 credentials: expected_credentials,
83 redirect: 'follow', 93 redirect: 'follow',
94 accept: accept_image,
84 message: 'CSSImageSet load (url:' + actual_url + ' type:' + type + ')' 95 message: 'CSSImageSet load (url:' + actual_url + ' type:' + type + ')'
85 }; 96 };
86 return frame.contentWindow.load_css_image_set(actual_url, type); 97 return frame.contentWindow.load_css_image_set(actual_url, type);
87 } 98 }
88 99
89 function fetch_test(frame, url, mode, credentials, 100 function fetch_test(frame, url, mode, credentials,
90 expected_mode, expected_credentials) { 101 expected_mode, expected_credentials) {
91 var actual_url = url + (++url_count); 102 var actual_url = url + (++url_count);
92 expected_results[actual_url] = { 103 expected_results[actual_url] = {
93 mode: expected_mode, 104 mode: expected_mode,
94 credentials: expected_credentials, 105 credentials: expected_credentials,
95 redirect: 'follow', 106 redirect: 'follow',
107 accept: '*/*',
96 message: 'fetch (url:' + actual_url + ' mode:' + mode + ' credentials:' + 108 message: 'fetch (url:' + actual_url + ' mode:' + mode + ' credentials:' +
97 credentials + ')' 109 credentials + ')'
98 }; 110 };
99 return frame.contentWindow.fetch( 111 return frame.contentWindow.fetch(
100 new Request(actual_url, {mode: mode, credentials: credentials})); 112 new Request(actual_url, {mode: mode, credentials: credentials}));
101 } 113 }
102 114
103 function audio_test(frame, url, cross_origin, 115 function audio_test(frame, url, cross_origin,
104 expected_mode, expected_credentials) { 116 expected_mode, expected_credentials) {
105 var actual_url = url + (++url_count); 117 var actual_url = url + (++url_count);
106 expected_results[actual_url] = { 118 expected_results[actual_url] = {
107 mode: expected_mode, 119 mode: expected_mode,
108 credentials: expected_credentials, 120 credentials: expected_credentials,
109 redirect: 'follow', 121 redirect: 'follow',
122 accept: '*/*',
110 message: 'Audio load (url:' + actual_url + ' cross_origin:' + 123 message: 'Audio load (url:' + actual_url + ' cross_origin:' +
111 cross_origin + ')' 124 cross_origin + ')'
112 }; 125 };
113 return frame.contentWindow.load_audio(actual_url, cross_origin); 126 return frame.contentWindow.load_audio(actual_url, cross_origin);
114 } 127 }
115 128
116 async_test(function(t) { 129 async_test(function(t) {
117 var SCOPE = 'resources/fetch-request-resources-iframe.html'; 130 var SCOPE = 'resources/fetch-request-resources-iframe.html';
118 var SCRIPT = 'resources/fetch-request-resources-worker.js'; 131 var SCRIPT = 'resources/fetch-request-resources-worker.js';
119 var host_info = get_host_info(); 132 var host_info = get_host_info();
(...skipping 26 matching lines...) Expand all
146 'mode of ' + expected.message + ' must be ' + 159 'mode of ' + expected.message + ' must be ' +
147 expected.mode + '.'); 160 expected.mode + '.');
148 assert_equals( 161 assert_equals(
149 result.credentials, expected.credentials, 162 result.credentials, expected.credentials,
150 'credentials of ' + expected.message + ' must be ' + 163 'credentials of ' + expected.message + ' must be ' +
151 expected.credentials + '.'); 164 expected.credentials + '.');
152 assert_equals( 165 assert_equals(
153 result.redirect, expected.redirect, 166 result.redirect, expected.redirect,
154 'redirect mode of ' + expected.message + ' must be ' + 167 'redirect mode of ' + expected.message + ' must be ' +
155 expected.redirect + '.'); 168 expected.redirect + '.');
169 assert_equals(
170 result.accept, expected.accept,
171 '`Accept` header value of ' + expected.message + ' must be ' +
nhiroki 2016/04/11 08:33:29 Can you wrap this line at 80th column?
172 expected.accept + '.');
156 --url_count; 173 --url_count;
157 delete expected_results[result.url]; 174 delete expected_results[result.url];
158 if (url_count == 0) { 175 if (url_count == 0) {
159 frame.remove(); 176 frame.remove();
160 service_worker_unregister_and_done(t, SCOPE); 177 service_worker_unregister_and_done(t, SCOPE);
161 } 178 }
162 }); 179 });
163 worker.postMessage( 180 worker.postMessage(
164 {port: channel.port2}, [channel.port2]); 181 {port: channel.port2}, [channel.port2]);
165 }); 182 });
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 audio_test(f, LOCAL_URL, '', 'no-cors', 'include'); 244 audio_test(f, LOCAL_URL, '', 'no-cors', 'include');
228 audio_test(f, LOCAL_URL, 'anonymous', 'cors', 'same-origin'); 245 audio_test(f, LOCAL_URL, 'anonymous', 'cors', 'same-origin');
229 audio_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include'); 246 audio_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include');
230 audio_test(f, REMOTE_URL, '', 'no-cors', 'include'); 247 audio_test(f, REMOTE_URL, '', 'no-cors', 'include');
231 audio_test(f, REMOTE_URL, 'anonymous', 'cors', 'same-origin'); 248 audio_test(f, REMOTE_URL, 'anonymous', 'cors', 'same-origin');
232 audio_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include'); 249 audio_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include');
233 }) 250 })
234 .catch(unreached_rejection(t)); 251 .catch(unreached_rejection(t));
235 }, 'Verify FetchEvent for resources.'); 252 }, 'Verify FetchEvent for resources.');
236 </script> 253 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698