<!DOCTYPE html>

<link rel="author" href="mtrzos@google.com" title="Maciek Trzos">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/fetch/metadata/resources/helper.js></script>
<script src=/common/utils.js></script>
<script>
  let nonce = token();

  promise_test(t => {
    return new Promise((resolve, reject) => {
      let key = "worker-same-origin" + nonce;
      let w = new Worker("/fetch/metadata/resources/record-header.py?file=" + key);
      w.onmessage = e => {
        let expected = {"site":"same-origin", "user":"", "mode": "same-origin", "dest": "worker"};
        validate_expectations(key, expected)
          .then(_ => resolve())
          .catch(e => reject(e));
      };
    });
  }, "Same-Origin worker");
</script>
<body></body>
