Chromium Code Reviews| 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/base/filter_operation.h" | 7 #include "cc/base/filter_operation.h" |
| 8 #include "cc/base/filter_operations.h" | 8 #include "cc/base/filter_operations.h" |
| 9 #include "cc/layers/painted_scrollbar_layer_impl.h" | 9 #include "cc/layers/painted_scrollbar_layer_impl.h" |
| 10 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 10 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 131 EXPECT_TRUE(host_impl.InitializeRenderer(compositor_frame_sink.get())); | 131 EXPECT_TRUE(host_impl.InitializeRenderer(compositor_frame_sink.get())); |
| 132 std::unique_ptr<LayerImpl> root_clip_ptr = | 132 std::unique_ptr<LayerImpl> root_clip_ptr = |
| 133 LayerImpl::Create(host_impl.active_tree(), 1); | 133 LayerImpl::Create(host_impl.active_tree(), 1); |
| 134 LayerImpl* root_clip = root_clip_ptr.get(); | 134 LayerImpl* root_clip = root_clip_ptr.get(); |
| 135 std::unique_ptr<LayerImpl> root_ptr = | 135 std::unique_ptr<LayerImpl> root_ptr = |
| 136 LayerImpl::Create(host_impl.active_tree(), 2); | 136 LayerImpl::Create(host_impl.active_tree(), 2); |
| 137 LayerImpl* root = root_ptr.get(); | 137 LayerImpl* root = root_ptr.get(); |
| 138 root_clip_ptr->test_properties()->AddChild(std::move(root_ptr)); | 138 root_clip_ptr->test_properties()->AddChild(std::move(root_ptr)); |
| 139 host_impl.active_tree()->SetRootLayerForTesting(std::move(root_clip_ptr)); | 139 host_impl.active_tree()->SetRootLayerForTesting(std::move(root_clip_ptr)); |
| 140 | 140 |
| 141 // Make root the inner viewport scroll layer. This ensures the later call to | |
|
enne (OOO)
2017/04/24 18:05:08
Should this done in FakeLayerTreeHostImpl?
pdr.
2017/04/24 20:06:49
I don't think so because the layers are setup in t
| |
| 142 // |SetViewportBoundsDelta| will be on a viewport layer. | |
| 143 host_impl.active_tree()->SetViewportLayersFromIds( | |
| 144 Layer::INVALID_ID, Layer::INVALID_ID, root->id(), Layer::INVALID_ID); | |
| 145 | |
| 141 root->test_properties()->force_render_surface = true; | 146 root->test_properties()->force_render_surface = true; |
| 142 root->SetMasksToBounds(true); | 147 root->SetMasksToBounds(true); |
| 143 root->layer_tree_impl()->ResetAllChangeTracking(); | 148 root->layer_tree_impl()->ResetAllChangeTracking(); |
| 144 | 149 |
| 145 root->test_properties()->AddChild( | 150 root->test_properties()->AddChild( |
| 146 LayerImpl::Create(host_impl.active_tree(), 7)); | 151 LayerImpl::Create(host_impl.active_tree(), 7)); |
| 147 LayerImpl* child = root->test_properties()->children[0]; | 152 LayerImpl* child = root->test_properties()->children[0]; |
| 148 child->test_properties()->AddChild( | 153 child->test_properties()->AddChild( |
| 149 LayerImpl::Create(host_impl.active_tree(), 8)); | 154 LayerImpl::Create(host_impl.active_tree(), 8)); |
| 150 LayerImpl* grand_child = child->test_properties()->children[0]; | 155 LayerImpl* grand_child = child->test_properties()->children[0]; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 185 host_impl.active_tree()->SetFilterMutated(root->element_id(), | 190 host_impl.active_tree()->SetFilterMutated(root->element_id(), |
| 186 FilterOperations())); | 191 FilterOperations())); |
| 187 EXECUTE_AND_VERIFY_NO_NEED_TO_PUSH_PROPERTIES_AND_SUBTREE_CHANGED( | 192 EXECUTE_AND_VERIFY_NO_NEED_TO_PUSH_PROPERTIES_AND_SUBTREE_CHANGED( |
| 188 host_impl.active_tree()->SetOpacityMutated(root->element_id(), | 193 host_impl.active_tree()->SetOpacityMutated(root->element_id(), |
| 189 arbitrary_number)); | 194 arbitrary_number)); |
| 190 EXECUTE_AND_VERIFY_NO_NEED_TO_PUSH_PROPERTIES_AND_SUBTREE_CHANGED( | 195 EXECUTE_AND_VERIFY_NO_NEED_TO_PUSH_PROPERTIES_AND_SUBTREE_CHANGED( |
| 191 host_impl.active_tree()->SetTransformMutated(root->element_id(), | 196 host_impl.active_tree()->SetTransformMutated(root->element_id(), |
| 192 arbitrary_transform)); | 197 arbitrary_transform)); |
| 193 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d); | 198 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d); |
| 194 root->SetNeedsPushProperties()); | 199 root->SetNeedsPushProperties()); |
| 195 // SetBoundsDelta changes subtree only when masks_to_bounds is true and it | 200 // SetViewportBoundsDelta changes subtree only when masks_to_bounds is true |
| 196 // doesn't set needs_push_properties as it is always called on active tree. | 201 // and it doesn't set needs_push_properties as it is always called on active |
| 202 // tree. | |
| 197 root->SetMasksToBounds(true); | 203 root->SetMasksToBounds(true); |
| 198 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBoundsDelta(arbitrary_vector2d); | 204 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( |
| 199 root->SetNeedsPushProperties()); | 205 root->SetViewportBoundsDelta(arbitrary_vector2d); |
| 206 root->SetNeedsPushProperties()); | |
| 200 | 207 |
| 201 // Changing these properties only affects the layer itself. | 208 // Changing these properties only affects the layer itself. |
| 202 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true)); | 209 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true)); |
| 203 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( | 210 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( |
| 204 root->SetBackgroundColor(arbitrary_color)); | 211 root->SetBackgroundColor(arbitrary_color)); |
| 205 | 212 |
| 206 // Special case: check that SetBounds changes behavior depending on | 213 // Special case: check that SetBounds changes behavior depending on |
| 207 // masksToBounds. | 214 // masksToBounds. |
| 208 gfx::Size bounds_size(135, 246); | 215 gfx::Size bounds_size(135, 246); |
| 209 root->SetMasksToBounds(false); | 216 root->SetMasksToBounds(false); |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 562 | 569 |
| 563 pending_layer->PushPropertiesTo(layer()); | 570 pending_layer->PushPropertiesTo(layer()); |
| 564 | 571 |
| 565 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); | 572 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); |
| 566 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), | 573 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), |
| 567 pending_layer->CurrentScrollOffset()); | 574 pending_layer->CurrentScrollOffset()); |
| 568 } | 575 } |
| 569 | 576 |
| 570 } // namespace | 577 } // namespace |
| 571 } // namespace cc | 578 } // namespace cc |
| OLD | NEW |