diff --git a/dom/events/EventListenerManager.cpp b/dom/events/EventListenerManager.cpp index 25f8abad6148..74047b93ad5a 100644 --- a/dom/events/EventListenerManager.cpp +++ b/dom/events/EventListenerManager.cpp @@ -292,14 +292,11 @@ EventListenerManager::AddEventListenerInternal( nsContentUtils::LegacyIsCallerChromeOrNativeCode(); // Detect the type of event listener. - nsCOMPtr wjs; if (aFlags.mListenerIsJSListener) { MOZ_ASSERT(!aListenerHolder.HasWebIDLCallback()); listener->mListenerType = Listener::eJSEventListener; } else if (aListenerHolder.HasWebIDLCallback()) { listener->mListenerType = Listener::eWebIDLListener; - } else if ((wjs = do_QueryInterface(aListenerHolder.GetXPCOMCallback()))) { - listener->mListenerType = Listener::eWrappedJSListener; } else { listener->mListenerType = Listener::eNativeListener; } @@ -1715,8 +1712,6 @@ EventListenerManager::MarkForCC() if (typedHandler.HasEventHandler()) { typedHandler.Ptr()->MarkForCC(); } - } else if (listener.mListenerType == Listener::eWrappedJSListener) { - xpc_TryUnmarkWrappedGrayObject(listener.mListener.GetXPCOMCallback()); } else if (listener.mListenerType == Listener::eWebIDLListener) { listener.mListener.GetWebIDLCallback()->MarkForCC(); } diff --git a/dom/events/EventListenerManager.h b/dom/events/EventListenerManager.h index b0847055b86b..7ac5e0181ad1 100644 --- a/dom/events/EventListenerManager.h +++ b/dom/events/EventListenerManager.h @@ -189,10 +189,13 @@ public: enum ListenerType : uint8_t { + // No listener. eNoListener, + // A generic C++ implementation of nsIDOMEventListener. eNativeListener, + // An event handler attribute using JSEventHandler. eJSEventListener, - eWrappedJSListener, + // A scripted EventListener. eWebIDLListener, }; ListenerType mListenerType;