| Index: cc/layers/picture_layer_impl.cc
|
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
|
| index 1979d70607c76d93e6d7309e47b5bd83b1c7a2e7..770e41c9fac84d6ccf2276cd66d477722db0527b 100644
|
| --- a/cc/layers/picture_layer_impl.cc
|
| +++ b/cc/layers/picture_layer_impl.cc
|
| @@ -806,14 +806,18 @@ void PictureLayerImpl::SyncTiling(
|
| }
|
| }
|
|
|
| -ResourceProvider::ResourceId PictureLayerImpl::ContentsResourceId() const {
|
| - gfx::Rect content_rect(content_bounds());
|
| +void PictureLayerImpl::ContentsResourceId(
|
| + ResourceProvider::ResourceId* resource_id,
|
| + gfx::Size* resource_size) const {
|
| + gfx::Rect content_rect(bounds());
|
| PictureLayerTilingSet::CoverageIterator iter(
|
| tilings_.get(), 1.f, content_rect, ideal_contents_scale_);
|
|
|
| // Mask resource not ready yet.
|
| - if (!iter || !*iter)
|
| - return 0;
|
| + if (!iter || !*iter) {
|
| + *resource_id = 0;
|
| + return;
|
| + }
|
|
|
| // Masks only supported if they fit on exactly one tile.
|
| DCHECK(iter.geometry_rect() == content_rect)
|
| @@ -822,10 +826,13 @@ ResourceProvider::ResourceId PictureLayerImpl::ContentsResourceId() const {
|
|
|
| const ManagedTileState::DrawInfo& draw_info = iter->draw_info();
|
| if (!draw_info.IsReadyToDraw() ||
|
| - draw_info.mode() != ManagedTileState::DrawInfo::RESOURCE_MODE)
|
| - return 0;
|
| + draw_info.mode() != ManagedTileState::DrawInfo::RESOURCE_MODE) {
|
| + *resource_id = 0;
|
| + return;
|
| + }
|
|
|
| - return draw_info.get_resource_id();
|
| + *resource_id = draw_info.get_resource_id();
|
| + *resource_size = iter.texture_size();
|
| }
|
|
|
| void PictureLayerImpl::DoPostCommitInitialization() {
|
|
|