<html>
<head>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
if (window.testRunner) {
    testRunner.setAllowFileAccessFromFileURLs(false);
}
</script>
</head>
<body>
<script>
async_test((test) => {
  window.onmessage = (e) => {
    if (e.data === 'DONE') {
      test.done();
      return;
    }
    assert_unreached(e.data);
  };
}, 'Test if file: origin is treate as (virtually) opaque.');
</script>
<iframe src="resources/xmlhttprequest-no-file-access-real.html"></iframe>
</body>
</html>
