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..7c3283fef88e8f9d658387b0e5cbfbe7e483dc4b 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::GetContentsResourceId( |
+ 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() { |