Bug 1383365 - Add in missing code for mActiveKeyboardBlock in InputQueue. r?kats
MozReview-Commit-ID: EUq8wPS1aDZ
--- a/gfx/layers/apz/src/InputQueue.cpp
+++ b/gfx/layers/apz/src/InputQueue.cpp
@@ -573,25 +573,27 @@ InputQueue::FindBlockForId(uint64_t aInp
if (queuedInput->Block()->GetBlockId() == aInputBlockId) {
if (aOutFirstInput) {
*aOutFirstInput = queuedInput->Input();
}
return queuedInput->Block();
}
}
- CancelableBlockState* block = nullptr;
+ InputBlockState* block = nullptr;
if (mActiveTouchBlock && mActiveTouchBlock->GetBlockId() == aInputBlockId) {
block = mActiveTouchBlock.get();
} else if (mActiveWheelBlock && mActiveWheelBlock->GetBlockId() == aInputBlockId) {
block = mActiveWheelBlock.get();
} else if (mActiveDragBlock && mActiveDragBlock->GetBlockId() == aInputBlockId) {
block = mActiveDragBlock.get();
} else if (mActivePanGestureBlock && mActivePanGestureBlock->GetBlockId() == aInputBlockId) {
block = mActivePanGestureBlock.get();
+ } else if (mActiveKeyboardBlock && mActiveKeyboardBlock->GetBlockId() == aInputBlockId) {
+ block = mActiveKeyboardBlock.get();
}
// Since we didn't encounter this block while iterating through mQueuedInputs,
// it must have no events associated with it at the moment.
if (aOutFirstInput) {
*aOutFirstInput = nullptr;
}
return block;
}
@@ -744,16 +746,19 @@ InputQueue::ProcessQueue() {
mActiveWheelBlock = nullptr;
}
if (CanDiscardBlock(mActiveDragBlock)) {
mActiveDragBlock = nullptr;
}
if (CanDiscardBlock(mActivePanGestureBlock)) {
mActivePanGestureBlock = nullptr;
}
+ if (CanDiscardBlock(mActiveKeyboardBlock)) {
+ mActiveKeyboardBlock = nullptr;
+ }
}
bool
InputQueue::CanDiscardBlock(InputBlockState* aBlock)
{
if (!aBlock ||
(aBlock->AsCancelableBlock() && !aBlock->AsCancelableBlock()->IsReadyForHandling()) ||
aBlock->MustStayActive()) {
@@ -783,13 +788,14 @@ InputQueue::Clear()
{
APZThreadUtils::AssertOnControllerThread();
mQueuedInputs.Clear();
mActiveTouchBlock = nullptr;
mActiveWheelBlock = nullptr;
mActiveDragBlock = nullptr;
mActivePanGestureBlock = nullptr;
+ mActiveKeyboardBlock = nullptr;
mLastActiveApzc = nullptr;
}
} // namespace layers
} // namespace mozilla