diff --git a/Libraries/LibWeb/HTML/MessagePort.cpp b/Libraries/LibWeb/HTML/MessagePort.cpp index 10b0b920277..fecaee14b52 100644 --- a/Libraries/LibWeb/HTML/MessagePort.cpp +++ b/Libraries/LibWeb/HTML/MessagePort.cpp @@ -454,6 +454,11 @@ GC::Ptr MessagePort::onmessageerror() void MessagePort::set_onmessage(GC::Ptr value) { set_event_handler_attribute(EventNames::message, value); + + // https://html.spec.whatwg.org/multipage/web-messaging.html#message-ports:handler-messageeventtarget-onmessage + // The first time a MessagePort object's onmessage IDL attribute is set, the port's port message queue must be enabled, + // as if the start() method had been called. + start(); } // https://html.spec.whatwg.org/multipage/web-messaging.html#handler-messageeventtarget-onmessage