| 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 2faa6b2849543c5d7e0ed20a9e3b9a1f2674a5ab..55475fb0cc2c531f137da08a996e7d8eafd5d3f1 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1103,7 +1103,6 @@ DrawSwapReadbackResult::DrawResult LayerTreeHostImpl::PrepareToDraw(
|
| if (active_tree_->root_layer()) {
|
| device_viewport_damage_rect.Union(viewport_damage_rect_);
|
| viewport_damage_rect_ = gfx::Rect();
|
| -
|
| active_tree_->root_layer()->render_surface()->damage_tracker()->
|
| AddDamageNextUpdate(device_viewport_damage_rect);
|
| }
|
| @@ -1194,9 +1193,15 @@ void LayerTreeHostImpl::DidModifyTilePriorities() {
|
| }
|
|
|
| void LayerTreeHostImpl::DidInitializeVisibleTile() {
|
| - // TODO(reveman): Determine tiles that changed and only damage
|
| - // what's necessary.
|
| - SetFullRootLayerDamage();
|
| + std::map<int, gfx::Rect> map = tile_manager_->GetTileRectLayerMap();
|
| + for (std::map<int, gfx::Rect>::iterator it = map.begin(); it != map.end();
|
| + ++it) {
|
| + if (active_tree_)
|
| + active_tree_->FindActiveTreeLayerById(it->first)
|
| + ->SetInitializedTileRect(it->second);
|
| + }
|
| + tile_manager_->ResetTileRectLayerMap();
|
| +
|
| if (client_ && !client_->IsInsideDraw())
|
| client_->DidInitializeVisibleTileOnImplThread();
|
| }
|
|
|