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/animation/mutable_properties.h" | 7 #include "cc/animation/mutable_properties.h" |
8 #include "cc/layers/painted_scrollbar_layer_impl.h" | 8 #include "cc/layers/painted_scrollbar_layer_impl.h" |
9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
10 #include "cc/output/filter_operation.h" | 10 #include "cc/output/filter_operation.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 &task_graph_runner); | 121 &task_graph_runner); |
122 host_impl.SetVisible(true); | 122 host_impl.SetVisible(true); |
123 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); | 123 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); |
124 std::unique_ptr<LayerImpl> root_clip_ptr = | 124 std::unique_ptr<LayerImpl> root_clip_ptr = |
125 LayerImpl::Create(host_impl.active_tree(), 1); | 125 LayerImpl::Create(host_impl.active_tree(), 1); |
126 LayerImpl* root_clip = root_clip_ptr.get(); | 126 LayerImpl* root_clip = root_clip_ptr.get(); |
127 std::unique_ptr<LayerImpl> root_ptr = | 127 std::unique_ptr<LayerImpl> root_ptr = |
128 LayerImpl::Create(host_impl.active_tree(), 2); | 128 LayerImpl::Create(host_impl.active_tree(), 2); |
129 LayerImpl* root = root_ptr.get(); | 129 LayerImpl* root = root_ptr.get(); |
130 root_clip_ptr->test_properties()->AddChild(std::move(root_ptr)); | 130 root_clip_ptr->test_properties()->AddChild(std::move(root_ptr)); |
131 host_impl.active_tree()->SetRootLayer(std::move(root_clip_ptr)); | 131 host_impl.active_tree()->SetRootLayerForTesting(std::move(root_clip_ptr)); |
132 | 132 |
133 root->test_properties()->force_render_surface = true; | 133 root->test_properties()->force_render_surface = true; |
134 root->layer_tree_impl()->ResetAllChangeTracking(); | 134 root->layer_tree_impl()->ResetAllChangeTracking(); |
135 | 135 |
136 root->test_properties()->AddChild( | 136 root->test_properties()->AddChild( |
137 LayerImpl::Create(host_impl.active_tree(), 7)); | 137 LayerImpl::Create(host_impl.active_tree(), 7)); |
138 LayerImpl* child = root->test_properties()->children[0]; | 138 LayerImpl* child = root->test_properties()->children[0]; |
139 child->test_properties()->AddChild( | 139 child->test_properties()->AddChild( |
140 LayerImpl::Create(host_impl.active_tree(), 8)); | 140 LayerImpl::Create(host_impl.active_tree(), 8)); |
141 LayerImpl* grand_child = child->test_properties()->children[0]; | 141 LayerImpl* grand_child = child->test_properties()->children[0]; |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 | 226 |
227 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { | 227 TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) { |
228 FakeImplTaskRunnerProvider task_runner_provider; | 228 FakeImplTaskRunnerProvider task_runner_provider; |
229 TestSharedBitmapManager shared_bitmap_manager; | 229 TestSharedBitmapManager shared_bitmap_manager; |
230 TestTaskGraphRunner task_graph_runner; | 230 TestTaskGraphRunner task_graph_runner; |
231 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); | 231 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); |
232 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 232 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, |
233 &task_graph_runner); | 233 &task_graph_runner); |
234 host_impl.SetVisible(true); | 234 host_impl.SetVisible(true); |
235 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); | 235 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); |
236 host_impl.active_tree()->SetRootLayer( | 236 host_impl.active_tree()->SetRootLayerForTesting( |
237 LayerImpl::Create(host_impl.active_tree(), 1)); | 237 LayerImpl::Create(host_impl.active_tree(), 1)); |
238 LayerImpl* root = host_impl.active_tree()->root_layer(); | 238 LayerImpl* root = host_impl.active_tree()->root_layer_for_testing(); |
239 root->SetHasRenderSurface(true); | 239 root->SetHasRenderSurface(true); |
240 std::unique_ptr<LayerImpl> layer_ptr = | 240 std::unique_ptr<LayerImpl> layer_ptr = |
241 LayerImpl::Create(host_impl.active_tree(), 2); | 241 LayerImpl::Create(host_impl.active_tree(), 2); |
242 LayerImpl* layer = layer_ptr.get(); | 242 LayerImpl* layer = layer_ptr.get(); |
243 root->test_properties()->AddChild(std::move(layer_ptr)); | 243 root->test_properties()->AddChild(std::move(layer_ptr)); |
244 layer->SetScrollClipLayer(root->id()); | 244 layer->SetScrollClipLayer(root->id()); |
245 std::unique_ptr<LayerImpl> layer2_ptr = | 245 std::unique_ptr<LayerImpl> layer2_ptr = |
246 LayerImpl::Create(host_impl.active_tree(), 3); | 246 LayerImpl::Create(host_impl.active_tree(), 3); |
247 LayerImpl* layer2 = layer2_ptr.get(); | 247 LayerImpl* layer2 = layer2_ptr.get(); |
248 root->test_properties()->AddChild(std::move(layer2_ptr)); | 248 root->test_properties()->AddChild(std::move(layer2_ptr)); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 | 343 |
344 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { | 344 TEST(LayerImplTest, SafeOpaqueBackgroundColor) { |
345 FakeImplTaskRunnerProvider task_runner_provider; | 345 FakeImplTaskRunnerProvider task_runner_provider; |
346 TestSharedBitmapManager shared_bitmap_manager; | 346 TestSharedBitmapManager shared_bitmap_manager; |
347 TestTaskGraphRunner task_graph_runner; | 347 TestTaskGraphRunner task_graph_runner; |
348 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); | 348 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); |
349 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, | 349 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, |
350 &task_graph_runner); | 350 &task_graph_runner); |
351 host_impl.SetVisible(true); | 351 host_impl.SetVisible(true); |
352 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); | 352 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); |
353 host_impl.active_tree()->SetRootLayer( | 353 host_impl.active_tree()->SetRootLayerForTesting( |
354 LayerImpl::Create(host_impl.active_tree(), 1)); | 354 LayerImpl::Create(host_impl.active_tree(), 1)); |
355 LayerImpl* layer = host_impl.active_tree()->root_layer(); | 355 LayerImpl* layer = host_impl.active_tree()->root_layer_for_testing(); |
356 | 356 |
357 for (int contents_opaque = 0; contents_opaque < 2; ++contents_opaque) { | 357 for (int contents_opaque = 0; contents_opaque < 2; ++contents_opaque) { |
358 for (int layer_opaque = 0; layer_opaque < 2; ++layer_opaque) { | 358 for (int layer_opaque = 0; layer_opaque < 2; ++layer_opaque) { |
359 for (int host_opaque = 0; host_opaque < 2; ++host_opaque) { | 359 for (int host_opaque = 0; host_opaque < 2; ++host_opaque) { |
360 layer->SetContentsOpaque(!!contents_opaque); | 360 layer->SetContentsOpaque(!!contents_opaque); |
361 layer->SetBackgroundColor(layer_opaque ? SK_ColorRED | 361 layer->SetBackgroundColor(layer_opaque ? SK_ColorRED |
362 : SK_ColorTRANSPARENT); | 362 : SK_ColorTRANSPARENT); |
363 host_impl.active_tree()->set_background_color( | 363 host_impl.active_tree()->set_background_color( |
364 host_opaque ? SK_ColorRED : SK_ColorTRANSPARENT); | 364 host_opaque ? SK_ColorRED : SK_ColorTRANSPARENT); |
365 host_impl.active_tree()->property_trees()->needs_rebuild = true; | 365 host_impl.active_tree()->property_trees()->needs_rebuild = true; |
(...skipping 15 matching lines...) Expand all Loading... |
381 } | 381 } |
382 | 382 |
383 class LayerImplScrollTest : public testing::Test { | 383 class LayerImplScrollTest : public testing::Test { |
384 public: | 384 public: |
385 LayerImplScrollTest() | 385 LayerImplScrollTest() |
386 : host_impl_(settings(), | 386 : host_impl_(settings(), |
387 &task_runner_provider_, | 387 &task_runner_provider_, |
388 &shared_bitmap_manager_, | 388 &shared_bitmap_manager_, |
389 &task_graph_runner_), | 389 &task_graph_runner_), |
390 root_id_(7) { | 390 root_id_(7) { |
391 host_impl_.active_tree()->SetRootLayer( | 391 host_impl_.active_tree()->SetRootLayerForTesting( |
392 LayerImpl::Create(host_impl_.active_tree(), root_id_)); | 392 LayerImpl::Create(host_impl_.active_tree(), root_id_)); |
393 host_impl_.active_tree()->root_layer()->test_properties()->AddChild( | 393 host_impl_.active_tree() |
394 LayerImpl::Create(host_impl_.active_tree(), root_id_ + 1)); | 394 ->root_layer_for_testing() |
| 395 ->test_properties() |
| 396 ->AddChild(LayerImpl::Create(host_impl_.active_tree(), root_id_ + 1)); |
395 layer()->SetScrollClipLayer(root_id_); | 397 layer()->SetScrollClipLayer(root_id_); |
396 // Set the max scroll offset by noting that the root layer has bounds (1,1), | 398 // Set the max scroll offset by noting that the root layer has bounds (1,1), |
397 // thus whatever bounds are set for the layer will be the max scroll | 399 // thus whatever bounds are set for the layer will be the max scroll |
398 // offset plus 1 in each direction. | 400 // offset plus 1 in each direction. |
399 host_impl_.active_tree()->root_layer()->SetBounds(gfx::Size(1, 1)); | 401 host_impl_.active_tree()->root_layer_for_testing()->SetBounds( |
| 402 gfx::Size(1, 1)); |
400 gfx::Vector2d max_scroll_offset(51, 81); | 403 gfx::Vector2d max_scroll_offset(51, 81); |
401 layer()->SetBounds(gfx::Size(max_scroll_offset.x(), max_scroll_offset.y())); | 404 layer()->SetBounds(gfx::Size(max_scroll_offset.x(), max_scroll_offset.y())); |
402 host_impl_.active_tree()->BuildLayerListAndPropertyTreesForTesting(); | 405 host_impl_.active_tree()->BuildLayerListAndPropertyTreesForTesting(); |
403 } | 406 } |
404 | 407 |
405 LayerImpl* layer() { | 408 LayerImpl* layer() { |
406 return host_impl_.active_tree() | 409 return host_impl_.active_tree() |
407 ->root_layer() | 410 ->root_layer_for_testing() |
408 ->test_properties() | 411 ->test_properties() |
409 ->children[0]; | 412 ->children[0]; |
410 } | 413 } |
411 | 414 |
412 ScrollTree* scroll_tree(LayerImpl* layer_impl) { | 415 ScrollTree* scroll_tree(LayerImpl* layer_impl) { |
413 return &layer_impl->layer_tree_impl()->property_trees()->scroll_tree; | 416 return &layer_impl->layer_tree_impl()->property_trees()->scroll_tree; |
414 } | 417 } |
415 | 418 |
416 LayerTreeHostImpl& host_impl() { return host_impl_; } | 419 LayerTreeHostImpl& host_impl() { return host_impl_; } |
417 | 420 |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
557 | 560 |
558 pending_layer->PushPropertiesTo(layer()); | 561 pending_layer->PushPropertiesTo(layer()); |
559 | 562 |
560 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); | 563 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); |
561 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), | 564 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), |
562 pending_layer->CurrentScrollOffset()); | 565 pending_layer->CurrentScrollOffset()); |
563 } | 566 } |
564 | 567 |
565 } // namespace | 568 } // namespace |
566 } // namespace cc | 569 } // namespace cc |
OLD | NEW |