Bug 1964075 - use the correct EventTarget when creating a MessageEvent, r=baku

Differential Revision: https://phabricator.services.mozilla.com/D248270
This commit is contained in:
Olli Pettay
2025-05-07 20:30:27 +00:00
committed by opettay@mozilla.com
parent ee3ece049c
commit fde50e8b1f
2 changed files with 11 additions and 10 deletions

View File

@@ -462,14 +462,16 @@ void Event::PreventDefault(JSContext* aCx, CallerType aCallerType) {
void Event::PreventDefaultInternal(bool aCalledByDefaultHandler, void Event::PreventDefaultInternal(bool aCalledByDefaultHandler,
nsIPrincipal* aPrincipal) { nsIPrincipal* aPrincipal) {
if (mEvent->mFlags.mInPassiveListener) { if (mEvent->mFlags.mInPassiveListener) {
if (nsPIDOMWindowInner* win = mOwner->GetAsInnerWindow()) { if (mOwner) {
if (Document* doc = win->GetExtantDoc()) { if (nsPIDOMWindowInner* win = mOwner->GetAsInnerWindow()) {
if (!doc->HasWarnedAbout( if (Document* doc = win->GetExtantDoc()) {
Document::ePreventDefaultFromPassiveListener)) { if (!doc->HasWarnedAbout(
AutoTArray<nsString, 1> params; Document::ePreventDefaultFromPassiveListener)) {
GetType(*params.AppendElement()); AutoTArray<nsString, 1> params;
doc->WarnOnceAbout(Document::ePreventDefaultFromPassiveListener, GetType(*params.AppendElement());
false, params); doc->WarnOnceAbout(Document::ePreventDefaultFromPassiveListener,
false, params);
}
} }
} }
} }

View File

@@ -119,8 +119,7 @@ class PostMessageRunnable final : public CancelableRunnable {
} }
// Create the event // Create the event
RefPtr<MessageEvent> event = RefPtr<MessageEvent> event = new MessageEvent(mPort, nullptr, nullptr);
new MessageEvent(mPort->GetOwnerWindow(), nullptr, nullptr);
Sequence<OwningNonNull<MessagePort>> ports; Sequence<OwningNonNull<MessagePort>> ports;
if (!mData->TakeTransferredPortsAsSequence(ports)) { if (!mData->TakeTransferredPortsAsSequence(ports)) {