Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / resources / fetch-worker.js
1 self.onmessage = function(e) {
2     var message = e.data;
3     if ('port' in message) {
4         port = message.port;
5         doNextFetchTest(port);
6     }
7 };
8
9 var testTargets = [
10     'other.html',
11     'http://',
12     'http://www.example.com/foo',
13     'fetch-status.php?status=200',
14     'fetch-status.php?status=404'
15 ];
16
17 function doNextFetchTest(port) {
18     if (testTargets.length == 0) {
19         port.postMessage('quit');
20         // Destroying the execution context while fetch is happening should not cause a crash.
21         fetch('dummy.html').then(function() {}).catch(function() {});
22         self.close();
23         return;
24     }
25     var target = testTargets.shift();
26     fetch(target)
27     .then(function(response) {
28         port.postMessage('Resolved: ' + target + ' [' + response.status + ']' + response.statusText);
29         doNextFetchTest(port);
30     }).catch(function(e) {
31         port.postMessage('Rejected: ' + target + ' : '+ e.message);
32         doNextFetchTest(port);
33     });
34 };