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();
 }