diff options
Diffstat (limited to 'dom/events/EventListenerManager.cpp')
-rw-r--r-- | dom/events/EventListenerManager.cpp | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/dom/events/EventListenerManager.cpp b/dom/events/EventListenerManager.cpp index 269ccd9de7..72d4eb1b30 100644 --- a/dom/events/EventListenerManager.cpp +++ b/dom/events/EventListenerManager.cpp @@ -455,27 +455,6 @@ void EventListenerManager::AddEventListenerInternal( window->SetHasFormSelectEventListeners(); } break; - case eMarqueeStart: - if (nsPIDOMWindowInner* window = GetInnerWindowForTarget()) { - if (Document* doc = window->GetExtantDoc()) { - doc->SetUseCounter(eUseCounter_custom_onstart); - } - } - break; - case eMarqueeBounce: - if (nsPIDOMWindowInner* window = GetInnerWindowForTarget()) { - if (Document* doc = window->GetExtantDoc()) { - doc->SetUseCounter(eUseCounter_custom_onbounce); - } - } - break; - case eMarqueeFinish: - if (nsPIDOMWindowInner* window = GetInnerWindowForTarget()) { - if (Document* doc = window->GetExtantDoc()) { - doc->SetUseCounter(eUseCounter_custom_onfinish); - } - } - break; case eScrollPortOverflow: if (nsPIDOMWindowInner* window = GetInnerWindowForTarget()) { if (Document* doc = window->GetExtantDoc()) { @@ -608,18 +587,6 @@ void EventListenerManager::AddEventListenerInternal( nsPrintfCString("resolvedEventMessage=%s", ToChar(resolvedEventMessage)) .get()); - NS_ASSERTION(aTypeAtom != nsGkAtoms::onstart, - nsPrintfCString("resolvedEventMessage=%s", - ToChar(resolvedEventMessage)) - .get()); - NS_ASSERTION(aTypeAtom != nsGkAtoms::onbounce, - nsPrintfCString("resolvedEventMessage=%s", - ToChar(resolvedEventMessage)) - .get()); - NS_ASSERTION(aTypeAtom != nsGkAtoms::onfinish, - nsPrintfCString("resolvedEventMessage=%s", - ToChar(resolvedEventMessage)) - .get()); NS_ASSERTION(aTypeAtom != nsGkAtoms::onoverflow, nsPrintfCString("resolvedEventMessage=%s", ToChar(resolvedEventMessage)) @@ -1417,10 +1384,10 @@ already_AddRefed<nsPIDOMWindowInner> EventListenerManager::WindowFromListener( if (global) { innerWindow = global->GetAsInnerWindow(); // Can be nullptr } - } else { + } else if (mTarget) { // This ensures `window.event` can be set properly for // nsWindowRoot to handle KeyPress event. - if (aListener && aTypeAtom == nsGkAtoms::onkeypress && mTarget && + if (aListener && aTypeAtom == nsGkAtoms::onkeypress && mTarget->IsRootWindow()) { nsPIWindowRoot* root = mTarget->AsWindowRoot(); if (nsPIDOMWindowOuter* outerWindow = root->GetWindow()) { @@ -1431,7 +1398,9 @@ already_AddRefed<nsPIDOMWindowInner> EventListenerManager::WindowFromListener( // listener->mListener.GetXPCOMCallback(). // In most cases, it would be the same as for // the target, so let's do that. - innerWindow = GetInnerWindowForTarget(); // Can be nullptr + if (nsIGlobalObject* global = mTarget->GetOwnerGlobal()) { + innerWindow = global->GetAsInnerWindow(); + } } } } |