| 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 072e8e7efbf2d6ae30186f8514e2d47b790961b8..90ac2f33806f04244949606caa64e97e3d25a0a2 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1195,7 +1195,14 @@ void LayerTreeHostImpl::DidModifyTilePriorities() {
|
| void LayerTreeHostImpl::DidInitializeVisibleTile() {
|
| // TODO(reveman): Determine tiles that changed and only damage
|
| // what's necessary.
|
| - SetFullRootLayerDamage();
|
| + gfx::Rect rect = tile_manager_->GetDamagedRect();
|
| + if (rect.width() * rect.height() <=
|
| + DrawViewportSize().width() * DrawViewportSize().height())
|
| + SetViewportDamage(rect);
|
| + else
|
| + SetFullRootLayerDamage();
|
| + tile_manager_->ResetDamagedRect();
|
| +
|
| if (client_ && !client_->IsInsideDraw())
|
| client_->DidInitializeVisibleTileOnImplThread();
|
| }
|
|
|