mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-19 05:37:30 +09:00
parent
6154d842b0
commit
907e210445
7 changed files with 11 additions and 39 deletions
|
|
@ -825,7 +825,7 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||||
((this == aVisitor.mEvent->mOriginalTarget &&
|
((this == aVisitor.mEvent->mOriginalTarget &&
|
||||||
!ChromeOnlyAccess()) || isAnonForEvents || GetShadowRoot())) {
|
!ChromeOnlyAccess()) || isAnonForEvents || GetShadowRoot())) {
|
||||||
nsCOMPtr<nsIContent> relatedTarget =
|
nsCOMPtr<nsIContent> relatedTarget =
|
||||||
do_QueryInterface(aVisitor.mEvent->AsMouseEvent()->relatedTarget);
|
do_QueryInterface(aVisitor.mEvent->AsMouseEvent()->mRelatedTarget);
|
||||||
if (relatedTarget &&
|
if (relatedTarget &&
|
||||||
relatedTarget->OwnerDoc() == OwnerDoc()) {
|
relatedTarget->OwnerDoc() == OwnerDoc()) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,18 +158,11 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(Event)
|
||||||
tmp->mEvent->mTarget = nullptr;
|
tmp->mEvent->mTarget = nullptr;
|
||||||
tmp->mEvent->mCurrentTarget = nullptr;
|
tmp->mEvent->mCurrentTarget = nullptr;
|
||||||
tmp->mEvent->mOriginalTarget = nullptr;
|
tmp->mEvent->mOriginalTarget = nullptr;
|
||||||
|
tmp->mEvent->mRelatedTarget = nullptr;
|
||||||
switch (tmp->mEvent->mClass) {
|
switch (tmp->mEvent->mClass) {
|
||||||
case eMouseEventClass:
|
|
||||||
case eMouseScrollEventClass:
|
|
||||||
case eWheelEventClass:
|
|
||||||
case eSimpleGestureEventClass:
|
|
||||||
case ePointerEventClass:
|
|
||||||
tmp->mEvent->AsMouseEventBase()->relatedTarget = nullptr;
|
|
||||||
break;
|
|
||||||
case eDragEventClass: {
|
case eDragEventClass: {
|
||||||
WidgetDragEvent* dragEvent = tmp->mEvent->AsDragEvent();
|
WidgetDragEvent* dragEvent = tmp->mEvent->AsDragEvent();
|
||||||
dragEvent->mDataTransfer = nullptr;
|
dragEvent->mDataTransfer = nullptr;
|
||||||
dragEvent->relatedTarget = nullptr;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case eClipboardEventClass:
|
case eClipboardEventClass:
|
||||||
|
|
@ -178,9 +171,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(Event)
|
||||||
case eMutationEventClass:
|
case eMutationEventClass:
|
||||||
tmp->mEvent->AsMutationEvent()->mRelatedNode = nullptr;
|
tmp->mEvent->AsMutationEvent()->mRelatedNode = nullptr;
|
||||||
break;
|
break;
|
||||||
case eFocusEventClass:
|
|
||||||
tmp->mEvent->AsFocusEvent()->mRelatedTarget = nullptr;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -196,21 +186,12 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Event)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mTarget)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mTarget)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mCurrentTarget)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mCurrentTarget)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mOriginalTarget)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mOriginalTarget)
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mEvent->mRelatedTarget)
|
||||||
switch (tmp->mEvent->mClass) {
|
switch (tmp->mEvent->mClass) {
|
||||||
case eMouseEventClass:
|
|
||||||
case eMouseScrollEventClass:
|
|
||||||
case eWheelEventClass:
|
|
||||||
case eSimpleGestureEventClass:
|
|
||||||
case ePointerEventClass:
|
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->relatedTarget");
|
|
||||||
cb.NoteXPCOMChild(tmp->mEvent->AsMouseEventBase()->relatedTarget);
|
|
||||||
break;
|
|
||||||
case eDragEventClass: {
|
case eDragEventClass: {
|
||||||
WidgetDragEvent* dragEvent = tmp->mEvent->AsDragEvent();
|
WidgetDragEvent* dragEvent = tmp->mEvent->AsDragEvent();
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->mDataTransfer");
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->mDataTransfer");
|
||||||
cb.NoteXPCOMChild(dragEvent->mDataTransfer);
|
cb.NoteXPCOMChild(dragEvent->mDataTransfer);
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->relatedTarget");
|
|
||||||
cb.NoteXPCOMChild(dragEvent->relatedTarget);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case eClipboardEventClass:
|
case eClipboardEventClass:
|
||||||
|
|
@ -221,10 +202,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Event)
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->mRelatedNode");
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->mRelatedNode");
|
||||||
cb.NoteXPCOMChild(tmp->mEvent->AsMutationEvent()->mRelatedNode);
|
cb.NoteXPCOMChild(tmp->mEvent->AsMutationEvent()->mRelatedNode);
|
||||||
break;
|
break;
|
||||||
case eFocusEventClass:
|
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mEvent->mRelatedTarget");
|
|
||||||
cb.NoteXPCOMChild(tmp->mEvent->AsFocusEvent()->mRelatedTarget);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3906,13 +3906,13 @@ CreateMouseOrPointerWidgetEvent(WidgetMouseEvent* aMouseEvent,
|
||||||
newPointerEvent->mWidth = sourcePointer->mWidth;
|
newPointerEvent->mWidth = sourcePointer->mWidth;
|
||||||
newPointerEvent->mHeight = sourcePointer->mHeight;
|
newPointerEvent->mHeight = sourcePointer->mHeight;
|
||||||
newPointerEvent->inputSource = sourcePointer->inputSource;
|
newPointerEvent->inputSource = sourcePointer->inputSource;
|
||||||
newPointerEvent->relatedTarget = aRelatedContent;
|
newPointerEvent->mRelatedTarget = aRelatedContent;
|
||||||
aNewEvent = newPointerEvent.forget();
|
aNewEvent = newPointerEvent.forget();
|
||||||
} else {
|
} else {
|
||||||
aNewEvent =
|
aNewEvent =
|
||||||
new WidgetMouseEvent(aMouseEvent->IsTrusted(), aMessage,
|
new WidgetMouseEvent(aMouseEvent->IsTrusted(), aMessage,
|
||||||
aMouseEvent->mWidget, WidgetMouseEvent::eReal);
|
aMouseEvent->mWidget, WidgetMouseEvent::eReal);
|
||||||
aNewEvent->relatedTarget = aRelatedContent;
|
aNewEvent->mRelatedTarget = aRelatedContent;
|
||||||
}
|
}
|
||||||
aNewEvent->mRefPoint = aMouseEvent->mRefPoint;
|
aNewEvent->mRefPoint = aMouseEvent->mRefPoint;
|
||||||
aNewEvent->mModifiers = aMouseEvent->mModifiers;
|
aNewEvent->mModifiers = aMouseEvent->mModifiers;
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ MouseEvent::InitMouseEvent(const nsAString& aType,
|
||||||
case ePointerEventClass:
|
case ePointerEventClass:
|
||||||
case eSimpleGestureEventClass: {
|
case eSimpleGestureEventClass: {
|
||||||
WidgetMouseEventBase* mouseEventBase = mEvent->AsMouseEventBase();
|
WidgetMouseEventBase* mouseEventBase = mEvent->AsMouseEventBase();
|
||||||
mouseEventBase->relatedTarget = aRelatedTarget;
|
mouseEventBase->mRelatedTarget = aRelatedTarget;
|
||||||
mouseEventBase->button = aButton;
|
mouseEventBase->button = aButton;
|
||||||
mouseEventBase->InitBasicModifiers(aCtrlKey, aAltKey, aShiftKey, aMetaKey);
|
mouseEventBase->InitBasicModifiers(aCtrlKey, aAltKey, aShiftKey, aMetaKey);
|
||||||
mClientPoint.x = aClientX;
|
mClientPoint.x = aClientX;
|
||||||
|
|
@ -295,8 +295,7 @@ MouseEvent::GetRelatedTarget()
|
||||||
case eDragEventClass:
|
case eDragEventClass:
|
||||||
case ePointerEventClass:
|
case ePointerEventClass:
|
||||||
case eSimpleGestureEventClass:
|
case eSimpleGestureEventClass:
|
||||||
relatedTarget =
|
relatedTarget = mEvent->AsMouseEventBase()->mRelatedTarget;
|
||||||
do_QueryInterface(mEvent->AsMouseEventBase()->relatedTarget);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -423,6 +423,9 @@ public:
|
||||||
nsCOMPtr<dom::EventTarget> mCurrentTarget;
|
nsCOMPtr<dom::EventTarget> mCurrentTarget;
|
||||||
nsCOMPtr<dom::EventTarget> mOriginalTarget;
|
nsCOMPtr<dom::EventTarget> mOriginalTarget;
|
||||||
|
|
||||||
|
/// The possible related target
|
||||||
|
nsCOMPtr<dom::EventTarget> mRelatedTarget;
|
||||||
|
|
||||||
nsTArray<EventTargetChainItem>* mPath;
|
nsTArray<EventTargetChainItem>* mPath;
|
||||||
|
|
||||||
dom::EventTarget* GetDOMEventTarget() const;
|
dom::EventTarget* GetDOMEventTarget() const;
|
||||||
|
|
@ -442,6 +445,7 @@ public:
|
||||||
mTarget = aCopyTargets ? aEvent.mTarget : nullptr;
|
mTarget = aCopyTargets ? aEvent.mTarget : nullptr;
|
||||||
mCurrentTarget = aCopyTargets ? aEvent.mCurrentTarget : nullptr;
|
mCurrentTarget = aCopyTargets ? aEvent.mCurrentTarget : nullptr;
|
||||||
mOriginalTarget = aCopyTargets ? aEvent.mOriginalTarget : nullptr;
|
mOriginalTarget = aCopyTargets ? aEvent.mOriginalTarget : nullptr;
|
||||||
|
mRelatedTarget = aCopyTargets ? aEvent.mRelatedTarget : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -212,9 +212,6 @@ public:
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The possible related target
|
|
||||||
nsCOMPtr<dom::EventTarget> mRelatedTarget;
|
|
||||||
|
|
||||||
bool mFromRaise;
|
bool mFromRaise;
|
||||||
bool mIsRefocus;
|
bool mIsRefocus;
|
||||||
|
|
||||||
|
|
@ -222,7 +219,6 @@ public:
|
||||||
{
|
{
|
||||||
AssignUIEventData(aEvent, aCopyTargets);
|
AssignUIEventData(aEvent, aCopyTargets);
|
||||||
|
|
||||||
mRelatedTarget = aCopyTargets ? aEvent.mRelatedTarget : nullptr;
|
|
||||||
mFromRaise = aEvent.mFromRaise;
|
mFromRaise = aEvent.mFromRaise;
|
||||||
mIsRefocus = aEvent.mIsRefocus;
|
mIsRefocus = aEvent.mIsRefocus;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -110,9 +110,6 @@ public:
|
||||||
MOZ_CRASH("WidgetMouseEventBase must not be most-subclass");
|
MOZ_CRASH("WidgetMouseEventBase must not be most-subclass");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The possible related target
|
|
||||||
nsCOMPtr<nsISupports> relatedTarget;
|
|
||||||
|
|
||||||
enum buttonType
|
enum buttonType
|
||||||
{
|
{
|
||||||
eLeftButton = 0,
|
eLeftButton = 0,
|
||||||
|
|
@ -162,7 +159,6 @@ public:
|
||||||
{
|
{
|
||||||
AssignInputEventData(aEvent, aCopyTargets);
|
AssignInputEventData(aEvent, aCopyTargets);
|
||||||
|
|
||||||
relatedTarget = aCopyTargets ? aEvent.relatedTarget : nullptr;
|
|
||||||
button = aEvent.button;
|
button = aEvent.button;
|
||||||
buttons = aEvent.buttons;
|
buttons = aEvent.buttons;
|
||||||
pressure = aEvent.pressure;
|
pressure = aEvent.pressure;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue