зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1159985 - In APZ gtests, allow panning in both directions. r=kats
--HG-- extra : source : 6869f19b8b653ee012d0d0bc7e0f7f473983820d
This commit is contained in:
Родитель
2904d8d719
Коммит
23e426ca66
|
@ -495,8 +495,8 @@ TapAndCheckStatus(const nsRefPtr<InputReceiver>& aTarget, int aX, int aY,
|
||||||
template<class InputReceiver> static void
|
template<class InputReceiver> static void
|
||||||
Pan(const nsRefPtr<InputReceiver>& aTarget,
|
Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
TimeStamp& aTime,
|
TimeStamp& aTime,
|
||||||
int aTouchStartY,
|
const ScreenPoint& aTouchStart,
|
||||||
int aTouchEndY,
|
const ScreenPoint& aTouchEnd,
|
||||||
bool aKeepFingerDown = false,
|
bool aKeepFingerDown = false,
|
||||||
nsTArray<uint32_t>* aAllowedTouchBehaviors = nullptr,
|
nsTArray<uint32_t>* aAllowedTouchBehaviors = nullptr,
|
||||||
nsEventStatus (*aOutEventStatuses)[4] = nullptr,
|
nsEventStatus (*aOutEventStatuses)[4] = nullptr,
|
||||||
|
@ -519,7 +519,7 @@ Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure the move is large enough to not be handled as a tap
|
// Make sure the move is large enough to not be handled as a tap
|
||||||
nsEventStatus status = TouchDown(aTarget, 10, aTouchStartY + OVERCOME_TOUCH_TOLERANCE, aTime, aOutInputBlockId);
|
nsEventStatus status = TouchDown(aTarget, aTouchStart.x, aTouchStart.y + OVERCOME_TOUCH_TOLERANCE, aTime, aOutInputBlockId);
|
||||||
if (aOutEventStatuses) {
|
if (aOutEventStatuses) {
|
||||||
(*aOutEventStatuses)[0] = status;
|
(*aOutEventStatuses)[0] = status;
|
||||||
}
|
}
|
||||||
|
@ -536,14 +536,14 @@ Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
status = TouchMove(aTarget, 10, aTouchStartY, aTime);
|
status = TouchMove(aTarget, aTouchStart.x, aTouchStart.y, aTime);
|
||||||
if (aOutEventStatuses) {
|
if (aOutEventStatuses) {
|
||||||
(*aOutEventStatuses)[1] = status;
|
(*aOutEventStatuses)[1] = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
aTime += TIME_BETWEEN_TOUCH_EVENT;
|
aTime += TIME_BETWEEN_TOUCH_EVENT;
|
||||||
|
|
||||||
status = TouchMove(aTarget, 10, aTouchEndY, aTime);
|
status = TouchMove(aTarget, aTouchEnd.x, aTouchEnd.y, aTime);
|
||||||
if (aOutEventStatuses) {
|
if (aOutEventStatuses) {
|
||||||
(*aOutEventStatuses)[2] = status;
|
(*aOutEventStatuses)[2] = status;
|
||||||
}
|
}
|
||||||
|
@ -551,7 +551,7 @@ Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
aTime += TIME_BETWEEN_TOUCH_EVENT;
|
aTime += TIME_BETWEEN_TOUCH_EVENT;
|
||||||
|
|
||||||
if (!aKeepFingerDown) {
|
if (!aKeepFingerDown) {
|
||||||
status = TouchUp(aTarget, 10, aTouchEndY, aTime);
|
status = TouchUp(aTarget, aTouchEnd.x, aTouchEnd.y, aTime);
|
||||||
} else {
|
} else {
|
||||||
status = nsEventStatus_eIgnore;
|
status = nsEventStatus_eIgnore;
|
||||||
}
|
}
|
||||||
|
@ -564,6 +564,23 @@ Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
// them immediately after they start, without time having elapsed.
|
// them immediately after they start, without time having elapsed.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// A version of Pan() that only takes y coordinates rather than (x, y) points
|
||||||
|
// for the touch start and end points, and uses 10 for the x coordinates.
|
||||||
|
// This is for convenience, as most tests only need to pan in one direction.
|
||||||
|
template<class InputReceiver> static void
|
||||||
|
Pan(const nsRefPtr<InputReceiver>& aTarget,
|
||||||
|
TimeStamp& aTime,
|
||||||
|
int aTouchStartY,
|
||||||
|
int aTouchEndY,
|
||||||
|
bool aKeepFingerDown = false,
|
||||||
|
nsTArray<uint32_t>* aAllowedTouchBehaviors = nullptr,
|
||||||
|
nsEventStatus (*aOutEventStatuses)[4] = nullptr,
|
||||||
|
uint64_t* aOutInputBlockId = nullptr)
|
||||||
|
{
|
||||||
|
::Pan(aTarget, aTime, ScreenPoint(10, aTouchStartY), ScreenPoint(10, aTouchEndY),
|
||||||
|
aKeepFingerDown, aAllowedTouchBehaviors, aOutEventStatuses, aOutInputBlockId);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dispatches mock touch events to the apzc and checks whether apzc properly
|
* Dispatches mock touch events to the apzc and checks whether apzc properly
|
||||||
* consumed them and triggered scrolling behavior.
|
* consumed them and triggered scrolling behavior.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче