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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 659683002: Include mask texture size in RenderPassDrawQuad (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_mask_draw_quad_test
Patch Set: No ToEnclosedRect Created 6 years, 2 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
« no previous file with comments | « cc/layers/picture_layer_impl.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {
« no previous file with comments | « cc/layers/picture_layer_impl.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698