Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index ee0a6c8495917a0e78ad3159bf8b23aab94dbc57..193d5fc4b6c2e57a94702a9f7a702f01298b422c 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -1367,4 +1367,24 @@ bool PictureLayerImpl::HasValidTilePriorities() const { |
is_drawn_render_surface_layer_list_member(); |
} |
+void PictureLayerImpl::InvalidateRegionForImages( |
+ const std::unordered_set<ImageId>& 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); |
+ |
+ TRACE_EVENT_END1("cc", "PictureLayerImpl::InvalidateRegionForImages", |
vmpstr
2017/02/13 22:49:30
Hmm, this doesn't capture the duration of the Unio
Khushal
2017/02/14 05:10:22
Done.
|
+ "Invalidation", invalidation.ToString()); |
+ |
+ if (invalidation.IsEmpty()) |
+ return; |
+ invalidation_.Union(invalidation); |
+ tilings_->UpdateTilingsForImplSideInvalidation(invalidation); |
+ SetNeedsPushProperties(); |
+} |
+ |
} // namespace cc |