void InputQueue::ConfirmDragBlock(uint64_t aInputBlockId, const RefPtr<AsyncPanZoomController>& aTargetApzc, const AsyncDragMetrics& aDragMetrics) { APZThreadUtils::AssertOnControllerThread(); INPQ_LOG("got a target apzc; block=%" PRIu64 " guid=%s\n", aInputBlockId, aTargetApzc ? Stringify(aTargetApzc->GetGuid()).c_str() : ""); bool success = false; InputData* firstInput = nullptr; CancelableBlockState* block = FindBlockForId(aInputBlockId, &firstInput); if (block && block->AsDragBlock()) { block->AsDragBlock()->SetDragMetrics(aDragMetrics); success = block->SetConfirmedTargetApzc(aTargetApzc, InputBlockState::TargetConfirmationState::eConfirmed, firstInput); block->RecordContentResponseTime(); } if (success) { ProcessQueue(); } }
DragBlockState* InputQueue::GetCurrentDragBlock() const { CancelableBlockState* block = GetCurrentBlock(); return block ? block->AsDragBlock() : mActiveDragBlock.get(); }