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 |