<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
  let nextMessageEvent = new Promise((resolve, reject) => {
    window.addEventListener('message', e => resolve(e));
    window.addEventListener('messageerror', e => resolve(e));
  });
  let w = window.open('https://{{hosts[][]}}:{{ports[https][0]}}/webmessaging/resources/post-cryptokey-to-opener.html');
  try {
    let event = await nextMessageEvent;
    assert_equals(event.type, 'messageerror');
  } finally {
    w.close();
  }
}, "insecure context should not receive an object for secure contexts only");
</script>
</body>
