OLD | NEW |
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/layers/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include "cc/output/filter_operation.h" | 7 #include "cc/output/filter_operation.h" |
8 #include "cc/output/filter_operations.h" | 8 #include "cc/output/filter_operations.h" |
9 #include "cc/test/fake_impl_proxy.h" | 9 #include "cc/test/fake_impl_proxy.h" |
10 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 EXPECT_FALSE(child->LayerPropertyChanged()); \ | 33 EXPECT_FALSE(child->LayerPropertyChanged()); \ |
34 EXPECT_FALSE(grand_child->LayerPropertyChanged()); | 34 EXPECT_FALSE(grand_child->LayerPropertyChanged()); |
35 | 35 |
36 #define EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(code_to_test) \ | 36 #define EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(code_to_test) \ |
37 root->ResetAllChangeTrackingForSubtree(); \ | 37 root->ResetAllChangeTrackingForSubtree(); \ |
38 code_to_test; \ | 38 code_to_test; \ |
39 EXPECT_TRUE(root->LayerPropertyChanged()); \ | 39 EXPECT_TRUE(root->LayerPropertyChanged()); \ |
40 EXPECT_FALSE(child->LayerPropertyChanged()); \ | 40 EXPECT_FALSE(child->LayerPropertyChanged()); \ |
41 EXPECT_FALSE(grand_child->LayerPropertyChanged()); | 41 EXPECT_FALSE(grand_child->LayerPropertyChanged()); |
42 | 42 |
| 43 #define EXECUTE_AND_VERIFY_ONLY_DESCENDANTS_CHANGED(code_to_test) \ |
| 44 root->ResetAllChangeTrackingForSubtree(); \ |
| 45 code_to_test; \ |
| 46 EXPECT_FALSE(root->LayerPropertyChanged()); \ |
| 47 EXPECT_TRUE(child->LayerPropertyChanged()); \ |
| 48 EXPECT_TRUE(grand_child->LayerPropertyChanged()); |
| 49 |
43 #define VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(code_to_test) \ | 50 #define VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(code_to_test) \ |
44 root->ResetAllChangeTrackingForSubtree(); \ | 51 root->ResetAllChangeTrackingForSubtree(); \ |
45 host_impl.ForcePrepareToDraw(); \ | 52 host_impl.ForcePrepareToDraw(); \ |
46 EXPECT_FALSE(host_impl.active_tree()->needs_update_draw_properties()); \ | 53 EXPECT_FALSE(host_impl.active_tree()->needs_update_draw_properties()); \ |
47 code_to_test; \ | 54 code_to_test; \ |
48 EXPECT_TRUE(host_impl.active_tree()->needs_update_draw_properties()); | 55 EXPECT_TRUE(host_impl.active_tree()->needs_update_draw_properties()); |
49 | 56 |
50 #define VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(code_to_test) \ | 57 #define VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(code_to_test) \ |
51 root->ResetAllChangeTrackingForSubtree(); \ | 58 root->ResetAllChangeTrackingForSubtree(); \ |
52 host_impl.ForcePrepareToDraw(); \ | 59 host_impl.ForcePrepareToDraw(); \ |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 gfx::Point arbitrary_point = gfx::Point(333, 444); | 91 gfx::Point arbitrary_point = gfx::Point(333, 444); |
85 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); | 92 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); |
86 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); | 93 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); |
87 gfx::RectF arbitrary_rect_f = | 94 gfx::RectF arbitrary_rect_f = |
88 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); | 95 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); |
89 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); | 96 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); |
90 gfx::Transform arbitrary_transform; | 97 gfx::Transform arbitrary_transform; |
91 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); | 98 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
92 FilterOperations arbitrary_filters; | 99 FilterOperations arbitrary_filters; |
93 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 100 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 101 SkXfermode::Mode arbitrary_blend_mode = SkXfermode::kMultiply_Mode; |
94 | 102 |
95 // These properties are internal, and should not be considered "change" when | 103 // These properties are internal, and should not be considered "change" when |
96 // they are used. | 104 // they are used. |
97 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 105 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
98 root->set_update_rect(arbitrary_rect_f)); | 106 root->set_update_rect(arbitrary_rect_f)); |
99 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 107 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
100 root->SetMaxScrollOffset(arbitrary_vector2d)); | 108 root->SetMaxScrollOffset(arbitrary_vector2d)); |
101 | 109 |
102 // Changing these properties affects the entire subtree of layers. | 110 // Changing these properties affects the entire subtree of layers. |
103 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPoint(arbitrary_point_f)); | 111 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPoint(arbitrary_point_f)); |
104 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPointZ(arbitrary_number)); | 112 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetAnchorPointZ(arbitrary_number)); |
105 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(arbitrary_filters)); | 113 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(arbitrary_filters)); |
106 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(FilterOperations())); | 114 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetFilters(FilterOperations())); |
107 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( | 115 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( |
108 root->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4))); | 116 root->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4))); |
109 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetMasksToBounds(true)); | 117 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetMasksToBounds(true)); |
110 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true)); | 118 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true)); |
111 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( | 119 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( |
112 root->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5))); | 120 root->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5))); |
113 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPosition(arbitrary_point_f)); | 121 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPosition(arbitrary_point_f)); |
114 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPreserves3d(true)); | 122 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPreserves3d(true)); |
115 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( | 123 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( |
116 root->SetDoubleSided(false)); // constructor initializes it to "true". | 124 root->SetDoubleSided(false)); // constructor initializes it to "true". |
117 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d)); | 125 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d)); |
118 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollDelta(gfx::Vector2d())); | 126 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollDelta(gfx::Vector2d())); |
119 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollOffset(arbitrary_vector2d)); | 127 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollOffset(arbitrary_vector2d)); |
120 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetHideLayerAndSubtree(true)); | 128 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetHideLayerAndSubtree(true)); |
121 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetOpacity(arbitrary_number)); | 129 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetOpacity(arbitrary_number)); |
| 130 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBlendMode(arbitrary_blend_mode)); |
122 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetTransform(arbitrary_transform)); | 131 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetTransform(arbitrary_transform)); |
123 | 132 |
124 // Changing these properties only affects the layer itself. | 133 // Changing these properties only affects the layer itself. |
125 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetContentBounds(arbitrary_size)); | 134 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetContentBounds(arbitrary_size)); |
126 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( | 135 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( |
127 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 136 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
128 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true)); | 137 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true)); |
129 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( | 138 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( |
130 root->SetBackgroundColor(arbitrary_color)); | 139 root->SetBackgroundColor(arbitrary_color)); |
131 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( | 140 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( |
132 root->SetBackgroundFilters(arbitrary_filters)); | 141 root->SetBackgroundFilters(arbitrary_filters)); |
133 | 142 |
134 // Special case: check that sublayer transform changes all layer's | 143 // Changing these properties affects all layer's descendants, |
135 // descendants, but not the layer itself. | 144 // but not the layer itself. |
136 root->ResetAllChangeTrackingForSubtree(); | 145 EXECUTE_AND_VERIFY_ONLY_DESCENDANTS_CHANGED( |
137 root->SetSublayerTransform(arbitrary_transform); | 146 root->SetSublayerTransform(arbitrary_transform)); |
138 EXPECT_FALSE(root->LayerPropertyChanged()); | 147 EXECUTE_AND_VERIFY_ONLY_DESCENDANTS_CHANGED( |
139 EXPECT_TRUE(child->LayerPropertyChanged()); | 148 root->SetIsRootForIsolatedGroup(true)); |
140 EXPECT_TRUE(grand_child->LayerPropertyChanged()); | |
141 | 149 |
142 // Special case: check that SetBounds changes behavior depending on | 150 // Special case: check that SetBounds changes behavior depending on |
143 // masksToBounds. | 151 // masksToBounds. |
144 root->SetMasksToBounds(false); | 152 root->SetMasksToBounds(false); |
145 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetBounds(gfx::Size(135, 246))); | 153 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetBounds(gfx::Size(135, 246))); |
146 root->SetMasksToBounds(true); | 154 root->SetMasksToBounds(true); |
147 // Should be a different size than previous call, to ensure it marks tree | 155 // Should be a different size than previous call, to ensure it marks tree |
148 // changed. | 156 // changed. |
149 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBounds(arbitrary_size)); | 157 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBounds(arbitrary_size)); |
150 | 158 |
(...skipping 14 matching lines...) Expand all Loading... |
165 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 173 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
166 root->SetScrollDelta(gfx::Vector2d())); | 174 root->SetScrollDelta(gfx::Vector2d())); |
167 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 175 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
168 root->SetScrollOffset(arbitrary_vector2d)); | 176 root->SetScrollOffset(arbitrary_vector2d)); |
169 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 177 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
170 root->SetContentBounds(arbitrary_size)); | 178 root->SetContentBounds(arbitrary_size)); |
171 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 179 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
172 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 180 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
173 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); | 181 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); |
174 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); | 182 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); |
| 183 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 184 root->SetBlendMode(arbitrary_blend_mode)); |
| 185 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 186 root->SetIsRootForIsolatedGroup(true)); |
175 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); | 187 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); |
176 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 188 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
177 root->SetSublayerTransform(arbitrary_transform)); | 189 root->SetSublayerTransform(arbitrary_transform)); |
178 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); | 190 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); |
179 } | 191 } |
180 | 192 |
181 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { | 193 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { |
182 FakeImplProxy proxy; | 194 FakeImplProxy proxy; |
183 FakeLayerTreeHostImpl host_impl(&proxy); | 195 FakeLayerTreeHostImpl host_impl(&proxy); |
184 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 196 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); |
185 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); | 197 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); |
186 root->SetScrollable(true); | 198 root->SetScrollable(true); |
187 | 199 |
188 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); | 200 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); |
189 float arbitrary_number = 0.352f; | 201 float arbitrary_number = 0.352f; |
190 gfx::Size arbitrary_size = gfx::Size(111, 222); | 202 gfx::Size arbitrary_size = gfx::Size(111, 222); |
191 gfx::Point arbitrary_point = gfx::Point(333, 444); | 203 gfx::Point arbitrary_point = gfx::Point(333, 444); |
192 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); | 204 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); |
193 gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); | 205 gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); |
194 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); | 206 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); |
195 gfx::RectF arbitrary_rect_f = | 207 gfx::RectF arbitrary_rect_f = |
196 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); | 208 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); |
197 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); | 209 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); |
198 gfx::Transform arbitrary_transform; | 210 gfx::Transform arbitrary_transform; |
199 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); | 211 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
200 FilterOperations arbitrary_filters; | 212 FilterOperations arbitrary_filters; |
201 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 213 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 214 SkXfermode::Mode arbitrary_blend_mode = SkXfermode::kMultiply_Mode; |
202 | 215 |
203 // Related filter functions. | 216 // Related filter functions. |
204 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 217 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
205 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 218 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
206 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); | 219 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); |
207 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 220 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
208 | 221 |
209 // Related scrolling functions. | 222 // Related scrolling functions. |
210 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)); | 223 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)); |
211 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 224 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
(...skipping 24 matching lines...) Expand all Loading... |
236 root->SetDoubleSided(false)); // constructor initializes it to "true". | 249 root->SetDoubleSided(false)); // constructor initializes it to "true". |
237 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentBounds(arbitrary_size)); | 250 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentBounds(arbitrary_size)); |
238 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 251 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
239 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 252 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
240 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); | 253 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); |
241 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 254 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
242 root->SetBackgroundColor(arbitrary_color)); | 255 root->SetBackgroundColor(arbitrary_color)); |
243 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 256 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
244 root->SetBackgroundFilters(arbitrary_filters)); | 257 root->SetBackgroundFilters(arbitrary_filters)); |
245 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); | 258 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); |
| 259 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBlendMode(arbitrary_blend_mode)); |
| 260 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true)); |
246 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetTransform(arbitrary_transform)); | 261 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetTransform(arbitrary_transform)); |
247 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 262 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
248 root->SetSublayerTransform(arbitrary_transform)); | 263 root->SetSublayerTransform(arbitrary_transform)); |
249 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); | 264 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); |
250 | 265 |
251 // Unrelated functions, set to the same values, no needs update. | 266 // Unrelated functions, set to the same values, no needs update. |
252 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 267 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
253 root->SetAnchorPointZ(arbitrary_number)); | 268 root->SetAnchorPointZ(arbitrary_number)); |
254 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 269 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
255 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true)); | 270 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true)); |
256 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true)); | 271 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true)); |
257 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f)); | 272 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f)); |
258 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true)); | 273 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true)); |
259 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 274 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
260 root->SetDoubleSided(false)); // constructor initializes it to "true". | 275 root->SetDoubleSided(false)); // constructor initializes it to "true". |
261 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 276 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
262 root->SetContentBounds(arbitrary_size)); | 277 root->SetContentBounds(arbitrary_size)); |
263 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 278 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
264 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 279 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
265 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); | 280 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); |
266 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 281 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
267 root->SetBackgroundColor(arbitrary_color)); | 282 root->SetBackgroundColor(arbitrary_color)); |
268 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 283 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
269 root->SetBackgroundFilters(arbitrary_filters)); | 284 root->SetBackgroundFilters(arbitrary_filters)); |
270 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); | 285 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); |
271 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 286 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 287 root->SetBlendMode(arbitrary_blend_mode)); |
| 288 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true)); |
| 289 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
272 root->SetTransform(arbitrary_transform)); | 290 root->SetTransform(arbitrary_transform)); |
273 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 291 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
274 root->SetSublayerTransform(arbitrary_transform)); | 292 root->SetSublayerTransform(arbitrary_transform)); |
275 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); | 293 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); |
276 } | 294 } |
277 | 295 |
278 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { | 296 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { |
279 FakeImplProxy proxy; | 297 FakeImplProxy proxy; |
280 FakeLayerTreeHostImpl host_impl(&proxy); | 298 FakeLayerTreeHostImpl host_impl(&proxy); |
281 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 299 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 layer()->SetMaxScrollOffset(max_scroll_offset); | 574 layer()->SetMaxScrollOffset(max_scroll_offset); |
557 layer()->SetScrollOffset(scroll_offset); | 575 layer()->SetScrollOffset(scroll_offset); |
558 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 576 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
559 | 577 |
560 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 578 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
561 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 579 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
562 } | 580 } |
563 | 581 |
564 } // namespace | 582 } // namespace |
565 } // namespace cc | 583 } // namespace cc |
OLD | NEW |