<!DOCTYPE html>
<meta charset=utf-8>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

async_test(t => {
  function workerCode() {
    close();
    var blob = new Blob([123]);
    var fr = new FileReader();
    fr.readAsText(blob);
    fr.abort()
    fr.readAsArrayBuffer(blob);
    postMessage(true);
  }

  var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {type:"application/javascript"});

  var w = new Worker(URL.createObjectURL(workerBlob));
  w.onmessage = function(e) {
    assert_true(e.data, "FileReader created during worker shutdown.");
    t.done();
  }
}, 'FileReader created after a worker self.close()');

</script>
