| Index: cc/layers/picture_layer_impl.cc
|
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
|
| index 5012061c28551ab22bfccde0fce4d8b88c0867ce..626c4ae4b16356b6e7c50f9a3cff829d927902bd 100644
|
| --- a/cc/layers/picture_layer_impl.cc
|
| +++ b/cc/layers/picture_layer_impl.cc
|
| @@ -1380,4 +1380,27 @@ bool PictureLayerImpl::HasValidTilePriorities() const {
|
| is_drawn_render_surface_layer_list_member();
|
| }
|
|
|
| +void PictureLayerImpl::InvalidateRegionForImages(
|
| + const ImageIdFlatSet& images_to_invalidate) {
|
| + TRACE_EVENT_BEGIN0("cc", "PictureLayerImpl::InvalidateRegionForImages");
|
| +
|
| + InvalidationRegion image_invalidation;
|
| + for (auto image_id : images_to_invalidate)
|
| + image_invalidation.Union(raster_source_->GetRectForImage(image_id));
|
| + Region invalidation;
|
| + image_invalidation.Swap(&invalidation);
|
| +
|
| + if (invalidation.IsEmpty()) {
|
| + TRACE_EVENT_END1("cc", "PictureLayerImpl::InvalidateRegionForImages",
|
| + "Invalidation", invalidation.ToString());
|
| + return;
|
| + }
|
| +
|
| + invalidation_.Union(invalidation);
|
| + tilings_->UpdateTilingsForImplSideInvalidation(invalidation);
|
| + SetNeedsPushProperties();
|
| + TRACE_EVENT_END1("cc", "PictureLayerImpl::InvalidateRegionForImages",
|
| + "Invalidation", invalidation.ToString());
|
| +}
|
| +
|
| } // namespace cc
|
|
|