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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-matchall-client-types.https.html

Issue 2884843004: [ServiceWorker] Add wpt tests to verify Client.type as 'worker' (Closed)
Patch Set: Add assert_not_equals undefined Created 3 years, 6 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: Clients.matchAll with various clientTypes</title> 2 <title>Service Worker: Clients.matchAll with various clientTypes</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.sub.js"></script> 5 <script src="resources/test-helpers.sub.js"></script>
6 <script> 6 <script>
7 var scope = 'resources/clients-matchall-client-types'; 7 var scope = 'resources/clients-matchall-client-types';
8 var iframe_url = scope + '-iframe.html'; 8 var iframe_url = scope + '-iframe.html';
9 var shared_worker_url = scope + '-shared-worker.js'; 9 var shared_worker_url = scope + '-shared-worker.js';
10 var dedicated_worker_url = scope + '-dedicated-worker.js';
10 11
11 /* visibilityState, focused, url, type, frameType */ 12 /* visibilityState, focused, url, type, frameType */
12 var expected_only_window = [ 13 var expected_only_window = [
13 ['visible', true, new URL(iframe_url, location).href, 'window', 'nested'] 14 ['visible', true, new URL(iframe_url, location).href, 'window', 'nested']
14 ]; 15 ];
15 var expected_only_shared_worker = [ 16 var expected_only_shared_worker = [
16 [undefined, undefined, new URL(shared_worker_url, location).href, 'sharedwor ker', 'none'] 17 [undefined, undefined, new URL(shared_worker_url, location).href, 'sharedwor ker', 'none']
17 ]; 18 ];
18 var expected_window_and_shared_worker = [ 19 var expected_only_dedicated_worker = [
19 expected_only_window[0], expected_only_shared_worker[0] 20 [undefined, undefined, new URL(dedicated_worker_url, location).href, 'worker ', 'none']
21 ];
22 var expected_all_clients = [
23 expected_only_window[0], expected_only_shared_worker[0],
24 expected_only_dedicated_worker[0]
20 ]; 25 ];
21 26
22 function test_matchall(frame, expected, query_options) { 27 function test_matchall(frame, expected, query_options) {
23 // Make sure the frame gets focus. 28 // Make sure the frame gets focus.
24 frame.focus(); 29 frame.focus();
25 return new Promise(function(resolve, reject) { 30 return new Promise(function(resolve, reject) {
26 var channel = new MessageChannel(); 31 var channel = new MessageChannel();
27 channel.port1.onmessage = function(e) { resolve(e.data); }; 32 channel.port1.onmessage = function(e) { resolve(e.data); };
28 frame.contentWindow.navigator.serviceWorker.controller.postMessage( 33 frame.contentWindow.navigator.serviceWorker.controller.postMessage(
29 {port:channel.port2, options:query_options}, 34 {port:channel.port2, options:query_options},
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 }) 77 })
73 .then(function() { return with_iframe(iframe_url); }) 78 .then(function() { return with_iframe(iframe_url); })
74 .then(function(f) { 79 .then(function(f) {
75 frame = f; 80 frame = f;
76 return new Promise(function(resolve, reject) { 81 return new Promise(function(resolve, reject) {
77 var w = new SharedWorker(shared_worker_url); 82 var w = new SharedWorker(shared_worker_url);
78 w.port.onmessage = resolve; 83 w.port.onmessage = resolve;
79 }); 84 });
80 }) 85 })
81 .then(function() { 86 .then(function() {
87 return new Promise(function(resolve, reject) {
88 var w = new Worker(dedicated_worker_url);
89 w.onmessage = resolve;
90 w.postMessage('Start');
91 });
92 })
93 .then(function() {
82 return test_matchall(frame, expected_only_window, {}); 94 return test_matchall(frame, expected_only_window, {});
83 }) 95 })
84 .then(function() { 96 .then(function() {
85 return test_matchall(frame, expected_only_window, {type:'window'}); 97 return test_matchall(frame, expected_only_window, {type:'window'});
86 }) 98 })
87 .then(function() { 99 .then(function() {
88 return test_matchall(frame, expected_only_shared_worker, 100 return test_matchall(frame, expected_only_shared_worker,
89 {type:'sharedworker'}); 101 {type:'sharedworker'});
90 }) 102 })
91 .then(function() { 103 .then(function() {
92 return test_matchall(frame, expected_window_and_shared_worker, {type:' all'}); 104 return test_matchall(frame, expected_only_dedicated_worker,
105 {type:'worker'});
106 })
107 .then(function() {
108 return test_matchall(frame, expected_all_clients, {type:'all'});
93 }) 109 })
94 .then(function() { 110 .then(function() {
95 frame.remove(); 111 frame.remove();
96 return service_worker_unregister_and_done(t, scope); 112 return service_worker_unregister_and_done(t, scope);
97 }); 113 });
98 }, 'Verify matchAll() with window and sharedworker client types'); 114 }, 'Verify matchAll() with {window, sharedworker, worker} client types');
99 115
100 </script> 116 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698