Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 2faa67bfe594b56e297f680b492824f053c026f5..e9c2c8e31b10c054201edb6cdb62b220d44d5773 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -855,7 +855,8 @@ |
PictureLayerTiling* tiling = tilings_->AddTiling(contents_scale); |
- DCHECK(pile_->HasRecordings()); |
+ const Region& recorded = pile_->recorded_region(); |
+ DCHECK(!recorded.IsEmpty()); |
if (twin_layer_ && twin_layer_->should_use_gpu_rasterization() == |
should_use_gpu_rasterization()) |
@@ -1166,7 +1167,7 @@ |
bool PictureLayerImpl::CanHaveTilings() const { |
if (!DrawsContent()) |
return false; |
- if (!pile_->HasRecordings()) |
+ if (pile_->recorded_region().IsEmpty()) |
return false; |
return true; |
} |
@@ -1210,6 +1211,11 @@ |
state->Set("tilings", tilings_->AsValue().release()); |
state->Set("pictures", pile_->AsValue().release()); |
state->Set("invalidation", invalidation_.AsValue().release()); |
+ |
+ Region unrecorded_region(gfx::Rect(pile_->size())); |
+ unrecorded_region.Subtract(pile_->recorded_region()); |
+ if (!unrecorded_region.IsEmpty()) |
+ state->Set("unrecorded_region", unrecorded_region.AsValue().release()); |
scoped_ptr<base::ListValue> coverage_tiles(new base::ListValue); |
for (PictureLayerTilingSet::CoverageIterator iter(tilings_.get(), |