mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-30 11:07:29 +09:00
Issue #2515 - Remove mForceContentDispatch and mNoContentDispatch
This commit is contained in:
parent
2d4a8d7959
commit
7e3f0d53a2
10 changed files with 3 additions and 68 deletions
|
|
@ -7270,11 +7270,6 @@ nsDocument::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
aVisitor.mCanHandle = true;
|
aVisitor.mCanHandle = true;
|
||||||
// Middle/right click shouldn't dispatch click event, use auxclick to instead.
|
// Middle/right click shouldn't dispatch click event, use auxclick to instead.
|
||||||
Element* docElement = GetRootElement();
|
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.
|
// Load events must not propagate to |window| object, see bug 335251.
|
||||||
if (aVisitor.mEvent->mMessage != eLoad) {
|
if (aVisitor.mEvent->mMessage != eLoad) {
|
||||||
|
|
|
||||||
|
|
@ -3544,12 +3544,6 @@ nsGlobalWindow::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
EventMessage msg = aVisitor.mEvent->mMessage;
|
EventMessage msg = aVisitor.mEvent->mMessage;
|
||||||
|
|
||||||
aVisitor.mCanHandle = true;
|
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()) {
|
if (msg == eResize && aVisitor.mEvent->IsTrusted()) {
|
||||||
// QIing to window so that we can keep the old behavior also in case
|
// QIing to window so that we can keep the old behavior also in case
|
||||||
// a child window is handling resize.
|
// a child window is handling resize.
|
||||||
|
|
|
||||||
|
|
@ -252,7 +252,6 @@ nsInProcessTabChildGlobal::GetOwnerContent()
|
||||||
nsresult
|
nsresult
|
||||||
nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
{
|
{
|
||||||
aVisitor.mForceContentDispatch = true;
|
|
||||||
aVisitor.mCanHandle = true;
|
aVisitor.mCanHandle = true;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,6 @@ nsresult
|
||||||
nsWindowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
nsWindowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
{
|
{
|
||||||
aVisitor.mCanHandle = true;
|
aVisitor.mCanHandle = true;
|
||||||
aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119
|
|
||||||
// To keep mWindow alive
|
// To keep mWindow alive
|
||||||
aVisitor.mItemData = static_cast<nsISupports *>(mWindow);
|
aVisitor.mItemData = static_cast<nsISupports *>(mWindow);
|
||||||
aVisitor.SetParentTarget(mParent, false);
|
aVisitor.SetParentTarget(mParent, false);
|
||||||
|
|
|
||||||
|
|
@ -214,16 +214,6 @@ public:
|
||||||
mRetargetedRelatedTarget = aTarget;
|
mRetargetedRelatedTarget = aTarget;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetForceContentDispatch(bool aForce)
|
|
||||||
{
|
|
||||||
mFlags.mForceContentDispatch = aForce;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ForceContentDispatch()
|
|
||||||
{
|
|
||||||
return mFlags.mForceContentDispatch;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetWantsWillHandleEvent(bool aWants)
|
void SetWantsWillHandleEvent(bool aWants)
|
||||||
{
|
{
|
||||||
mFlags.mWantsWillHandleEvent = aWants;
|
mFlags.mWantsWillHandleEvent = aWants;
|
||||||
|
|
@ -387,7 +377,6 @@ private:
|
||||||
// Cached flags for each EventTargetChainItem which are set when calling
|
// Cached flags for each EventTargetChainItem which are set when calling
|
||||||
// GetEventTargetParent to create event target chain. They are used to
|
// GetEventTargetParent to create event target chain. They are used to
|
||||||
// manage or speedup event dispatching.
|
// manage or speedup event dispatching.
|
||||||
bool mForceContentDispatch : 1;
|
|
||||||
bool mWantsWillHandleEvent : 1;
|
bool mWantsWillHandleEvent : 1;
|
||||||
bool mMayHaveManager : 1;
|
bool mMayHaveManager : 1;
|
||||||
bool mChechedIfChrome : 1;
|
bool mChechedIfChrome : 1;
|
||||||
|
|
@ -439,7 +428,6 @@ EventTargetChainItem::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
{
|
{
|
||||||
aVisitor.Reset();
|
aVisitor.Reset();
|
||||||
Unused << mTarget->GetEventTargetParent(aVisitor);
|
Unused << mTarget->GetEventTargetParent(aVisitor);
|
||||||
SetForceContentDispatch(aVisitor.mForceContentDispatch);
|
|
||||||
SetWantsWillHandleEvent(aVisitor.mWantsWillHandleEvent);
|
SetWantsWillHandleEvent(aVisitor.mWantsWillHandleEvent);
|
||||||
SetMayHaveListenerManager(aVisitor.mMayHaveListenerManager);
|
SetMayHaveListenerManager(aVisitor.mMayHaveListenerManager);
|
||||||
SetWantsPreHandleEvent(aVisitor.mWantsPreHandleEvent);
|
SetWantsPreHandleEvent(aVisitor.mWantsPreHandleEvent);
|
||||||
|
|
@ -492,9 +480,7 @@ EventTargetChainItem::HandleEventTargetChain(
|
||||||
if (item.PreHandleEventOnly()) {
|
if (item.PreHandleEventOnly()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((!aVisitor.mEvent->mFlags.mNoContentDispatch ||
|
if (!aVisitor.mEvent->PropagationStopped()) {
|
||||||
item.ForceContentDispatch()) &&
|
|
||||||
!aVisitor.mEvent->PropagationStopped()) {
|
|
||||||
item.HandleEvent(aVisitor, aCd);
|
item.HandleEvent(aVisitor, aCd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -538,9 +524,7 @@ EventTargetChainItem::HandleEventTargetChain(
|
||||||
// Target
|
// Target
|
||||||
aVisitor.mEvent->mFlags.mInBubblingPhase = true;
|
aVisitor.mEvent->mFlags.mInBubblingPhase = true;
|
||||||
EventTargetChainItem& targetItem = aChain[firstCanHandleEventTargetIdx];
|
EventTargetChainItem& targetItem = aChain[firstCanHandleEventTargetIdx];
|
||||||
if (!aVisitor.mEvent->PropagationStopped() &&
|
if (!aVisitor.mEvent->PropagationStopped()) {
|
||||||
(!aVisitor.mEvent->mFlags.mNoContentDispatch ||
|
|
||||||
targetItem.ForceContentDispatch())) {
|
|
||||||
targetItem.HandleEvent(aVisitor, aCd);
|
targetItem.HandleEvent(aVisitor, aCd);
|
||||||
}
|
}
|
||||||
if (aVisitor.mEvent->mFlags.mInSystemGroup) {
|
if (aVisitor.mEvent->mFlags.mInSystemGroup) {
|
||||||
|
|
@ -570,9 +554,7 @@ EventTargetChainItem::HandleEventTargetChain(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aVisitor.mEvent->mFlags.mBubbles || newTarget) {
|
if (aVisitor.mEvent->mFlags.mBubbles || newTarget) {
|
||||||
if ((!aVisitor.mEvent->mFlags.mNoContentDispatch ||
|
if (!aVisitor.mEvent->PropagationStopped()) {
|
||||||
item.ForceContentDispatch()) &&
|
|
||||||
!aVisitor.mEvent->PropagationStopped()) {
|
|
||||||
item.HandleEvent(aVisitor, aCd);
|
item.HandleEvent(aVisitor, aCd);
|
||||||
}
|
}
|
||||||
if (aVisitor.mEvent->mFlags.mInSystemGroup) {
|
if (aVisitor.mEvent->mFlags.mInSystemGroup) {
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,6 @@ public:
|
||||||
: EventChainVisitor(aPresContext, aEvent, aDOMEvent, aEventStatus)
|
: EventChainVisitor(aPresContext, aEvent, aDOMEvent, aEventStatus)
|
||||||
, mCanHandle(true)
|
, mCanHandle(true)
|
||||||
, mAutomaticChromeDispatch(true)
|
, mAutomaticChromeDispatch(true)
|
||||||
, mForceContentDispatch(false)
|
|
||||||
, mRelatedTargetIsInAnon(false)
|
, mRelatedTargetIsInAnon(false)
|
||||||
, mOriginalTargetIsInAnon(aIsInAnon)
|
, mOriginalTargetIsInAnon(aIsInAnon)
|
||||||
, mWantsWillHandleEvent(false)
|
, mWantsWillHandleEvent(false)
|
||||||
|
|
@ -143,7 +142,6 @@ public:
|
||||||
mItemData = nullptr;
|
mItemData = nullptr;
|
||||||
mCanHandle = true;
|
mCanHandle = true;
|
||||||
mAutomaticChromeDispatch = true;
|
mAutomaticChromeDispatch = true;
|
||||||
mForceContentDispatch = false;
|
|
||||||
mWantsWillHandleEvent = false;
|
mWantsWillHandleEvent = false;
|
||||||
mMayHaveListenerManager = true;
|
mMayHaveListenerManager = true;
|
||||||
mWantsPreHandleEvent = false;
|
mWantsPreHandleEvent = false;
|
||||||
|
|
@ -195,13 +193,6 @@ public:
|
||||||
*/
|
*/
|
||||||
bool mAutomaticChromeDispatch;
|
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
|
* true if it is known that related target is or is a descendant of an
|
||||||
* element which is anonymous for events.
|
* element which is anonymous for events.
|
||||||
|
|
|
||||||
|
|
@ -4683,7 +4683,6 @@ EventStateManager::InitAndDispatchClickEvent(WidgetMouseEvent* aMouseUpEvent,
|
||||||
event.mTime = aMouseUpEvent->mTime;
|
event.mTime = aMouseUpEvent->mTime;
|
||||||
event.mTimeStamp = aMouseUpEvent->mTimeStamp;
|
event.mTimeStamp = aMouseUpEvent->mTimeStamp;
|
||||||
event.mFlags.mOnlyChromeDispatch = aNoContentDispatch;
|
event.mFlags.mOnlyChromeDispatch = aNoContentDispatch;
|
||||||
event.mFlags.mNoContentDispatch = aNoContentDispatch;
|
|
||||||
event.button = aMouseUpEvent->button;
|
event.button = aMouseUpEvent->button;
|
||||||
event.inputSource = aMouseUpEvent->inputSource;
|
event.inputSource = aMouseUpEvent->inputSource;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,6 @@ public:
|
||||||
nsresult
|
nsresult
|
||||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override
|
GetEventTargetParent(EventChainPreVisitor& aVisitor) override
|
||||||
{
|
{
|
||||||
aVisitor.mForceContentDispatch = true;
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,6 @@
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* 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
|
* 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/.
|
* 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"
|
#include "nsCOMPtr.h"
|
||||||
|
|
@ -1299,7 +1287,6 @@ nsXULElement::DispatchXULCommand(const EventChainVisitor& aVisitor,
|
||||||
nsresult
|
nsresult
|
||||||
nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
{
|
{
|
||||||
aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119
|
|
||||||
if (IsEventStoppedFromAnonymousScrollbar(aVisitor.mEvent->mMessage)) {
|
if (IsEventStoppedFromAnonymousScrollbar(aVisitor.mEvent->mMessage)) {
|
||||||
// Don't propagate these events from native anonymous scrollbar.
|
// Don't propagate these events from native anonymous scrollbar.
|
||||||
aVisitor.mCanHandle = true;
|
aVisitor.mCanHandle = true;
|
||||||
|
|
|
||||||
|
|
@ -100,16 +100,6 @@ public:
|
||||||
// If mNoCrossProcessBoundaryForwarding is true, the event is not allowed to
|
// If mNoCrossProcessBoundaryForwarding is true, the event is not allowed to
|
||||||
// cross process boundary.
|
// cross process boundary.
|
||||||
bool mNoCrossProcessBoundaryForwarding : 1;
|
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.
|
// If mOnlyChromeDispatch is true, the event is dispatched to only chrome.
|
||||||
bool mOnlyChromeDispatch : 1;
|
bool mOnlyChromeDispatch : 1;
|
||||||
// If mOnlySystemGroupDispatchInContent is true, event listeners added to
|
// If mOnlySystemGroupDispatchInContent is true, event listeners added to
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue