Index: cc/trees/thread_proxy.cc |
diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc |
index 4a95140226db8fd2c72da44e632ebdd880bf1f5e..f05083b9b7f0ca38ef529d19efd3612aedadeaa7 100644 |
--- a/cc/trees/thread_proxy.cc |
+++ b/cc/trees/thread_proxy.cc |
@@ -1327,8 +1327,7 @@ void ThreadProxy::RenewTreePriority() { |
bool smoothness_takes_priority = |
impl().layer_tree_host_impl->pinch_gesture_active() || |
impl().layer_tree_host_impl->page_scale_animation_active() || |
- (impl().layer_tree_host_impl->IsCurrentlyScrolling() && |
- !impl().layer_tree_host_impl->scroll_affects_scroll_handler()); |
+ impl().layer_tree_host_impl->IsCurrentlyScrolling(); |
// Schedule expiration if smoothness currently takes priority. |
if (smoothness_takes_priority) |
@@ -1355,8 +1354,14 @@ void ThreadProxy::RenewTreePriority() { |
} |
impl().layer_tree_host_impl->SetTreePriority(priority); |
- impl().scheduler->SetSmoothnessTakesPriority(priority == |
- SMOOTHNESS_TAKES_PRIORITY); |
+ |
+ // Only put the scheduler in prefer_smoothness_mode if we don't have a scroll |
+ // listener. This gives the scroll listener a better chance of handling |
+ // scroll updates within the same frame. The tree itself is still kept in |
+ // prefer smoothness mode to allow checkerboarding. |
+ impl().scheduler->SetSmoothnessTakesPriority( |
brianderson
2014/09/03 20:01:57
Should we rename the concept in the scheduler sinc
|
+ priority == SMOOTHNESS_TAKES_PRIORITY && |
+ !impl().layer_tree_host_impl->scroll_affects_scroll_handler()); |
// Notify the the client of this compositor via the output surface. |
// TODO(epenner): Route this to compositor-thread instead of output-surface |