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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/fetch-request-css-images.https.html

Issue 2415873002: Import w3c tests for the service workers (Closed)
Patch Set: Rebase Created 4 years, 2 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 <!DOCTYPE html>
2 <title>Service Worker: FetchEvent for css image</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5 <script src="resources/get-host-info.sub.js"></script>
6 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
7 <script>
8 var SCOPE = 'resources/fetch-request-resources-iframe.https.html';
9 var SCRIPT = 'resources/fetch-request-resources-worker.js';
10 var host_info = get_host_info();
11 var LOCAL_URL =
12 host_info['HTTPS_ORIGIN'] + base_path() + 'resources/dummy?test';
13 var REMOTE_URL =
14 host_info['HTTPS_REMOTE_ORIGIN'] + base_path() + 'resources/dummy?test';
15
16 function css_image_test(expected_results, frame, url, type,
17 expected_mode, expected_credentials) {
18 expected_results[url] = {
19 url: url,
20 mode: expected_mode,
21 credentials: expected_credentials,
22 message: 'CSSImage load (url:' + url + ' type:' + type + ')'
23 };
24 return frame.contentWindow.load_css_image(url, type);
25 }
26
27 function css_image_set_test(expected_results, frame, url, type,
28 expected_mode, expected_credentials) {
29 expected_results[url] = {
30 url: url,
31 mode: expected_mode,
32 credentials: expected_credentials,
33 message: 'CSSImageSet load (url:' + url + ' type:' + type + ')'
34 };
35 return frame.contentWindow.load_css_image_set(url, type);
36 }
37
38 function create_message_promise(t, expected_results, frame,
39 worker, test_count, scope) {
40 return new Promise(function(resolve) {
41 var channel = new MessageChannel();
42 channel.port1.onmessage = t.step_func(function(msg) {
43 if (msg.data.ready) {
44 resolve();
45 return;
46 }
47 var result = msg.data;
48 var expected = expected_results[result.url];
49 if (!expected) {
50 return;
51 }
52 assert_equals(
53 result.mode, expected.mode,
54 'mode of ' + expected.message + ' must be ' +
55 expected.mode + '.');
56 assert_equals(
57 result.credentials, expected.credentials,
58 'credentials of ' + expected.message + ' must be ' +
59 expected.credentials + '.');
60 --test_count;
61 delete expected_results[result.url];
62 if (test_count == 0) {
63 frame.remove();
64 service_worker_unregister_and_done(t, scope);
65 }
66 });
67 worker.postMessage(
68 {port: channel.port2}, [channel.port2]);
69 });
70 }
71
72 async_test(function(t) {
73 var scope = SCOPE + "?img=backgroundImage";
74 var test_count = 2;
75 var expected_results = {};
76 var worker;
77 var frame;
78 service_worker_unregister_and_register(t, SCRIPT, scope)
79 .then(function(registration) {
80 worker = registration.installing;
81 return wait_for_state(t, worker, 'activated');
82 })
83 .then(function() { return with_iframe(scope); })
84 .then(function(f) {
85 frame = f;
86 return create_message_promise(t, expected_results, frame,
87 worker, test_count, scope);
88 })
89 .then(function() {
90 css_image_test(expected_results, frame, LOCAL_URL + Date.now(),
91 'backgroundImage', 'no-cors', 'include');
92 css_image_test(expected_results, frame, REMOTE_URL + Date.now(),
93 'backgroundImage', 'no-cors', 'include');
94 })
95 .catch(unreached_rejection(t));
96 }, 'Verify FetchEvent for css image (backgroundImage).');
97
98 async_test(function(t) {
99 var scope = SCOPE + "?img=shapeOutside";
100 var test_count = 2;
101 var expected_results = {};
102 var worker;
103 var frame;
104 service_worker_unregister_and_register(t, SCRIPT, scope)
105 .then(function(registration) {
106 worker = registration.installing;
107 return wait_for_state(t, worker, 'activated');
108 })
109 .then(function() { return with_iframe(scope); })
110 .then(function(f) {
111 frame = f;
112 return create_message_promise(t, expected_results, frame,
113 worker, test_count, scope);
114 })
115 .then(function() {
116 css_image_test(expected_results, frame, LOCAL_URL + Date.now(),
117 'shapeOutside', 'cors', 'same-origin');
118 css_image_test(expected_results, frame, REMOTE_URL + Date.now(),
119 'shapeOutside', 'cors', 'same-origin');
120 })
121 .catch(unreached_rejection(t));
122 }, 'Verify FetchEvent for css image (shapeOutside).');
123
124 async_test(function(t) {
125 var scope = SCOPE + "?img_set=backgroundImage";
126 var test_count = 2;
127 var expected_results = {};
128 var worker;
129 var frame;
130 service_worker_unregister_and_register(t, SCRIPT, scope)
131 .then(function(registration) {
132 worker = registration.installing;
133 return wait_for_state(t, worker, 'activated');
134 })
135 .then(function() { return with_iframe(scope); })
136 .then(function(f) {
137 frame = f;
138 return create_message_promise(t, expected_results, frame,
139 worker, test_count, scope);
140 })
141 .then(function() {
142 css_image_set_test(expected_results, frame, LOCAL_URL + Date.now(),
143 'backgroundImage', 'no-cors', 'include');
144 css_image_set_test(expected_results, frame, REMOTE_URL + Date.now(),
145 'backgroundImage', 'no-cors', 'include');
146 })
147 .catch(unreached_rejection(t));
148 }, 'Verify FetchEvent for css image-set (backgroundImage).');
149
150 async_test(function(t) {
151 var scope = SCOPE + "?img_set=shapeOutside";
152 var test_count = 2;
153 var expected_results = {};
154 var worker;
155 var frame;
156 service_worker_unregister_and_register(t, SCRIPT, scope)
157 .then(function(registration) {
158 worker = registration.installing;
159 return wait_for_state(t, worker, 'activated');
160 })
161 .then(function() { return with_iframe(scope); })
162 .then(function(f) {
163 frame = f;
164 return create_message_promise(t, expected_results, frame,
165 worker, test_count, scope);
166 })
167 .then(function() {
168 css_image_set_test(expected_results, frame, LOCAL_URL + Date.now(),
169 'shapeOutside', 'cors', 'same-origin');
170 css_image_set_test(expected_results, frame, REMOTE_URL + Date.now(),
171 'shapeOutside', 'cors', 'same-origin');
172 })
173 .catch(unreached_rejection(t));
174 }, 'Verify FetchEvent for css image-set (shapeOutside).');
175
176 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698