| 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()); | |
| 139 EXPECT_TRUE(child->LayerPropertyChanged()); | |
| 140 EXPECT_TRUE(grand_child->LayerPropertyChanged()); | |
| 141 | 147 |
| 142 // Special case: check that SetBounds changes behavior depending on | 148 // Special case: check that SetBounds changes behavior depending on |
| 143 // masksToBounds. | 149 // masksToBounds. |
| 144 root->SetMasksToBounds(false); | 150 root->SetMasksToBounds(false); |
| 145 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetBounds(gfx::Size(135, 246))); | 151 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetBounds(gfx::Size(135, 246))); |
| 146 root->SetMasksToBounds(true); | 152 root->SetMasksToBounds(true); |
| 147 // Should be a different size than previous call, to ensure it marks tree | 153 // Should be a different size than previous call, to ensure it marks tree |
| 148 // changed. | 154 // changed. |
| 149 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBounds(arbitrary_size)); | 155 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBounds(arbitrary_size)); |
| 150 | 156 |
| 157 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 158 root->SetIsRootForIsolatedGroup(true)); |
| 159 |
| 151 // After setting all these properties already, setting to the exact same | 160 // After setting all these properties already, setting to the exact same |
| 152 // values again should not cause any change. | 161 // values again should not cause any change. |
| 153 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 162 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 154 root->SetAnchorPoint(arbitrary_point_f)); | 163 root->SetAnchorPoint(arbitrary_point_f)); |
| 155 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 164 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 156 root->SetAnchorPointZ(arbitrary_number)); | 165 root->SetAnchorPointZ(arbitrary_number)); |
| 157 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetMasksToBounds(true)); | 166 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetMasksToBounds(true)); |
| 158 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 167 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 159 root->SetPosition(arbitrary_point_f)); | 168 root->SetPosition(arbitrary_point_f)); |
| 160 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetPreserves3d(true)); | 169 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetPreserves3d(true)); |
| 161 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 170 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 162 root->SetTransform(arbitrary_transform)); | 171 root->SetTransform(arbitrary_transform)); |
| 163 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 172 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 164 root->SetDoubleSided(false)); // constructor initializes it to "true". | 173 root->SetDoubleSided(false)); // constructor initializes it to "true". |
| 165 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 174 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 166 root->SetScrollDelta(gfx::Vector2d())); | 175 root->SetScrollDelta(gfx::Vector2d())); |
| 167 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 176 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 168 root->SetScrollOffset(arbitrary_vector2d)); | 177 root->SetScrollOffset(arbitrary_vector2d)); |
| 169 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 178 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 170 root->SetContentBounds(arbitrary_size)); | 179 root->SetContentBounds(arbitrary_size)); |
| 171 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 180 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 172 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 181 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
| 173 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); | 182 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); |
| 174 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); | 183 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); |
| 184 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 185 root->SetBlendMode(arbitrary_blend_mode)); |
| 186 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 187 root->SetIsRootForIsolatedGroup(true)); |
| 175 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); | 188 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); |
| 176 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 189 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
| 177 root->SetSublayerTransform(arbitrary_transform)); | 190 root->SetSublayerTransform(arbitrary_transform)); |
| 178 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); | 191 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(arbitrary_size)); |
| 179 } | 192 } |
| 180 | 193 |
| 181 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { | 194 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { |
| 182 FakeImplProxy proxy; | 195 FakeImplProxy proxy; |
| 183 FakeLayerTreeHostImpl host_impl(&proxy); | 196 FakeLayerTreeHostImpl host_impl(&proxy); |
| 184 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 197 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); |
| 185 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); | 198 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl.active_tree(), 1); |
| 186 root->SetScrollable(true); | 199 root->SetScrollable(true); |
| 187 | 200 |
| 188 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); | 201 gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); |
| 189 float arbitrary_number = 0.352f; | 202 float arbitrary_number = 0.352f; |
| 190 gfx::Size arbitrary_size = gfx::Size(111, 222); | 203 gfx::Size arbitrary_size = gfx::Size(111, 222); |
| 191 gfx::Point arbitrary_point = gfx::Point(333, 444); | 204 gfx::Point arbitrary_point = gfx::Point(333, 444); |
| 192 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); | 205 gfx::Vector2d arbitrary_vector2d = gfx::Vector2d(111, 222); |
| 193 gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); | 206 gfx::Vector2d large_vector2d = gfx::Vector2d(1000, 1000); |
| 194 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); | 207 gfx::Rect arbitrary_rect = gfx::Rect(arbitrary_point, arbitrary_size); |
| 195 gfx::RectF arbitrary_rect_f = | 208 gfx::RectF arbitrary_rect_f = |
| 196 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); | 209 gfx::RectF(arbitrary_point_f, gfx::SizeF(1.234f, 5.678f)); |
| 197 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); | 210 SkColor arbitrary_color = SkColorSetRGB(10, 20, 30); |
| 198 gfx::Transform arbitrary_transform; | 211 gfx::Transform arbitrary_transform; |
| 199 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); | 212 arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
| 200 FilterOperations arbitrary_filters; | 213 FilterOperations arbitrary_filters; |
| 201 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 214 arbitrary_filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 215 SkXfermode::Mode arbitrary_blend_mode = SkXfermode::kMultiply_Mode; |
| 202 | 216 |
| 203 // Related filter functions. | 217 // Related filter functions. |
| 204 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 218 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 205 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 219 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 206 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); | 220 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); |
| 207 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 221 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 208 | 222 |
| 209 // Related scrolling functions. | 223 // Related scrolling functions. |
| 210 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)); | 224 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMaxScrollOffset(large_vector2d)); |
| 211 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 225 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| (...skipping 24 matching lines...) Expand all Loading... |
| 236 root->SetDoubleSided(false)); // constructor initializes it to "true". | 250 root->SetDoubleSided(false)); // constructor initializes it to "true". |
| 237 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentBounds(arbitrary_size)); | 251 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentBounds(arbitrary_size)); |
| 238 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 252 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 239 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 253 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
| 240 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); | 254 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); |
| 241 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 255 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 242 root->SetBackgroundColor(arbitrary_color)); | 256 root->SetBackgroundColor(arbitrary_color)); |
| 243 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 257 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 244 root->SetBackgroundFilters(arbitrary_filters)); | 258 root->SetBackgroundFilters(arbitrary_filters)); |
| 245 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); | 259 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); |
| 260 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBlendMode(arbitrary_blend_mode)); |
| 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)); |
| 269 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true)); |
| 254 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); | 270 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(arbitrary_filters)); |
| 255 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true)); | 271 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetMasksToBounds(true)); |
| 256 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true)); | 272 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetContentsOpaque(true)); |
| 257 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f)); | 273 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPosition(arbitrary_point_f)); |
| 258 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true)); | 274 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetPreserves3d(true)); |
| 259 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 275 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 260 root->SetDoubleSided(false)); // constructor initializes it to "true". | 276 root->SetDoubleSided(false)); // constructor initializes it to "true". |
| 261 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 277 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 262 root->SetContentBounds(arbitrary_size)); | 278 root->SetContentBounds(arbitrary_size)); |
| 263 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 279 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 264 root->SetContentsScale(arbitrary_number, arbitrary_number)); | 280 root->SetContentsScale(arbitrary_number, arbitrary_number)); |
| 265 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); | 281 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetDrawsContent(true)); |
| 266 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 282 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 267 root->SetBackgroundColor(arbitrary_color)); | 283 root->SetBackgroundColor(arbitrary_color)); |
| 268 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 284 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 269 root->SetBackgroundFilters(arbitrary_filters)); | 285 root->SetBackgroundFilters(arbitrary_filters)); |
| 270 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); | 286 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetOpacity(arbitrary_number)); |
| 271 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 287 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 288 root->SetBlendMode(arbitrary_blend_mode)); |
| 289 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetIsRootForIsolatedGroup(true)); |
| 290 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 272 root->SetTransform(arbitrary_transform)); | 291 root->SetTransform(arbitrary_transform)); |
| 273 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 292 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
| 274 root->SetSublayerTransform(arbitrary_transform)); | 293 root->SetSublayerTransform(arbitrary_transform)); |
| 275 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); | 294 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetBounds(arbitrary_size)); |
| 276 } | 295 } |
| 277 | 296 |
| 278 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { | 297 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { |
| 279 FakeImplProxy proxy; | 298 FakeImplProxy proxy; |
| 280 FakeLayerTreeHostImpl host_impl(&proxy); | 299 FakeLayerTreeHostImpl host_impl(&proxy); |
| 281 EXPECT_TRUE(host_impl.InitializeRenderer(CreateFakeOutputSurface())); | 300 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); | 575 layer()->SetMaxScrollOffset(max_scroll_offset); |
| 557 layer()->SetScrollOffset(scroll_offset); | 576 layer()->SetScrollOffset(scroll_offset); |
| 558 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 577 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
| 559 | 578 |
| 560 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 579 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
| 561 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 580 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
| 562 } | 581 } |
| 563 | 582 |
| 564 } // namespace | 583 } // namespace |
| 565 } // namespace cc | 584 } // namespace cc |
| OLD | NEW |