Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/test-helpers.js?pipe=sub"></script> | 5 <script src="resources/test-helpers.js?pipe=sub"></script> |
| 6 <script> | 6 <script> |
| 7 var url_count = 0; | 7 var url_count = 0; |
| 8 var expected_results = {}; | 8 var expected_results = {}; |
| 9 | 9 |
| 10 function image_test(frame, url, cross_origin, | 10 function image_test(frame, url, cross_origin, expected_context, |
| 11 expexted_mode, expected_credentials) { | 11 expexted_mode, expected_credentials) { |
| 12 var actual_url = url + (++url_count); | 12 var actual_url = url + (++url_count); |
| 13 expected_results[actual_url] = { | 13 expected_results[actual_url] = { |
| 14 cross_origin: cross_origin, | 14 cross_origin: cross_origin, |
| 15 context: expected_context, | |
| 15 mode: expexted_mode, | 16 mode: expexted_mode, |
| 16 credentials: expected_credentials, | 17 credentials: expected_credentials, |
| 17 message: 'Image load (url:' + | 18 message: 'Image load (url:' + |
| 18 actual_url + ' cross_origin:' + cross_origin + ')' | 19 actual_url + ' cross_origin:' + cross_origin + ')' |
| 19 }; | 20 }; |
| 20 return frame.contentWindow.load_image(actual_url, cross_origin); | 21 return frame.contentWindow.load_image(actual_url, cross_origin); |
| 21 } | 22 } |
| 22 | 23 |
| 23 function script_test(frame, url, cross_origin, | 24 function script_test(frame, url, cross_origin, expected_context, |
| 24 expexted_mode, expected_credentials) { | 25 expexted_mode, expected_credentials) { |
| 25 var actual_url = url + (++url_count); | 26 var actual_url = url + (++url_count); |
| 26 expected_results[actual_url] = { | 27 expected_results[actual_url] = { |
| 27 cross_origin: cross_origin, | 28 cross_origin: cross_origin, |
| 29 context: expected_context, | |
| 28 mode: expexted_mode, | 30 mode: expexted_mode, |
| 29 credentials: expected_credentials, | 31 credentials: expected_credentials, |
| 30 message: 'Script load (url:' + | 32 message: 'Script load (url:' + |
| 31 actual_url + ' cross_origin:' + cross_origin + ')' | 33 actual_url + ' cross_origin:' + cross_origin + ')' |
| 32 }; | 34 }; |
| 33 return frame.contentWindow.load_script(actual_url, cross_origin); | 35 return frame.contentWindow.load_script(actual_url, cross_origin); |
| 34 } | 36 } |
| 35 | 37 |
| 36 function css_test(frame, url, cross_origin, | 38 function css_test(frame, url, cross_origin, expected_context, |
| 37 expexted_mode, expected_credentials) { | 39 expexted_mode, expected_credentials) { |
| 38 var actual_url = url + (++url_count); | 40 var actual_url = url + (++url_count); |
| 39 expected_results[actual_url] = { | 41 expected_results[actual_url] = { |
| 40 cross_origin: cross_origin, | 42 cross_origin: cross_origin, |
| 43 context: expected_context, | |
| 41 mode: expexted_mode, | 44 mode: expexted_mode, |
| 42 credentials: expected_credentials, | 45 credentials: expected_credentials, |
| 43 message: 'CSS load (url:' + | 46 message: 'CSS load (url:' + |
| 44 actual_url + ' cross_origin:' + cross_origin + ')' | 47 actual_url + ' cross_origin:' + cross_origin + ')' |
| 45 }; | 48 }; |
| 46 return frame.contentWindow.load_css(actual_url, cross_origin); | 49 return frame.contentWindow.load_css(actual_url, cross_origin); |
| 47 } | 50 } |
| 48 | 51 |
| 49 function font_face_test(frame, url, expexted_mode, expected_credentials) { | 52 function font_face_test(frame, url, expected_context, expexted_mode, expected_cr edentials) { |
|
hiroshige
2015/04/09 17:43:21
nit: wrap to 80 columns.
shiva.jm
2015/04/10 09:27:10
Done.
| |
| 50 var actual_url = url + (++url_count); | 53 var actual_url = url + (++url_count); |
| 51 expected_results[actual_url] = { | 54 expected_results[actual_url] = { |
| 52 url: actual_url, | 55 url: actual_url, |
| 56 context: expected_context, | |
| 53 mode: expexted_mode, | 57 mode: expexted_mode, |
| 54 credentials: expected_credentials, | 58 credentials: expected_credentials, |
| 55 message: 'FontFace load (url:' + actual_url + ')' | 59 message: 'FontFace load (url:' + actual_url + ')' |
| 56 }; | 60 }; |
| 57 return frame.contentWindow.load_font(actual_url); | 61 return frame.contentWindow.load_font(actual_url); |
| 58 } | 62 } |
| 59 | 63 |
| 60 function css_image_test(frame, url, type, expexted_mode, expected_credentials) { | 64 function css_image_test(frame, url, type, expected_context, expexted_mode, expec ted_credentials) { |
|
hiroshige
2015/04/09 17:43:21
nit: wrap to 80 columns.
shiva.jm
2015/04/10 09:27:10
Done.
| |
| 61 var actual_url = url + (++url_count); | 65 var actual_url = url + (++url_count); |
| 62 expected_results[actual_url] = { | 66 expected_results[actual_url] = { |
| 63 url: actual_url, | 67 url: actual_url, |
| 68 context: expected_context, | |
| 64 mode: expexted_mode, | 69 mode: expexted_mode, |
| 65 credentials: expected_credentials, | 70 credentials: expected_credentials, |
| 66 message: 'CSSImage load (url:' + actual_url + ' type:' + type + ')' | 71 message: 'CSSImage load (url:' + actual_url + ' type:' + type + ')' |
| 67 }; | 72 }; |
| 68 return frame.contentWindow.load_css_image(actual_url, type); | 73 return frame.contentWindow.load_css_image(actual_url, type); |
| 69 } | 74 } |
| 70 | 75 |
| 71 function css_image_set_test(frame, url, type, | 76 function css_image_set_test(frame, url, type, expected_context, |
| 72 expexted_mode, expected_credentials) { | 77 expexted_mode, expected_credentials) { |
| 73 var actual_url = url + (++url_count); | 78 var actual_url = url + (++url_count); |
| 74 expected_results[actual_url] = { | 79 expected_results[actual_url] = { |
| 75 url: actual_url, | 80 url: actual_url, |
| 81 context: expected_context, | |
| 76 mode: expexted_mode, | 82 mode: expexted_mode, |
| 77 credentials: expected_credentials, | 83 credentials: expected_credentials, |
| 78 message: 'CSSImageSet load (url:' + actual_url + ' type:' + type + ')' | 84 message: 'CSSImageSet load (url:' + actual_url + ' type:' + type + ')' |
| 79 }; | 85 }; |
| 80 return frame.contentWindow.load_css_image_set(actual_url, type); | 86 return frame.contentWindow.load_css_image_set(actual_url, type); |
| 81 } | 87 } |
| 82 | 88 |
| 83 async_test(function(t) { | 89 async_test(function(t) { |
| 84 var SCOPE = 'resources/fetch-request-resources-iframe.html'; | 90 var SCOPE = 'resources/fetch-request-resources-iframe.html'; |
| 85 var SCRIPT = 'resources/fetch-request-resources-worker.js'; | 91 var SCRIPT = 'resources/fetch-request-resources-worker.js'; |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 102 if (msg.data.ready) { | 108 if (msg.data.ready) { |
| 103 resolve(); | 109 resolve(); |
| 104 return; | 110 return; |
| 105 } | 111 } |
| 106 var result = msg.data; | 112 var result = msg.data; |
| 107 var expected = expected_results[result.url]; | 113 var expected = expected_results[result.url]; |
| 108 if (!expected) { | 114 if (!expected) { |
| 109 return; | 115 return; |
| 110 } | 116 } |
| 111 assert_equals( | 117 assert_equals( |
| 118 result.context, expected.context, | |
| 119 'context of ' + expected.message + ' must be ' + | |
| 120 expected.context + '.'); | |
| 121 assert_equals( | |
| 112 result.mode, expected.mode, | 122 result.mode, expected.mode, |
| 113 'mode of ' + expected.message + ' must be ' + | 123 'mode of ' + expected.message + ' must be ' + |
| 114 expected.mode + '.'); | 124 expected.mode + '.'); |
| 115 assert_equals( | 125 assert_equals( |
| 116 result.credentials, expected.credentials, | 126 result.credentials, expected.credentials, |
| 117 'credentials of ' + expected.message + ' must be ' + | 127 'credentials of ' + expected.message + ' must be ' + |
| 118 expected.credentials + '.'); | 128 expected.credentials + '.'); |
| 119 --url_count; | 129 --url_count; |
| 120 delete expected_results[result.url]; | 130 delete expected_results[result.url]; |
| 121 if (url_count == 0) { | 131 if (url_count == 0) { |
| 122 frame.remove(); | 132 frame.remove(); |
| 123 service_worker_unregister_and_done(t, SCOPE); | 133 service_worker_unregister_and_done(t, SCOPE); |
| 124 } | 134 } |
| 125 }); | 135 }); |
| 126 worker.postMessage( | 136 worker.postMessage( |
| 127 {port: channel.port2}, [channel.port2]); | 137 {port: channel.port2}, [channel.port2]); |
| 128 }); | 138 }); |
| 129 }) | 139 }) |
| 130 .then(function() { return with_iframe(SCOPE); }) | 140 .then(function() { return with_iframe(SCOPE); }) |
| 131 .then(function(f) { | 141 .then(function(f) { |
| 132 frame = f; | 142 frame = f; |
| 133 image_test(f, LOCAL_URL, '', 'no-cors', 'same-origin'); | 143 image_test(f, LOCAL_URL, '', 'image', 'no-cors', 'same-origin'); |
| 134 image_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit'); | 144 image_test(f, LOCAL_URL, 'anonymous', 'image', 'cors', 'omit'); |
| 135 image_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include'); | 145 image_test(f, LOCAL_URL, 'use-credentials', 'image', 'cors', 'include'); |
| 136 image_test(f, REMOTE_URL, '', 'no-cors', 'same-origin'); | 146 image_test(f, REMOTE_URL, '', 'image', 'no-cors', 'same-origin'); |
| 137 image_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit'); | 147 image_test(f, REMOTE_URL, 'anonymous', 'image', 'cors', 'omit'); |
| 138 image_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include'); | 148 image_test(f, REMOTE_URL, 'use-credentials', 'image', 'cors', 'include') ; |
|
hiroshige
2015/04/09 17:43:21
nit: wrap to 80 columns (also some lines below).
shiva.jm
2015/04/10 09:27:10
Done.
| |
| 139 | 149 |
| 140 script_test(f, LOCAL_URL, '', 'no-cors', 'same-origin'); | 150 script_test(f, LOCAL_URL, '', 'script', 'no-cors', 'same-origin'); |
| 141 script_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit'); | 151 script_test(f, LOCAL_URL, 'anonymous', 'script', 'cors', 'omit'); |
| 142 script_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include'); | 152 script_test(f, LOCAL_URL, 'use-credentials', 'script', 'cors', 'include' ); |
| 143 script_test(f, REMOTE_URL, '', 'no-cors', 'same-origin'); | 153 script_test(f, REMOTE_URL, '', 'script', 'no-cors', 'same-origin'); |
| 144 script_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit'); | 154 script_test(f, REMOTE_URL, 'anonymous', 'script', 'cors', 'omit'); |
| 145 script_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include'); | 155 script_test(f, REMOTE_URL, 'use-credentials', 'script', 'cors', 'include '); |
| 146 | 156 |
| 147 css_test(f, LOCAL_URL, '', 'no-cors', 'same-origin'); | 157 css_test(f, LOCAL_URL, '', 'style', 'no-cors', 'same-origin'); |
| 148 css_test(f, LOCAL_URL, 'anonymous', 'cors', 'omit'); | 158 css_test(f, LOCAL_URL, 'anonymous', 'style', 'cors', 'omit'); |
| 149 css_test(f, LOCAL_URL, 'use-credentials', 'cors', 'include'); | 159 css_test(f, LOCAL_URL, 'use-credentials', 'style', 'cors', 'include'); |
| 150 css_test(f, REMOTE_URL, '', 'no-cors', 'same-origin'); | 160 css_test(f, REMOTE_URL, '', 'style', 'no-cors', 'same-origin'); |
| 151 css_test(f, REMOTE_URL, 'anonymous', 'cors', 'omit'); | 161 css_test(f, REMOTE_URL, 'anonymous', 'style', 'cors', 'omit'); |
| 152 css_test(f, REMOTE_URL, 'use-credentials', 'cors', 'include'); | 162 css_test(f, REMOTE_URL, 'use-credentials', 'style', 'cors', 'include'); |
| 153 | 163 |
| 154 font_face_test(f, LOCAL_URL, 'no-cors', 'same-origin'); | 164 font_face_test(f, LOCAL_URL, 'font', 'no-cors', 'same-origin'); |
| 155 font_face_test(f, REMOTE_URL, 'cors', 'omit'); | 165 font_face_test(f, REMOTE_URL, 'font', 'cors', 'omit'); |
| 156 | 166 |
| 157 css_image_test(f, LOCAL_URL, 'backgroundImage', | 167 css_image_test(f, LOCAL_URL, 'backgroundImage', 'image', |
| 158 'no-cors', 'same-origin'); | 168 'no-cors', 'same-origin'); |
| 159 css_image_test(f, REMOTE_URL, 'backgroundImage', | 169 css_image_test(f, REMOTE_URL, 'backgroundImage', 'image', |
| 160 'no-cors', 'same-origin'); | 170 'no-cors', 'same-origin'); |
| 161 css_image_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit'); | 171 css_image_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors', 'omit'); |
| 162 css_image_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit'); | 172 css_image_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors', 'omit'); |
| 163 | 173 |
| 164 css_image_set_test(f, LOCAL_URL, 'backgroundImage', | 174 css_image_set_test(f, LOCAL_URL, 'backgroundImage', 'image', |
| 165 'no-cors', 'same-origin'); | 175 'no-cors', 'same-origin'); |
| 166 css_image_set_test(f, REMOTE_URL, 'backgroundImage', | 176 css_image_set_test(f, REMOTE_URL, 'backgroundImage', 'image', |
| 167 'no-cors', 'same-origin'); | 177 'no-cors', 'same-origin'); |
| 168 css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'cors', 'omit'); | 178 css_image_set_test(f, LOCAL_URL, 'shapeOutside', 'image', 'cors', 'omit' ); |
| 169 css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'cors', 'omit'); | 179 css_image_set_test(f, REMOTE_URL, 'shapeOutside', 'image', 'cors', 'omit '); |
| 170 | 180 |
| 171 }) | 181 }) |
| 172 .catch(unreached_rejection(t)); | 182 .catch(unreached_rejection(t)); |
| 173 }, 'Verify FetchEvent for resources.'); | 183 }, 'Verify FetchEvent for resources.'); |
| 174 </script> | 184 </script> |
| OLD | NEW |