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

Unified Diff: cc/trees/occlusion_tracker.cc

Issue 1479883002: cc: Fix draw transform computation for non-drawn layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove LayerImpl::draw_transform() Created 5 years, 1 month 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/trees/occlusion_tracker.cc
diff --git a/cc/trees/occlusion_tracker.cc b/cc/trees/occlusion_tracker.cc
index b86f8547db84b4adec7a9623368db3dd46dfd244..43ab6c4b0a59de6296376ed2dcf51d54d9bfdfcc 100644
--- a/cc/trees/occlusion_tracker.cc
+++ b/cc/trees/occlusion_tracker.cc
@@ -361,8 +361,9 @@ void OcclusionTracker::MarkOccludedBehindLayer(const LayerImpl* layer) {
DCHECK(layer->visible_layer_rect().Contains(opaque_layer_region.bounds()));
+ gfx::Transform draw_transform = layer->DrawTransform();
// TODO(danakj): Find a rect interior to each transformed quad.
- if (!layer->draw_transform().Preserves2dAxisAlignment())
+ if (!draw_transform.Preserves2dAxisAlignment())
return;
gfx::Rect clip_rect_in_target = ScreenSpaceClipRectInTargetSurface(
@@ -377,7 +378,7 @@ void OcclusionTracker::MarkOccludedBehindLayer(const LayerImpl* layer) {
for (size_t i = 0; i < opaque_layer_region.GetRegionComplexity(); ++i) {
gfx::Rect transformed_rect =
MathUtil::MapEnclosedRectWith2dAxisAlignedTransform(
- layer->draw_transform(), opaque_layer_region.GetRect(i));
+ draw_transform, opaque_layer_region.GetRect(i));
transformed_rect.Intersect(clip_rect_in_target);
if (transformed_rect.width() < minimum_tracking_size_.width() &&
transformed_rect.height() < minimum_tracking_size_.height())

Powered by Google App Engine
This is Rietveld 408576698