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

Side by Side Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 2744423002: Handle large rects better. (Closed)
Patch Set: Add comment and change constant reference. Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « base/numerics/saturated_arithmetic_arm.h ('k') | ui/gfx/geometry/rect.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 1106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 grand_child->SetDrawsContent(true); 1117 grand_child->SetDrawsContent(true);
1118 float device_scale_factor = 1.f; 1118 float device_scale_factor = 1.f;
1119 float page_scale_factor = 1.f; 1119 float page_scale_factor = 1.f;
1120 LayerImpl* page_scale_layer = nullptr; 1120 LayerImpl* page_scale_layer = nullptr;
1121 LayerImpl* inner_viewport_scroll_layer = nullptr; 1121 LayerImpl* inner_viewport_scroll_layer = nullptr;
1122 LayerImpl* outer_viewport_scroll_layer = nullptr; 1122 LayerImpl* outer_viewport_scroll_layer = nullptr;
1123 ExecuteCalculateDrawProperties(root, device_scale_factor, page_scale_factor, 1123 ExecuteCalculateDrawProperties(root, device_scale_factor, page_scale_factor,
1124 page_scale_layer, inner_viewport_scroll_layer, 1124 page_scale_layer, inner_viewport_scroll_layer,
1125 outer_viewport_scroll_layer); 1125 outer_viewport_scroll_layer);
1126 1126
1127 // Mapping grand_child's bounds to screen space produces an empty rect so 1127 // Mapping grand_child's bounds to screen space produces an empty rect, but
1128 // grand_child should be hidden. 1128 // only because it is turned sideways. The entire rect is contained inside
1129 EXPECT_EQ(gfx::Rect(), grand_child->visible_layer_rect()); 1129 // the clip, and is only empty so long as the numerical precision of the
1130 // transform is effectively perfect. Currently we do the calculation the
1131 // other way around, and the Projection of the screen space clip into layer
1132 // space includes the entire bounds.
1133 EXPECT_EQ(gfx::Rect(grand_child->bounds()),
1134 grand_child->visible_layer_rect());
1130 } 1135 }
1131 1136
1132 TEST_F(LayerTreeHostCommonTest, TransformsForDegenerateIntermediateLayer) { 1137 TEST_F(LayerTreeHostCommonTest, TransformsForDegenerateIntermediateLayer) {
1133 // A layer that is empty in one axis, but not the other, was accidentally 1138 // A layer that is empty in one axis, but not the other, was accidentally
1134 // skipping a necessary translation. Without that translation, the coordinate 1139 // skipping a necessary translation. Without that translation, the coordinate
1135 // space of the layer's draw transform is incorrect. 1140 // space of the layer's draw transform is incorrect.
1136 // 1141 //
1137 // Normally this isn't a problem, because the layer wouldn't be drawn anyway, 1142 // Normally this isn't a problem, because the layer wouldn't be drawn anyway,
1138 // but if that layer becomes a render surface, then its draw transform is 1143 // but if that layer becomes a render surface, then its draw transform is
1139 // implicitly inherited by the rest of the subtree, which then is positioned 1144 // implicitly inherited by the rest of the subtree, which then is positioned
(...skipping 9666 matching lines...) Expand 10 before | Expand all | Expand 10 after
10806 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); 10811 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index());
10807 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); 10812 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index());
10808 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); 10813 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index());
10809 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); 10814 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index());
10810 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); 10815 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index());
10811 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); 10816 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index());
10812 } 10817 }
10813 10818
10814 } // namespace 10819 } // namespace
10815 } // namespace cc 10820 } // namespace cc
OLDNEW
« no previous file with comments | « base/numerics/saturated_arithmetic_arm.h ('k') | ui/gfx/geometry/rect.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698