diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp index 3edcb39020..26c1025646 100644 --- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -7270,11 +7270,6 @@ nsDocument::GetEventTargetParent(EventChainPreVisitor& aVisitor) aVisitor.mCanHandle = true; // Middle/right click shouldn't dispatch click event, use auxclick to instead. Element* docElement = GetRootElement(); - if (docElement && docElement->IsXULElement()) { - // FIXME! This is a hack to make middle mouse paste working also in Editor. - // Bug 329119 - aVisitor.mForceContentDispatch = true; - } // Load events must not propagate to |window| object, see bug 335251. if (aVisitor.mEvent->mMessage != eLoad) { diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index a9a387e15c..943b501ef7 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -3544,12 +3544,6 @@ nsGlobalWindow::GetEventTargetParent(EventChainPreVisitor& aVisitor) EventMessage msg = aVisitor.mEvent->mMessage; aVisitor.mCanHandle = true; - // Middle/right click shouldn't dispatch click event, use auxclick to instead. - // Note: mDoc should always exist here, but check just in case someone yanked - // it out from under us. - if (mDoc && mDoc->IsXULDocument()) { - aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119 - } if (msg == eResize && aVisitor.mEvent->IsTrusted()) { // QIing to window so that we can keep the old behavior also in case // a child window is handling resize. diff --git a/dom/base/nsInProcessTabChildGlobal.cpp b/dom/base/nsInProcessTabChildGlobal.cpp index 8d94e4ead4..8e2b56feca 100644 --- a/dom/base/nsInProcessTabChildGlobal.cpp +++ b/dom/base/nsInProcessTabChildGlobal.cpp @@ -252,7 +252,6 @@ nsInProcessTabChildGlobal::GetOwnerContent() nsresult nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor) { - aVisitor.mForceContentDispatch = true; aVisitor.mCanHandle = true; #ifdef DEBUG diff --git a/dom/base/nsWindowRoot.cpp b/dom/base/nsWindowRoot.cpp index 8175877148..773fff560c 100644 --- a/dom/base/nsWindowRoot.cpp +++ b/dom/base/nsWindowRoot.cpp @@ -182,7 +182,6 @@ nsresult nsWindowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor) { aVisitor.mCanHandle = true; - aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119 // To keep mWindow alive aVisitor.mItemData = static_cast(mWindow); aVisitor.SetParentTarget(mParent, false); diff --git a/dom/events/EventDispatcher.cpp b/dom/events/EventDispatcher.cpp index df3080dd47..7b4cc1cecf 100644 --- a/dom/events/EventDispatcher.cpp +++ b/dom/events/EventDispatcher.cpp @@ -214,16 +214,6 @@ public: mRetargetedRelatedTarget = aTarget; } - void SetForceContentDispatch(bool aForce) - { - mFlags.mForceContentDispatch = aForce; - } - - bool ForceContentDispatch() - { - return mFlags.mForceContentDispatch; - } - void SetWantsWillHandleEvent(bool aWants) { mFlags.mWantsWillHandleEvent = aWants; @@ -387,7 +377,6 @@ private: // Cached flags for each EventTargetChainItem which are set when calling // GetEventTargetParent to create event target chain. They are used to // manage or speedup event dispatching. - bool mForceContentDispatch : 1; bool mWantsWillHandleEvent : 1; bool mMayHaveManager : 1; bool mChechedIfChrome : 1; @@ -439,7 +428,6 @@ EventTargetChainItem::GetEventTargetParent(EventChainPreVisitor& aVisitor) { aVisitor.Reset(); Unused << mTarget->GetEventTargetParent(aVisitor); - SetForceContentDispatch(aVisitor.mForceContentDispatch); SetWantsWillHandleEvent(aVisitor.mWantsWillHandleEvent); SetMayHaveListenerManager(aVisitor.mMayHaveListenerManager); SetWantsPreHandleEvent(aVisitor.mWantsPreHandleEvent); @@ -492,9 +480,7 @@ EventTargetChainItem::HandleEventTargetChain( if (item.PreHandleEventOnly()) { continue; } - if ((!aVisitor.mEvent->mFlags.mNoContentDispatch || - item.ForceContentDispatch()) && - !aVisitor.mEvent->PropagationStopped()) { + if (!aVisitor.mEvent->PropagationStopped()) { item.HandleEvent(aVisitor, aCd); } @@ -538,9 +524,7 @@ EventTargetChainItem::HandleEventTargetChain( // Target aVisitor.mEvent->mFlags.mInBubblingPhase = true; EventTargetChainItem& targetItem = aChain[firstCanHandleEventTargetIdx]; - if (!aVisitor.mEvent->PropagationStopped() && - (!aVisitor.mEvent->mFlags.mNoContentDispatch || - targetItem.ForceContentDispatch())) { + if (!aVisitor.mEvent->PropagationStopped()) { targetItem.HandleEvent(aVisitor, aCd); } if (aVisitor.mEvent->mFlags.mInSystemGroup) { @@ -570,9 +554,7 @@ EventTargetChainItem::HandleEventTargetChain( } if (aVisitor.mEvent->mFlags.mBubbles || newTarget) { - if ((!aVisitor.mEvent->mFlags.mNoContentDispatch || - item.ForceContentDispatch()) && - !aVisitor.mEvent->PropagationStopped()) { + if (!aVisitor.mEvent->PropagationStopped()) { item.HandleEvent(aVisitor, aCd); } if (aVisitor.mEvent->mFlags.mInSystemGroup) { diff --git a/dom/events/EventDispatcher.h b/dom/events/EventDispatcher.h index 9eaa124137..eb1b5c3a31 100644 --- a/dom/events/EventDispatcher.h +++ b/dom/events/EventDispatcher.h @@ -118,7 +118,6 @@ public: : EventChainVisitor(aPresContext, aEvent, aDOMEvent, aEventStatus) , mCanHandle(true) , mAutomaticChromeDispatch(true) - , mForceContentDispatch(false) , mRelatedTargetIsInAnon(false) , mOriginalTargetIsInAnon(aIsInAnon) , mWantsWillHandleEvent(false) @@ -143,7 +142,6 @@ public: mItemData = nullptr; mCanHandle = true; mAutomaticChromeDispatch = true; - mForceContentDispatch = false; mWantsWillHandleEvent = false; mMayHaveListenerManager = true; mWantsPreHandleEvent = false; @@ -195,13 +193,6 @@ public: */ bool mAutomaticChromeDispatch; - /** - * If mForceContentDispatch is set to true, - * content dispatching is not disabled for this event target. - * FIXME! This is here for backward compatibility. Bug 329119 - */ - bool mForceContentDispatch; - /** * true if it is known that related target is or is a descendant of an * element which is anonymous for events. diff --git a/dom/events/EventStateManager.cpp b/dom/events/EventStateManager.cpp index 371f66af42..e32655e77e 100644 --- a/dom/events/EventStateManager.cpp +++ b/dom/events/EventStateManager.cpp @@ -4683,7 +4683,6 @@ EventStateManager::InitAndDispatchClickEvent(WidgetMouseEvent* aMouseUpEvent, event.mTime = aMouseUpEvent->mTime; event.mTimeStamp = aMouseUpEvent->mTimeStamp; event.mFlags.mOnlyChromeDispatch = aNoContentDispatch; - event.mFlags.mNoContentDispatch = aNoContentDispatch; event.button = aMouseUpEvent->button; event.inputSource = aMouseUpEvent->inputSource; diff --git a/dom/ipc/TabChild.h b/dom/ipc/TabChild.h index 845387e92a..a812b8213a 100644 --- a/dom/ipc/TabChild.h +++ b/dom/ipc/TabChild.h @@ -136,7 +136,6 @@ public: nsresult GetEventTargetParent(EventChainPreVisitor& aVisitor) override { - aVisitor.mForceContentDispatch = true; return NS_OK; } diff --git a/dom/xul/nsXULElement.cpp b/dom/xul/nsXULElement.cpp index ee3a50cb88..96e6cc516f 100644 --- a/dom/xul/nsXULElement.cpp +++ b/dom/xul/nsXULElement.cpp @@ -2,18 +2,6 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This Original Code has been modified by IBM Corporation. - * Modifications made by IBM described herein are - * Copyright (c) International Business Machines - * Corporation, 2000 - * - * Modifications to Mozilla code or documentation - * identified per MPL Section 3.3 - * - * Date Modified by Description of modification - * 03/27/2000 IBM Corp. Added PR_CALLBACK for Optlink - * use in OS2 */ #include "nsCOMPtr.h" @@ -1299,7 +1287,6 @@ nsXULElement::DispatchXULCommand(const EventChainVisitor& aVisitor, nsresult nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor) { - aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119 if (IsEventStoppedFromAnonymousScrollbar(aVisitor.mEvent->mMessage)) { // Don't propagate these events from native anonymous scrollbar. aVisitor.mCanHandle = true; diff --git a/widget/BasicEvents.h b/widget/BasicEvents.h index 14977bdc24..95a51ff4ca 100644 --- a/widget/BasicEvents.h +++ b/widget/BasicEvents.h @@ -100,16 +100,6 @@ public: // If mNoCrossProcessBoundaryForwarding is true, the event is not allowed to // cross process boundary. bool mNoCrossProcessBoundaryForwarding : 1; - // If mNoContentDispatch is true, the event is never dispatched to the - // event handlers which are added to the contents, onfoo attributes and - // properties. Note that this flag is ignored when - // EventChainPreVisitor::mForceContentDispatch is set true. For exapmle, - // window and document object sets it true. Therefore, web applications - // can handle the event if they add event listeners to the window or the - // document. - // XXX This is an ancient and broken feature, don't use this for new bug - // as far as possible. - bool mNoContentDispatch : 1; // If mOnlyChromeDispatch is true, the event is dispatched to only chrome. bool mOnlyChromeDispatch : 1; // If mOnlySystemGroupDispatchInContent is true, event listeners added to