Index: cc/resources/picture_layer_tiling_set.cc |
diff --git a/cc/resources/picture_layer_tiling_set.cc b/cc/resources/picture_layer_tiling_set.cc |
index 93d85f7b22e33212fc4ef30436317bd6f8978d6e..561793067d16bb7ec093ce818021618e7d58c121 100644 |
--- a/cc/resources/picture_layer_tiling_set.cc |
+++ b/cc/resources/picture_layer_tiling_set.cc |
@@ -77,7 +77,7 @@ void PictureLayerTilingSet::CopyTilingsAndPropertiesFromPendingTwin( |
this_tiling = tilings_.back(); |
tiling_sort_required = true; |
} |
- this_tiling->CloneTilesAndPropertiesFrom(*pending_twin_tiling); |
+ this_tiling->TakeTilesAndPropertiesFrom(pending_twin_tiling); |
} |
if (tiling_sort_required) |
@@ -105,7 +105,6 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSourceForActivation( |
tiling->SetRasterSourceAndResize(raster_source); |
tiling->Invalidate(layer_invalidation); |
- tiling->SetRasterSourceOnTiles(); |
// This is needed for cases where the live tiles rect didn't change but |
// recordings exist in the raster source that did not exist on the last |
// raster source. |
@@ -131,7 +130,6 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSourceForCommit( |
for (PictureLayerTiling* tiling : tilings_) { |
tiling->SetRasterSourceAndResize(raster_source); |
tiling->Invalidate(layer_invalidation); |
- tiling->SetRasterSourceOnTiles(); |
// This is needed for cases where the live tiles rect didn't change but |
// recordings exist in the raster source that did not exist on the last |
// raster source. |
@@ -146,6 +144,9 @@ void PictureLayerTilingSet::UpdateRasterSourceDueToLCDChange( |
for (PictureLayerTiling* tiling : tilings_) { |
tiling->SetRasterSourceAndResize(raster_source); |
tiling->Invalidate(layer_invalidation); |
+ // Since the invalidation changed, we need to create any missing tiles in |
+ // the live tiles rect again. |
+ tiling->CreateMissingTilesInLiveTilesRect(); |
tiling->VerifyAllTilesHaveCurrentRasterSource(); |
} |
} |