Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Unified Diff: cc/layers/picture_layer.cc

Issue 294163009: cc: Expand invalidation to full tile when recording is missing for the tile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: pictureslow: complicated. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/layers/picture_layer.cc
diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc
index 0a6e276db27d49ad30ccdf246660c715813ac1b0..61dce741949192a0699c82a2817404f720350eb6 100644
--- a/cc/layers/picture_layer.cc
+++ b/cc/layers/picture_layer.cc
@@ -121,16 +121,22 @@ bool PictureLayer::Update(ResourceUpdateQueue* queue,
// the full page content must always be provided in the picture layer.
visible_layer_rect = gfx::Rect(bounds());
}
+
+ // UpdateAndExpandInvalidation will give us an invalidation that covers
+ // anything not explicitly recorded in this frame. We give this region
+ // to the impl side so that it drops tiles that may not have a recording
+ // for them.
DCHECK(client_);
- updated |= pile_->Update(client_,
- SafeOpaqueBackgroundColor(),
- contents_opaque(),
- client_->FillsBoundsCompletely(),
- pile_invalidation_,
- visible_layer_rect,
- update_source_frame_number_,
- RecordingMode(),
- rendering_stats_instrumentation());
+ updated |=
+ pile_->UpdateAndExpandInvalidation(client_,
+ &pile_invalidation_,
+ SafeOpaqueBackgroundColor(),
+ contents_opaque(),
+ client_->FillsBoundsCompletely(),
+ visible_layer_rect,
+ update_source_frame_number_,
+ RecordingMode(),
+ rendering_stats_instrumentation());
last_updated_visible_content_rect_ = visible_content_rect();
if (updated) {

Powered by Google App Engine
This is Rietveld 408576698