OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <title>Cache Storage: Verify that Window and Workers see same storage</title> | |
3 <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_
worker/#cache-storage"> | |
4 <script src="/resources/testharness.js"></script> | |
5 <script src="/resources/testharnessreport.js"></script> | |
6 <script> | |
7 | |
8 function wait_for_message(worker) { | |
9 return new Promise(function(resolve) { | |
10 worker.addEventListener('message', function listener(e) { | |
11 resolve(e.data); | |
12 worker.removeEventListener('message', listener); | |
13 }); | |
14 }); | |
15 } | |
16 | |
17 promise_test(function(t) { | |
18 var cache_name = 'common-test'; | |
19 return self.caches.delete(cache_name) | |
20 .then(function() { | |
21 var worker = new Worker('resources/common-worker.js'); | |
22 worker.postMessage({name: cache_name}); | |
23 return wait_for_message(worker); | |
24 }) | |
25 .then(function(message) { | |
26 return self.caches.open(cache_name); | |
27 }) | |
28 .then(function(cache) { | |
29 return Promise.all([ | |
30 cache.match('https://example.com/a'), | |
31 cache.match('https://example.com/b'), | |
32 cache.match('https://example.com/c') | |
33 ]); | |
34 }) | |
35 .then(function(responses) { | |
36 return Promise.all(responses.map( | |
37 function(response) { return response.text(); } | |
38 )); | |
39 }) | |
40 .then(function(bodies) { | |
41 assert_equals(bodies[0], 'a', | |
42 'Body should match response put by worker'); | |
43 assert_equals(bodies[1], 'b', | |
44 'Body should match response put by worker'); | |
45 assert_equals(bodies[2], 'c', | |
46 'Body should match response put by worker'); | |
47 }); | |
48 }, 'Window sees cache puts by Worker'); | |
49 | |
50 </script> | |
OLD | NEW |