Chromium Code Reviews| 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 |