Bug 1117712 - Update the screen-to-local transform matrix for an input block if the target APZC changes. r=kats
authorBotond Ballo <botond@mozilla.com>
Wed, 14 Jan 2015 10:16:26 -0500
changeset 223789 605e82b2f066c5452776ce4d477c495b19d3a511
parent 223788 edc1cbc1d7e448c467419b5a0cf6b8970a98bc74
child 223790 19f97e6eac5cf472a69ad514e38b84f4d7999bc6
push id28107
push userryanvm@gmail.com
push dateWed, 14 Jan 2015 21:17:38 +0000
treeherdermozilla-central@af5716d852c6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskats
bugs1117712
milestone38.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1117712 - Update the screen-to-local transform matrix for an input block if the target APZC changes. r=kats
gfx/layers/apz/src/InputBlockState.cpp
--- a/gfx/layers/apz/src/InputBlockState.cpp
+++ b/gfx/layers/apz/src/InputBlockState.cpp
@@ -46,16 +46,17 @@ InputBlockState::SetConfirmedTargetApzc(
 
   // Log enabled by default for now, we will put it in a TBS_LOG eventually
   // once this code is more baked
   printf_stderr("%p replacing unconfirmed target %p with real target %p\n",
       this, mTargetApzc.get(), aTargetApzc.get());
 
   // note that aTargetApzc MAY be null here.
   mTargetApzc = aTargetApzc;
+  mTransformToApzc = aTargetApzc ? aTargetApzc->GetTransformToThis() : gfx::Matrix4x4();
   mOverscrollHandoffChain = (mTargetApzc ? mTargetApzc->BuildOverscrollHandoffChain() : nullptr);
   return true;
 }
 
 const nsRefPtr<AsyncPanZoomController>&
 InputBlockState::GetTargetApzc() const
 {
   return mTargetApzc;