| 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 54e79baf8e28f3a7f630ed252155685b0ef72a78..f2c04f5b0cf580d0b55b389e601099e5b1fe3e4c 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -197,7 +197,7 @@ LayerTreeHostImpl::LayerTreeHostImpl(
|
| did_lock_scrolling_layer_(false),
|
| should_bubble_scrolls_(false),
|
| wheel_scrolling_(false),
|
| - manage_tiles_needed_(false),
|
| + tile_priorities_dirty_(false),
|
| root_layer_scroll_offset_delegate_(NULL),
|
| settings_(settings),
|
| visible_(true),
|
| @@ -279,7 +279,7 @@ void LayerTreeHostImpl::CommitComplete() {
|
| pending_tree_->set_needs_update_draw_properties();
|
| pending_tree_->UpdateDrawProperties();
|
| // Start working on newly created tiles immediately if needed.
|
| - if (!tile_manager_ || !manage_tiles_needed_)
|
| + if (!tile_manager_ || !tile_priorities_dirty_)
|
| NotifyReadyToActivate();
|
| else
|
| ManageTiles();
|
| @@ -357,12 +357,12 @@ void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time,
|
| void LayerTreeHostImpl::ManageTiles() {
|
| if (!tile_manager_)
|
| return;
|
| - if (!manage_tiles_needed_)
|
| + if (!tile_priorities_dirty_)
|
| return;
|
| if (!device_viewport_valid_for_tile_management_)
|
| return;
|
|
|
| - manage_tiles_needed_ = false;
|
| + tile_priorities_dirty_ = false;
|
| tile_manager_->ManageTiles();
|
|
|
| size_t memory_required_bytes;
|
| @@ -1138,8 +1138,16 @@ void LayerTreeHostImpl::UpdateTileManagerMemoryPolicy(
|
| policy.priority_cutoff_when_visible :
|
| policy.priority_cutoff_when_not_visible);
|
| new_state.num_resources_limit = policy.num_resources_limit;
|
| +
|
| tile_manager_->SetGlobalState(new_state);
|
| - manage_tiles_needed_ = true;
|
| + DidModifyTilePriorities();
|
| +}
|
| +
|
| +void LayerTreeHostImpl::DidModifyTilePriorities() {
|
| + DCHECK(settings_.impl_side_painting);
|
| + // Mark priorities as dirty and schedule a ManageTiles().
|
| + tile_priorities_dirty_ = true;
|
| + client_->SetNeedsManageTilesOnImplThread();
|
| }
|
|
|
| void LayerTreeHostImpl::DidInitializeVisibleTile() {
|
| @@ -2551,7 +2559,7 @@ void LayerTreeHostImpl::SetTreePriority(TreePriority priority) {
|
|
|
| new_state.tree_priority = priority;
|
| tile_manager_->SetGlobalState(new_state);
|
| - manage_tiles_needed_ = true;
|
| + DidModifyTilePriorities();
|
| }
|
|
|
| void LayerTreeHostImpl::ResetCurrentFrameTimeForNextFrame() {
|
|
|