summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/worker-interception-iframe.https.html
blob: 12a461ea5db208998eaab447db88fc36428fa45d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<script src="../resources/get-host-info.sub.js"></script>
<script src="test-helpers.sub.js?pipe=sub"></script>
<script>
var host_info = get_host_info();

function boilerplate_test(msg) {
    return new Promise(function(resolve, reject) {
          var worker = new Worker("load_worker.js");
          worker.onmessage = function(e) { resolve(e.data) };
          worker.onerror = function(e) { reject(e) };
          worker.postMessage(msg);
        })
      .then(function(data) {
          window.parent.postMessage({results: data}, host_info['HTTPS_ORIGIN']);
        });
}

function xhr_test() {
    return boilerplate_test("xhr");
}

function fetch_test() {
    return boilerplate_test("fetch");
}

function importScripts_test() {
    return boilerplate_test("importScripts");
}

window.addEventListener('message', function(evt) {
    var port = evt.ports[0];
    xhr_test()
      .then(fetch_test)
      .then(importScripts_test)
      .then(function() { port.postMessage({results: 'finish'}); })
      .catch(function(e) { port.postMessage({results: 'failure:' + e}); });
  });

</script>