mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1750994 - PointerEvent.constructor should not modify the target of the events which are passed as coalesced or predicted events, r=edgar
If an event doesn't have a target, offsetX/Y behave differently. Those shouldn't be modified. Differential Revision: https://phabricator.services.mozilla.com/D136379
This commit is contained in:
parent
f6405c4772
commit
9d8ca62979
@ -251,7 +251,7 @@ void PointerEvent::GetCoalescedEvents(
|
||||
mCoalescedEvents.AppendElement(domEvent);
|
||||
}
|
||||
}
|
||||
if (mEvent->mTarget) {
|
||||
if (mEvent->IsTrusted() && mEvent->mTarget) {
|
||||
for (RefPtr<PointerEvent>& pointerEvent : mCoalescedEvents) {
|
||||
// Only set event target when it's null.
|
||||
if (!pointerEvent->mEvent->mTarget) {
|
||||
@ -265,7 +265,7 @@ void PointerEvent::GetCoalescedEvents(
|
||||
void PointerEvent::GetPredictedEvents(
|
||||
nsTArray<RefPtr<PointerEvent>>& aPointerEvents) {
|
||||
// XXX Add support for native predicted events, bug 1550461
|
||||
if (mEvent->mTarget) {
|
||||
if (mEvent->IsTrusted() && mEvent->mTarget) {
|
||||
for (RefPtr<PointerEvent>& pointerEvent : mPredictedEvents) {
|
||||
// Only set event target when it's null.
|
||||
if (!pointerEvent->mEvent->mTarget) {
|
||||
|
@ -38,13 +38,13 @@
|
||||
["getCoalescedEvents()[" + i + "].isPrimary", coalescedEvent.isPrimary, event.isPrimary],
|
||||
["getCoalescedEvents()[" + i + "].getCoalescedEvents().length", coalescedEvent.getCoalescedEvents().length, 0],
|
||||
["getCoalescedEvents()[" + i + "].getPredictedEvents().length", coalescedEvent.getPredictedEvents().length, 0],
|
||||
["getCoalescedEvents()[" + i + "].target", coalescedEvent.target, target0],
|
||||
["getCoalescedEvents()[" + i + "].target", coalescedEvent.target, null],
|
||||
["getCoalescedEvents()[" + i + "].currentTarget", coalescedEvent.currentTarget, null],
|
||||
["getCoalescedEvents()[" + i + "].eventPhase", coalescedEvent.eventPhase, Event.NONE],
|
||||
["getCoalescedEvents()[" + i + "].cancelable", coalescedEvent.cancelable, false],
|
||||
["getCoalescedEvents()[" + i + "].bubbles", coalescedEvent.bubbles, false],
|
||||
["getCoalescedEvents()[" + i + "].offsetX", coalescedEvent.offsetX, event.offsetX + (i==0?-10:0)],
|
||||
["getCoalescedEvents()[" + i + "].offsetY", coalescedEvent.offsetY, event.offsetY],
|
||||
["getCoalescedEvents()[" + i + "].offsetX", coalescedEvent.offsetX, 310 + (i==0?-10:0)],
|
||||
["getCoalescedEvents()[" + i + "].offsetY", coalescedEvent.offsetY, 0],
|
||||
]);
|
||||
}
|
||||
for (var i=0; i<event.getPredictedEvents().length; i++) {
|
||||
@ -55,13 +55,13 @@
|
||||
["getPredictedEvents()[" + i + "].isPrimary", predictedEvent.isPrimary, event.isPrimary],
|
||||
["getPredictedEvents()[" + i + "].getCoalescedEvents().length", predictedEvent.getCoalescedEvents().length, 0],
|
||||
["getPredictedEvents()[" + i + "].getPredictedEvents().length", predictedEvent.getPredictedEvents().length, 0],
|
||||
["getPredictedEvents()[" + i + "].target", predictedEvent.target, target0],
|
||||
["getPredictedEvents()[" + i + "].target", predictedEvent.target, null],
|
||||
["getPredictedEvents()[" + i + "].currentTarget", predictedEvent.currentTarget, null],
|
||||
["getPredictedEvents()[" + i + "].eventPhase", predictedEvent.eventPhase, Event.NONE],
|
||||
["getPredictedEvents()[" + i + "].cancelable", predictedEvent.cancelable, false],
|
||||
["getPredictedEvents()[" + i + "].bubbles", predictedEvent.bubbles, false],
|
||||
["getPredictedEvents()[" + i + "].offsetX", predictedEvent.offsetX, event.offsetX + (i==0?10:20)],
|
||||
["getPredictedEvents()[" + i + "].offsetY", predictedEvent.offsetY, event.offsetY],
|
||||
["getPredictedEvents()[" + i + "].offsetX", predictedEvent.offsetX, 310 + (i==0?10:20)],
|
||||
["getPredictedEvents()[" + i + "].offsetY", predictedEvent.offsetY, 0],
|
||||
]);
|
||||
}
|
||||
}));
|
||||
|
Loading…
Reference in New Issue
Block a user