diff --git a/Libraries/LibWeb/HTML/MessagePort.cpp b/Libraries/LibWeb/HTML/MessagePort.cpp index 195627c2354..cd528fe7440 100644 --- a/Libraries/LibWeb/HTML/MessagePort.cpp +++ b/Libraries/LibWeb/HTML/MessagePort.cpp @@ -408,7 +408,9 @@ void MessagePort::post_message_task_steps(SerializedTransferRecord& serialize_wi MessageEventInit event_init {}; event_init.data = message_clone; event_init.ports = move(new_ports); - message_event_target->dispatch_event(MessageEvent::create(target_realm, HTML::EventNames::message, event_init)); + auto event = MessageEvent::create(target_realm, HTML::EventNames::message, event_init); + event->set_is_trusted(true); + message_event_target->dispatch_event(event); } // https://html.spec.whatwg.org/multipage/web-messaging.html#dom-messageport-start diff --git a/Libraries/LibWeb/HTML/Window.cpp b/Libraries/LibWeb/HTML/Window.cpp index e2c0cf1e68c..f01436fdef9 100644 --- a/Libraries/LibWeb/HTML/Window.cpp +++ b/Libraries/LibWeb/HTML/Window.cpp @@ -1165,6 +1165,7 @@ WebIDL::ExceptionOr Window::window_post_message_steps(JS::Value message, W message_event_init.ports = move(new_ports); auto message_event = MessageEvent::create(target_realm, EventNames::message, message_event_init); + message_event->set_is_trusted(true); dispatch_event(message_event); })); diff --git a/Tests/LibWeb/Text/expected/HTML/MessagePort-MessageEvents-should-be-trusted.txt b/Tests/LibWeb/Text/expected/HTML/MessagePort-MessageEvents-should-be-trusted.txt new file mode 100644 index 00000000000..76cfc31b7ca --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/MessagePort-MessageEvents-should-be-trusted.txt @@ -0,0 +1,2 @@ +ping +pong diff --git a/Tests/LibWeb/Text/expected/HTML/Window-MessageEvents-should-be-trusted.txt b/Tests/LibWeb/Text/expected/HTML/Window-MessageEvents-should-be-trusted.txt new file mode 100644 index 00000000000..76cfc31b7ca --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/Window-MessageEvents-should-be-trusted.txt @@ -0,0 +1,2 @@ +ping +pong diff --git a/Tests/LibWeb/Text/input/HTML/MessagePort-MessageEvents-should-be-trusted.html b/Tests/LibWeb/Text/input/HTML/MessagePort-MessageEvents-should-be-trusted.html new file mode 100644 index 00000000000..8ceb4c7535c --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/MessagePort-MessageEvents-should-be-trusted.html @@ -0,0 +1,29 @@ + + + diff --git a/Tests/LibWeb/Text/input/HTML/Window-MessageEvents-should-be-trusted.html b/Tests/LibWeb/Text/input/HTML/Window-MessageEvents-should-be-trusted.html new file mode 100644 index 00000000000..2eb68de44fb --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/Window-MessageEvents-should-be-trusted.html @@ -0,0 +1,27 @@ + + +