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

Side by Side Diff: LayoutTests/http/tests/serviceworker/getregistrations.html

Issue 1311103002: ServiceWorker: Make APIs that return ServiceWorkerRegistration coin a new JS object (3/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: address review comments 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Service Worker: getRegistrations()</title> 2 <title>Service Worker: getRegistrations()</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/testharness-helpers.js"></script> 5 <script src="../resources/testharness-helpers.js"></script>
6 <script src="resources/test-helpers.js"></script> 6 <script src="resources/test-helpers.js"></script>
7 <script src="../resources/get-host-info.js"></script> 7 <script src="../resources/get-host-info.js"></script>
8 <script> 8 <script>
9 // Purge the existing registrations for the origin. 9 // Purge the existing registrations for the origin.
10 // getRegistrations() is used in order to avoid adding additional complexity 10 // getRegistrations() is used in order to avoid adding additional complexity
(...skipping 27 matching lines...) Expand all
38 promise_test(function(t) { 38 promise_test(function(t) {
39 var scope = 'resources/scope/getregistrations/normal'; 39 var scope = 'resources/scope/getregistrations/normal';
40 var script = 'resources/empty-worker.js'; 40 var script = 'resources/empty-worker.js';
41 var registrations = []; 41 var registrations = [];
42 return service_worker_unregister_and_register(t, script, scope) 42 return service_worker_unregister_and_register(t, script, scope)
43 .then(function(r) { 43 .then(function(r) {
44 registrations.push(r); 44 registrations.push(r);
45 return navigator.serviceWorker.getRegistrations(); 45 return navigator.serviceWorker.getRegistrations();
46 }) 46 })
47 .then(function(value) { 47 .then(function(value) {
48 assert_array_equals( 48 assert_registration_array_equals(
49 value, 49 value,
50 registrations, 50 registrations,
51 'getRegistrations should resolve with array of registrations.'); 51 'getRegistrations should resolve with array of registrations.');
52 return service_worker_unregister(t, scope); 52 return service_worker_unregister(t, scope);
53 }); 53 });
54 }, 'Register then getRegistrations'); 54 }, 'Register then getRegistrations');
55 55
56 promise_test(function(t) { 56 promise_test(function(t) {
57 var scope1 = 'resources/scope/getregistrations/scope1'; 57 var scope1 = 'resources/scope/getregistrations/scope1';
58 var scope2 = 'resources/scope/getregistrations/scope2'; 58 var scope2 = 'resources/scope/getregistrations/scope2';
59 var script = 'resources/empty-worker.js'; 59 var script = 'resources/empty-worker.js';
60 var registrations = []; 60 var registrations = [];
61 return service_worker_unregister_and_register(t, script, scope1) 61 return service_worker_unregister_and_register(t, script, scope1)
62 .then(function(r) { 62 .then(function(r) {
63 registrations.push(r); 63 registrations.push(r);
64 return service_worker_unregister_and_register(t, script, scope2); 64 return service_worker_unregister_and_register(t, script, scope2);
65 }) 65 })
66 .then(function(r) { 66 .then(function(r) {
67 registrations.push(r); 67 registrations.push(r);
68 return navigator.serviceWorker.getRegistrations(); 68 return navigator.serviceWorker.getRegistrations();
69 }) 69 })
70 .then(function(value) { 70 .then(function(value) {
71 assert_array_equals( 71 assert_registration_array_equals(
72 value, 72 value,
73 registrations, 73 registrations,
74 'getRegistrations should resolve with array of registrations.'); 74 'getRegistrations should resolve with array of registrations.');
75 return service_worker_unregister(t, scope1); 75 return service_worker_unregister(t, scope1);
76 }) 76 })
77 .then(function() { 77 .then(function() {
78 return service_worker_unregister(t, scope2); 78 return service_worker_unregister(t, scope2);
79 }); 79 });
80 }, 'Register multiple times then getRegistrations'); 80 }, 'Register multiple times then getRegistrations');
81 81
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 // Frame's registration is registered. 121 // Frame's registration is registered.
122 if (e.data == 'registered') { 122 if (e.data == 'registered') {
123 // Top-level window registers a registration scoped 123 // Top-level window registers a registration scoped
124 // http://127.0.0.1:8000/serviceworker/resources/scope-for-getregi strations. 124 // http://127.0.0.1:8000/serviceworker/resources/scope-for-getregi strations.
125 service_worker_unregister_and_register(t, script, scope) 125 service_worker_unregister_and_register(t, script, scope)
126 .then(function(r) { 126 .then(function(r) {
127 registrations.push(r); 127 registrations.push(r);
128 return navigator.serviceWorker.getRegistrations(); 128 return navigator.serviceWorker.getRegistrations();
129 }) 129 })
130 .then(function(value) { 130 .then(function(value) {
131 assert_array_equals(value, registrations, 131 assert_registration_array_equals(value, registrations,
132 'getRegistrations should return only the same origin ' + 132 'getRegistrations should return only the same origin ' +
133 'registrations.'); 133 'registrations.');
134 channel.port1.postMessage('unregister'); 134 channel.port1.postMessage('unregister');
135 }); 135 });
136 } else if (e.data == 'unregistered') { 136 } else if (e.data == 'unregistered') {
137 resolve(); 137 resolve();
138 } 138 }
139 }; 139 };
140 frame.contentWindow.postMessage('register', '*', [channel.port2]); 140 frame.contentWindow.postMessage('register', '*', [channel.port2]);
141 return p; 141 return p;
142 }) 142 })
143 .then(function() { 143 .then(function() {
144 frame.remove(); 144 frame.remove();
145 return service_worker_unregister(t, scope); 145 return service_worker_unregister(t, scope);
146 }); 146 });
147 }, 'getRegistrations promise resolves only with same origin registrations.'); 147 }, 'getRegistrations promise resolves only with same origin registrations.');
148 148
149 done(); 149 done();
150 </script> 150 </script>
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/serviceworker/getregistration.html ('k') | LayoutTests/http/tests/serviceworker/multiple-register.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698