зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1634206 - Change the default value of InputAPZContext::sApzResponse to nsEventStatus_eSentinel. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70084
This commit is contained in:
Родитель
fbefa56f1d
Коммит
98c8fdcd38
|
@ -3394,6 +3394,20 @@ void BrowserParent::ApzAwareEventRoutingToChild(
|
|||
}
|
||||
if (aOutApzResponse) {
|
||||
*aOutApzResponse = InputAPZContext::GetApzResponse();
|
||||
|
||||
// We can get here without there being an InputAPZContext on the stack
|
||||
// if a non-native event synthesization function (such as
|
||||
// nsIDOMWindowUtils.sendTouchEvent()) was used in the parent process to
|
||||
// synthesize an event that's targeting a content process. Such events do
|
||||
// not go through APZ. Without an InputAPZContext on the stack we pick up
|
||||
// the default value "eSentinel" which cannot be sent over IPC, so replace
|
||||
// it with "eIgnore" instead, which what APZ uses when it ignores an
|
||||
// event. If a caller needs the ability to synthesize a event with a
|
||||
// different APZ response, a native event synthesization function (such as
|
||||
// sendNativeTouchPoint()) can be used.
|
||||
if (*aOutApzResponse == nsEventStatus_eSentinel) {
|
||||
*aOutApzResponse = nsEventStatus_eIgnore;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (aOutInputBlockId) {
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace layers {
|
|||
|
||||
ScrollableLayerGuid InputAPZContext::sGuid;
|
||||
uint64_t InputAPZContext::sBlockId = 0;
|
||||
nsEventStatus InputAPZContext::sApzResponse = nsEventStatus_eIgnore;
|
||||
nsEventStatus InputAPZContext::sApzResponse = nsEventStatus_eSentinel;
|
||||
bool InputAPZContext::sPendingLayerization = false;
|
||||
bool InputAPZContext::sRoutedToChildProcess = false;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче