Chromium Code Reviews| Index: cc/trees/layer_tree_host_impl.cc |
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
| index 816383a6eb136e180b8874cce0576b24b1852120..f86009503d2b2180ceebf83fed3f49e94d1f4ede 100644 |
| --- a/cc/trees/layer_tree_host_impl.cc |
| +++ b/cc/trees/layer_tree_host_impl.cc |
| @@ -2508,9 +2508,18 @@ void LayerTreeHostImpl::SetTreePriority(TreePriority priority) { |
| if (new_state.tree_priority == priority) |
| return; |
| + TRACE_EVENT0("cc", "LayerTreeHostImpl::SetTreePriority"); |
| + |
| new_state.tree_priority = priority; |
| tile_manager_->SetGlobalState(new_state); |
| manage_tiles_needed_ = true; |
| + |
| + // In smoothness-takes-priority, we may finish rastering without |
| + // activating. We need to guarantee ManageTiles is called after this |
| + // case, or we will block activation until after the next compositor |
| + // frame (webkit is live-locked in the mean time). |
| + if (priority != SMOOTHNESS_TAKES_PRIORITY) |
|
reveman
2013/09/10 19:21:20
why not when entering SMOOTHNESS_TAKES_PRIORITY or
epennerAtGoogle
2013/09/10 19:36:55
The reason we are calling it here is to not starve
reveman
2013/09/10 19:57:54
How are we guaranteeing that a new frame is produc
|
| + ManageTiles(); |
| } |
| void LayerTreeHostImpl::ResetCurrentFrameTimeForNextFrame() { |