blob: 8cde663339dc51421b727f3bdf12c8b173374afc [file] [log] [blame]
<!DOCTYPE html>
<title>MessagePort message events are trusted</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://html.spec.whatwg.org/multipage/comms.html#dom-messageport-postmessage">
<!-- See also:
- https://github.com/whatwg/html/issues/1602
- https://github.com/whatwg/html/pull/1935
-->
<script>
"use strict";
async_test(t => {
assert_true("MessageChannel" in self, "The browser must support MessageChannel");
const channel = new MessageChannel();
channel.port2.onmessage = t.step_func_done(e => {
assert_equals(e.isTrusted, true);
});
channel.port1.postMessage("ping");
}, "With a MessageChannel and its MessagePorts");
async_test(t => {
assert_true("BroadcastChannel" in self, "The browser must support BroadcastChannel");
const channel = new BroadcastChannel("channel name");
channel.onmessage = t.step_func_done(e => {
assert_equals(e.isTrusted, true);
});
new Worker("MessageEvent-trusted-worker.js");
}, "With a BroadcastChannel");
async_test(t => {
window.onmessage = t.step_func_done(e => {
assert_equals(e.isTrusted, true);
});
window.postMessage("ping", "*");
}, "With window");
</script>