cc: Have smoothness take priority during scroll and pinch zoom.
Set tree_priority member of global state that impacts tile priority to
SMOOTHNESS_TAKES_PRIORITY during scroll or pinch gesture. Restore it
500 ms after last scroll or pinch event was received.
BUG=166799
Review URL: https://chromiumcodereview.appspot.com/11911003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177975 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
index ce03f355..5f18652 100644
--- a/cc/layer_tree_host_impl.cc
+++ b/cc/layer_tree_host_impl.cc
@@ -1187,6 +1187,7 @@
// events are already in local layer coordinates so we can just apply them directly.
m_scrollDeltaIsInViewportSpace = (type == Gesture);
m_numImplThreadScrolls++;
+ m_client->renewTreePriority();
setNeedsUpdateDrawProperties();
return ScrollStarted;
}
@@ -1310,6 +1311,7 @@
if (didScroll) {
m_client->setNeedsCommitOnImplThread();
m_client->setNeedsRedrawOnImplThread();
+ m_client->renewTreePriority();
setNeedsUpdateDrawProperties();
}
return didScroll;
@@ -1331,6 +1333,7 @@
{
m_pinchGestureActive = true;
m_previousPinchAnchor = gfx::Point();
+ m_client->renewTreePriority();
}
void LayerTreeHostImpl::pinchGestureUpdate(float magnifyDelta, gfx::Point anchor)
@@ -1364,6 +1367,7 @@
m_client->setNeedsCommitOnImplThread();
m_client->setNeedsRedrawOnImplThread();
+ m_client->renewTreePriority();
setNeedsUpdateDrawProperties();
}