| 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestReadyToActivateEmpty); | 171 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestReadyToActivateEmpty); |
| 172 | 172 |
| 173 // Test if the LTHI receives ReadyToActivate notifications from the TileManager | 173 // Test if the LTHI receives ReadyToActivate notifications from the TileManager |
| 174 // when some raster tasks flagged as REQUIRED_FOR_ACTIVATION got scheduled. | 174 // when some raster tasks flagged as REQUIRED_FOR_ACTIVATION got scheduled. |
| 175 class LayerTreeHostTestReadyToActivateNonEmpty | 175 class LayerTreeHostTestReadyToActivateNonEmpty |
| 176 : public LayerTreeHostTestReadyToActivateEmpty { | 176 : public LayerTreeHostTestReadyToActivateEmpty { |
| 177 public: | 177 public: |
| 178 void SetupTree() override { | 178 void SetupTree() override { |
| 179 client_.set_fill_with_nonsolid_color(true); | 179 client_.set_fill_with_nonsolid_color(true); |
| 180 scoped_refptr<FakePictureLayer> root_layer = | 180 scoped_refptr<FakePictureLayer> root_layer = |
| 181 FakePictureLayer::Create(&client_); | 181 FakePictureLayer::Create(layer_settings(), &client_); |
| 182 root_layer->SetBounds(gfx::Size(1024, 1024)); | 182 root_layer->SetBounds(gfx::Size(1024, 1024)); |
| 183 root_layer->SetIsDrawable(true); | 183 root_layer->SetIsDrawable(true); |
| 184 | 184 |
| 185 layer_tree_host()->SetRootLayer(root_layer); | 185 layer_tree_host()->SetRootLayer(root_layer); |
| 186 LayerTreeHostTest::SetupTree(); | 186 LayerTreeHostTest::SetupTree(); |
| 187 } | 187 } |
| 188 | 188 |
| 189 void AfterTest() override { | 189 void AfterTest() override { |
| 190 EXPECT_TRUE(did_notify_ready_to_activate_); | 190 EXPECT_TRUE(did_notify_ready_to_activate_); |
| 191 EXPECT_TRUE(all_tiles_required_for_activation_are_ready_to_draw_); | 191 EXPECT_TRUE(all_tiles_required_for_activation_are_ready_to_draw_); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestReadyToDrawEmpty); | 241 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestReadyToDrawEmpty); |
| 242 | 242 |
| 243 // Test if the LTHI receives ReadyToDraw notifications from the TileManager when | 243 // Test if the LTHI receives ReadyToDraw notifications from the TileManager when |
| 244 // some raster tasks flagged as REQUIRED_FOR_DRAW got scheduled. | 244 // some raster tasks flagged as REQUIRED_FOR_DRAW got scheduled. |
| 245 class LayerTreeHostTestReadyToDrawNonEmpty | 245 class LayerTreeHostTestReadyToDrawNonEmpty |
| 246 : public LayerTreeHostTestReadyToDrawEmpty { | 246 : public LayerTreeHostTestReadyToDrawEmpty { |
| 247 public: | 247 public: |
| 248 void SetupTree() override { | 248 void SetupTree() override { |
| 249 client_.set_fill_with_nonsolid_color(true); | 249 client_.set_fill_with_nonsolid_color(true); |
| 250 scoped_refptr<FakePictureLayer> root_layer = | 250 scoped_refptr<FakePictureLayer> root_layer = |
| 251 FakePictureLayer::Create(&client_); | 251 FakePictureLayer::Create(layer_settings(), &client_); |
| 252 root_layer->SetBounds(gfx::Size(1024, 1024)); | 252 root_layer->SetBounds(gfx::Size(1024, 1024)); |
| 253 root_layer->SetIsDrawable(true); | 253 root_layer->SetIsDrawable(true); |
| 254 | 254 |
| 255 layer_tree_host()->SetRootLayer(root_layer); | 255 layer_tree_host()->SetRootLayer(root_layer); |
| 256 LayerTreeHostTest::SetupTree(); | 256 LayerTreeHostTest::SetupTree(); |
| 257 } | 257 } |
| 258 | 258 |
| 259 void AfterTest() override { | 259 void AfterTest() override { |
| 260 EXPECT_TRUE(did_notify_ready_to_draw_); | 260 EXPECT_TRUE(did_notify_ready_to_draw_); |
| 261 EXPECT_TRUE(all_tiles_required_for_draw_are_ready_to_draw_); | 261 EXPECT_TRUE(all_tiles_required_for_draw_are_ready_to_draw_); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 int num_commits_; | 336 int num_commits_; |
| 337 int num_draws_; | 337 int num_draws_; |
| 338 }; | 338 }; |
| 339 | 339 |
| 340 MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsCommit2); | 340 MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsCommit2); |
| 341 | 341 |
| 342 // Verify that we pass property values in PushPropertiesTo. | 342 // Verify that we pass property values in PushPropertiesTo. |
| 343 class LayerTreeHostTestPushPropertiesTo : public LayerTreeHostTest { | 343 class LayerTreeHostTestPushPropertiesTo : public LayerTreeHostTest { |
| 344 protected: | 344 protected: |
| 345 void SetupTree() override { | 345 void SetupTree() override { |
| 346 scoped_refptr<Layer> root = Layer::Create(); | 346 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 347 root->CreateRenderSurface(); | 347 root->CreateRenderSurface(); |
| 348 root->SetBounds(gfx::Size(10, 10)); | 348 root->SetBounds(gfx::Size(10, 10)); |
| 349 layer_tree_host()->SetRootLayer(root); | 349 layer_tree_host()->SetRootLayer(root); |
| 350 LayerTreeHostTest::SetupTree(); | 350 LayerTreeHostTest::SetupTree(); |
| 351 } | 351 } |
| 352 | 352 |
| 353 enum Properties { | 353 enum Properties { |
| 354 STARTUP, | 354 STARTUP, |
| 355 BOUNDS, | 355 BOUNDS, |
| 356 HIDE_LAYER_AND_SUBTREE, | 356 HIDE_LAYER_AND_SUBTREE, |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 | 471 |
| 472 // After setNeedsRedrawRect(invalid_rect) the final damage_rect | 472 // After setNeedsRedrawRect(invalid_rect) the final damage_rect |
| 473 // must contain invalid_rect. | 473 // must contain invalid_rect. |
| 474 class LayerTreeHostTestSetNeedsRedrawRect : public LayerTreeHostTest { | 474 class LayerTreeHostTestSetNeedsRedrawRect : public LayerTreeHostTest { |
| 475 public: | 475 public: |
| 476 LayerTreeHostTestSetNeedsRedrawRect() | 476 LayerTreeHostTestSetNeedsRedrawRect() |
| 477 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} | 477 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} |
| 478 | 478 |
| 479 void BeginTest() override { | 479 void BeginTest() override { |
| 480 if (layer_tree_host()->settings().impl_side_painting) | 480 if (layer_tree_host()->settings().impl_side_painting) |
| 481 root_layer_ = FakePictureLayer::Create(&client_); | 481 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 482 else | 482 else |
| 483 root_layer_ = ContentLayer::Create(&client_); | 483 root_layer_ = ContentLayer::Create(layer_settings(), &client_); |
| 484 root_layer_->SetIsDrawable(true); | 484 root_layer_->SetIsDrawable(true); |
| 485 root_layer_->SetBounds(bounds_); | 485 root_layer_->SetBounds(bounds_); |
| 486 layer_tree_host()->SetRootLayer(root_layer_); | 486 layer_tree_host()->SetRootLayer(root_layer_); |
| 487 layer_tree_host()->SetViewportSize(bounds_); | 487 layer_tree_host()->SetViewportSize(bounds_); |
| 488 PostSetNeedsCommitToMainThread(); | 488 PostSetNeedsCommitToMainThread(); |
| 489 } | 489 } |
| 490 | 490 |
| 491 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 491 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 492 LayerTreeHostImpl::FrameData* frame_data, | 492 LayerTreeHostImpl::FrameData* frame_data, |
| 493 DrawResult draw_result) override { | 493 DrawResult draw_result) override { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 | 531 |
| 532 // Ensure the texture size of the pending and active trees are identical when a | 532 // Ensure the texture size of the pending and active trees are identical when a |
| 533 // layer is not in the viewport and a resize happens on the viewport | 533 // layer is not in the viewport and a resize happens on the viewport |
| 534 class LayerTreeHostTestGpuRasterDeviceSizeChanged : public LayerTreeHostTest { | 534 class LayerTreeHostTestGpuRasterDeviceSizeChanged : public LayerTreeHostTest { |
| 535 public: | 535 public: |
| 536 LayerTreeHostTestGpuRasterDeviceSizeChanged() | 536 LayerTreeHostTestGpuRasterDeviceSizeChanged() |
| 537 : num_draws_(0), bounds_(500, 64), invalid_rect_(10, 10, 20, 20) {} | 537 : num_draws_(0), bounds_(500, 64), invalid_rect_(10, 10, 20, 20) {} |
| 538 | 538 |
| 539 void BeginTest() override { | 539 void BeginTest() override { |
| 540 client_.set_fill_with_nonsolid_color(true); | 540 client_.set_fill_with_nonsolid_color(true); |
| 541 root_layer_ = FakePictureLayer::Create(&client_); | 541 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 542 root_layer_->SetIsDrawable(true); | 542 root_layer_->SetIsDrawable(true); |
| 543 gfx::Transform transform; | 543 gfx::Transform transform; |
| 544 // Translate the layer out of the viewport to force it to not update its | 544 // Translate the layer out of the viewport to force it to not update its |
| 545 // tile size via PushProperties. | 545 // tile size via PushProperties. |
| 546 transform.Translate(10000.0, 10000.0); | 546 transform.Translate(10000.0, 10000.0); |
| 547 root_layer_->SetTransform(transform); | 547 root_layer_->SetTransform(transform); |
| 548 root_layer_->SetBounds(bounds_); | 548 root_layer_->SetBounds(bounds_); |
| 549 layer_tree_host()->SetRootLayer(root_layer_); | 549 layer_tree_host()->SetRootLayer(root_layer_); |
| 550 layer_tree_host()->SetViewportSize(bounds_); | 550 layer_tree_host()->SetViewportSize(bounds_); |
| 551 | 551 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F( | 609 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F( |
| 610 LayerTreeHostTestGpuRasterDeviceSizeChanged); | 610 LayerTreeHostTestGpuRasterDeviceSizeChanged); |
| 611 | 611 |
| 612 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest { | 612 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest { |
| 613 public: | 613 public: |
| 614 void InitializeSettings(LayerTreeSettings* settings) override { | 614 void InitializeSettings(LayerTreeSettings* settings) override { |
| 615 settings->layer_transforms_should_scale_layer_contents = true; | 615 settings->layer_transforms_should_scale_layer_contents = true; |
| 616 } | 616 } |
| 617 | 617 |
| 618 void SetupTree() override { | 618 void SetupTree() override { |
| 619 root_layer_ = Layer::Create(); | 619 root_layer_ = Layer::Create(layer_settings()); |
| 620 root_layer_->SetBounds(gfx::Size(10, 20)); | 620 root_layer_->SetBounds(gfx::Size(10, 20)); |
| 621 root_layer_->CreateRenderSurface(); | 621 root_layer_->CreateRenderSurface(); |
| 622 | 622 |
| 623 if (layer_tree_host()->settings().impl_side_painting) | 623 if (layer_tree_host()->settings().impl_side_painting) |
| 624 scaled_layer_ = FakePictureLayer::Create(&client_); | 624 scaled_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 625 else | 625 else |
| 626 scaled_layer_ = FakeContentLayer::Create(&client_); | 626 scaled_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 627 scaled_layer_->SetBounds(gfx::Size(1, 1)); | 627 scaled_layer_->SetBounds(gfx::Size(1, 1)); |
| 628 root_layer_->AddChild(scaled_layer_); | 628 root_layer_->AddChild(scaled_layer_); |
| 629 | 629 |
| 630 layer_tree_host()->SetRootLayer(root_layer_); | 630 layer_tree_host()->SetRootLayer(root_layer_); |
| 631 LayerTreeHostTest::SetupTree(); | 631 LayerTreeHostTest::SetupTree(); |
| 632 } | 632 } |
| 633 | 633 |
| 634 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 634 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 635 | 635 |
| 636 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { | 636 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate); | 671 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate); |
| 672 | 672 |
| 673 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate | 673 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate |
| 674 : public LayerTreeHostTest { | 674 : public LayerTreeHostTest { |
| 675 public: | 675 public: |
| 676 void InitializeSettings(LayerTreeSettings* settings) override { | 676 void InitializeSettings(LayerTreeSettings* settings) override { |
| 677 settings->layer_transforms_should_scale_layer_contents = true; | 677 settings->layer_transforms_should_scale_layer_contents = true; |
| 678 } | 678 } |
| 679 | 679 |
| 680 void SetupTree() override { | 680 void SetupTree() override { |
| 681 root_layer_ = Layer::Create(); | 681 root_layer_ = Layer::Create(layer_settings()); |
| 682 root_layer_->SetBounds(gfx::Size(10, 20)); | 682 root_layer_->SetBounds(gfx::Size(10, 20)); |
| 683 root_layer_->CreateRenderSurface(); | 683 root_layer_->CreateRenderSurface(); |
| 684 | 684 |
| 685 bool paint_scrollbar = true; | 685 bool paint_scrollbar = true; |
| 686 bool has_thumb = false; | 686 bool has_thumb = false; |
| 687 scrollbar_ = FakePaintedScrollbarLayer::Create( | 687 scrollbar_ = FakePaintedScrollbarLayer::Create( |
| 688 paint_scrollbar, has_thumb, root_layer_->id()); | 688 layer_settings(), paint_scrollbar, has_thumb, root_layer_->id()); |
| 689 scrollbar_->SetPosition(gfx::Point(0, 10)); | 689 scrollbar_->SetPosition(gfx::Point(0, 10)); |
| 690 scrollbar_->SetBounds(gfx::Size(10, 10)); | 690 scrollbar_->SetBounds(gfx::Size(10, 10)); |
| 691 | 691 |
| 692 root_layer_->AddChild(scrollbar_); | 692 root_layer_->AddChild(scrollbar_); |
| 693 | 693 |
| 694 layer_tree_host()->SetRootLayer(root_layer_); | 694 layer_tree_host()->SetRootLayer(root_layer_); |
| 695 LayerTreeHostTest::SetupTree(); | 695 LayerTreeHostTest::SetupTree(); |
| 696 } | 696 } |
| 697 | 697 |
| 698 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 698 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 730 SINGLE_AND_MULTI_THREAD_TEST_F( | 730 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 731 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate); | 731 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate); |
| 732 | 732 |
| 733 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest { | 733 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest { |
| 734 public: | 734 public: |
| 735 LayerTreeHostTestSetNextCommitForcesRedraw() | 735 LayerTreeHostTestSetNextCommitForcesRedraw() |
| 736 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} | 736 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} |
| 737 | 737 |
| 738 void BeginTest() override { | 738 void BeginTest() override { |
| 739 if (layer_tree_host()->settings().impl_side_painting) | 739 if (layer_tree_host()->settings().impl_side_painting) |
| 740 root_layer_ = FakePictureLayer::Create(&client_); | 740 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 741 else | 741 else |
| 742 root_layer_ = ContentLayer::Create(&client_); | 742 root_layer_ = ContentLayer::Create(layer_settings(), &client_); |
| 743 root_layer_->SetIsDrawable(true); | 743 root_layer_->SetIsDrawable(true); |
| 744 root_layer_->SetBounds(bounds_); | 744 root_layer_->SetBounds(bounds_); |
| 745 layer_tree_host()->SetRootLayer(root_layer_); | 745 layer_tree_host()->SetRootLayer(root_layer_); |
| 746 layer_tree_host()->SetViewportSize(bounds_); | 746 layer_tree_host()->SetViewportSize(bounds_); |
| 747 PostSetNeedsCommitToMainThread(); | 747 PostSetNeedsCommitToMainThread(); |
| 748 } | 748 } |
| 749 | 749 |
| 750 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { | 750 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { |
| 751 if (num_draws_ == 3 && host_impl->settings().impl_side_painting) | 751 if (num_draws_ == 3 && host_impl->settings().impl_side_painting) |
| 752 host_impl->SetNeedsRedrawRect(invalid_rect_); | 752 host_impl->SetNeedsRedrawRect(invalid_rect_); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 | 830 |
| 831 void InitializeSettings(LayerTreeSettings* settings) override { | 831 void InitializeSettings(LayerTreeSettings* settings) override { |
| 832 // If we don't set the minimum contents scale, it's harder to verify whether | 832 // If we don't set the minimum contents scale, it's harder to verify whether |
| 833 // the damage we get is correct. For other scale amounts, please see | 833 // the damage we get is correct. For other scale amounts, please see |
| 834 // LayerTreeHostTestDamageWithScale. | 834 // LayerTreeHostTestDamageWithScale. |
| 835 settings->minimum_contents_scale = 1.f; | 835 settings->minimum_contents_scale = 1.f; |
| 836 } | 836 } |
| 837 | 837 |
| 838 void SetupTree() override { | 838 void SetupTree() override { |
| 839 if (layer_tree_host()->settings().impl_side_painting) | 839 if (layer_tree_host()->settings().impl_side_painting) |
| 840 root_layer_ = FakePictureLayer::Create(&client_); | 840 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 841 else | 841 else |
| 842 root_layer_ = ContentLayer::Create(&client_); | 842 root_layer_ = ContentLayer::Create(layer_settings(), &client_); |
| 843 root_layer_->SetIsDrawable(true); | 843 root_layer_->SetIsDrawable(true); |
| 844 root_layer_->SetBounds(gfx::Size(50, 50)); | 844 root_layer_->SetBounds(gfx::Size(50, 50)); |
| 845 layer_tree_host()->SetRootLayer(root_layer_); | 845 layer_tree_host()->SetRootLayer(root_layer_); |
| 846 | 846 |
| 847 // The initially transparent layer has a larger child layer, which is | 847 // The initially transparent layer has a larger child layer, which is |
| 848 // not initially drawn because of the this (parent) layer. | 848 // not initially drawn because of the this (parent) layer. |
| 849 if (layer_tree_host()->settings().impl_side_painting) | 849 if (layer_tree_host()->settings().impl_side_painting) |
| 850 parent_layer_ = FakePictureLayer::Create(&client_); | 850 parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 851 else | 851 else |
| 852 parent_layer_ = FakeContentLayer::Create(&client_); | 852 parent_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 853 parent_layer_->SetBounds(gfx::Size(15, 15)); | 853 parent_layer_->SetBounds(gfx::Size(15, 15)); |
| 854 parent_layer_->SetOpacity(0.0f); | 854 parent_layer_->SetOpacity(0.0f); |
| 855 root_layer_->AddChild(parent_layer_); | 855 root_layer_->AddChild(parent_layer_); |
| 856 | 856 |
| 857 if (layer_tree_host()->settings().impl_side_painting) | 857 if (layer_tree_host()->settings().impl_side_painting) |
| 858 child_layer_ = FakePictureLayer::Create(&client_); | 858 child_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 859 else | 859 else |
| 860 child_layer_ = FakeContentLayer::Create(&client_); | 860 child_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 861 child_layer_->SetBounds(gfx::Size(25, 25)); | 861 child_layer_->SetBounds(gfx::Size(25, 25)); |
| 862 parent_layer_->AddChild(child_layer_); | 862 parent_layer_->AddChild(child_layer_); |
| 863 | 863 |
| 864 LayerTreeHostTest::SetupTree(); | 864 LayerTreeHostTest::SetupTree(); |
| 865 } | 865 } |
| 866 | 866 |
| 867 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 867 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 868 | 868 |
| 869 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 869 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 870 LayerTreeHostImpl::FrameData* frame_data, | 870 LayerTreeHostImpl::FrameData* frame_data, |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 934 class LayerTreeHostTestDamageWithScale : public LayerTreeHostTest { | 934 class LayerTreeHostTestDamageWithScale : public LayerTreeHostTest { |
| 935 public: | 935 public: |
| 936 LayerTreeHostTestDamageWithScale() {} | 936 LayerTreeHostTestDamageWithScale() {} |
| 937 | 937 |
| 938 void SetupTree() override { | 938 void SetupTree() override { |
| 939 client_.set_fill_with_nonsolid_color(true); | 939 client_.set_fill_with_nonsolid_color(true); |
| 940 | 940 |
| 941 scoped_ptr<FakePicturePile> pile( | 941 scoped_ptr<FakePicturePile> pile( |
| 942 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 942 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 943 ImplSidePaintingSettings().default_tile_grid_size)); | 943 ImplSidePaintingSettings().default_tile_grid_size)); |
| 944 root_layer_ = | 944 root_layer_ = FakePictureLayer::CreateWithRecordingSource( |
| 945 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 945 layer_settings(), &client_, pile.Pass()); |
| 946 root_layer_->SetBounds(gfx::Size(50, 50)); | 946 root_layer_->SetBounds(gfx::Size(50, 50)); |
| 947 | 947 |
| 948 pile.reset( | 948 pile.reset( |
| 949 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 949 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 950 ImplSidePaintingSettings().default_tile_grid_size)); | 950 ImplSidePaintingSettings().default_tile_grid_size)); |
| 951 child_layer_ = | 951 child_layer_ = FakePictureLayer::CreateWithRecordingSource( |
| 952 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 952 layer_settings(), &client_, pile.Pass()); |
| 953 child_layer_->SetBounds(gfx::Size(25, 25)); | 953 child_layer_->SetBounds(gfx::Size(25, 25)); |
| 954 child_layer_->SetIsDrawable(true); | 954 child_layer_->SetIsDrawable(true); |
| 955 child_layer_->SetContentsOpaque(true); | 955 child_layer_->SetContentsOpaque(true); |
| 956 root_layer_->AddChild(child_layer_); | 956 root_layer_->AddChild(child_layer_); |
| 957 | 957 |
| 958 layer_tree_host()->SetRootLayer(root_layer_); | 958 layer_tree_host()->SetRootLayer(root_layer_); |
| 959 LayerTreeHostTest::SetupTree(); | 959 LayerTreeHostTest::SetupTree(); |
| 960 } | 960 } |
| 961 | 961 |
| 962 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 962 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1037 | 1037 |
| 1038 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestDamageWithScale); | 1038 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestDamageWithScale); |
| 1039 | 1039 |
| 1040 // Tests that if a layer is not drawn because of some reason in the parent, | 1040 // Tests that if a layer is not drawn because of some reason in the parent, |
| 1041 // causing its content bounds to not be computed, then when it is later drawn, | 1041 // causing its content bounds to not be computed, then when it is later drawn, |
| 1042 // its content bounds get pushed. | 1042 // its content bounds get pushed. |
| 1043 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater | 1043 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater |
| 1044 : public LayerTreeHostTest { | 1044 : public LayerTreeHostTest { |
| 1045 public: | 1045 public: |
| 1046 LayerTreeHostTestUndrawnLayersPushContentBoundsLater() | 1046 LayerTreeHostTestUndrawnLayersPushContentBoundsLater() |
| 1047 : root_layer_(Layer::Create()) {} | 1047 : root_layer_(Layer::Create(layer_settings())) {} |
| 1048 | 1048 |
| 1049 void SetupTree() override { | 1049 void SetupTree() override { |
| 1050 root_layer_->CreateRenderSurface(); | 1050 root_layer_->CreateRenderSurface(); |
| 1051 root_layer_->SetIsDrawable(true); | 1051 root_layer_->SetIsDrawable(true); |
| 1052 root_layer_->SetBounds(gfx::Size(20, 20)); | 1052 root_layer_->SetBounds(gfx::Size(20, 20)); |
| 1053 layer_tree_host()->SetRootLayer(root_layer_); | 1053 layer_tree_host()->SetRootLayer(root_layer_); |
| 1054 | 1054 |
| 1055 parent_layer_ = Layer::Create(); | 1055 parent_layer_ = Layer::Create(layer_settings()); |
| 1056 parent_layer_->SetBounds(gfx::Size(20, 20)); | 1056 parent_layer_->SetBounds(gfx::Size(20, 20)); |
| 1057 parent_layer_->SetOpacity(0.0f); | 1057 parent_layer_->SetOpacity(0.0f); |
| 1058 root_layer_->AddChild(parent_layer_); | 1058 root_layer_->AddChild(parent_layer_); |
| 1059 | 1059 |
| 1060 child_layer_ = Layer::Create(); | 1060 child_layer_ = Layer::Create(layer_settings()); |
| 1061 child_layer_->SetBounds(gfx::Size(15, 15)); | 1061 child_layer_->SetBounds(gfx::Size(15, 15)); |
| 1062 parent_layer_->AddChild(child_layer_); | 1062 parent_layer_->AddChild(child_layer_); |
| 1063 | 1063 |
| 1064 LayerTreeHostTest::SetupTree(); | 1064 LayerTreeHostTest::SetupTree(); |
| 1065 } | 1065 } |
| 1066 | 1066 |
| 1067 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 1067 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 1068 | 1068 |
| 1069 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 1069 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| 1070 LayerImpl* root = host_impl->active_tree()->root_layer(); | 1070 LayerImpl* root = host_impl->active_tree()->root_layer(); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1250 // from LayerTreeHost to LayerTreeHostImpl in the MT compositor. | 1250 // from LayerTreeHost to LayerTreeHostImpl in the MT compositor. |
| 1251 class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest { | 1251 class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest { |
| 1252 public: | 1252 public: |
| 1253 LayerTreeHostTestStartPageScaleAnimation() {} | 1253 LayerTreeHostTestStartPageScaleAnimation() {} |
| 1254 | 1254 |
| 1255 void SetupTree() override { | 1255 void SetupTree() override { |
| 1256 LayerTreeHostTest::SetupTree(); | 1256 LayerTreeHostTest::SetupTree(); |
| 1257 | 1257 |
| 1258 if (layer_tree_host()->settings().impl_side_painting) { | 1258 if (layer_tree_host()->settings().impl_side_painting) { |
| 1259 scoped_refptr<FakePictureLayer> layer = | 1259 scoped_refptr<FakePictureLayer> layer = |
| 1260 FakePictureLayer::Create(&client_); | 1260 FakePictureLayer::Create(layer_settings(), &client_); |
| 1261 layer->set_always_update_resources(true); | 1261 layer->set_always_update_resources(true); |
| 1262 scroll_layer_ = layer; | 1262 scroll_layer_ = layer; |
| 1263 } else { | 1263 } else { |
| 1264 scroll_layer_ = FakeContentLayer::Create(&client_); | 1264 scroll_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1265 } | 1265 } |
| 1266 | 1266 |
| 1267 Layer* root_layer = layer_tree_host()->root_layer(); | 1267 Layer* root_layer = layer_tree_host()->root_layer(); |
| 1268 scroll_layer_->SetScrollClipLayerId(root_layer->id()); | 1268 scroll_layer_->SetScrollClipLayerId(root_layer->id()); |
| 1269 scroll_layer_->SetIsContainerForFixedPositionLayers(true); | 1269 scroll_layer_->SetIsContainerForFixedPositionLayers(true); |
| 1270 scroll_layer_->SetBounds(gfx::Size(2 * root_layer->bounds().width(), | 1270 scroll_layer_->SetBounds(gfx::Size(2 * root_layer->bounds().width(), |
| 1271 2 * root_layer->bounds().height())); | 1271 2 * root_layer->bounds().height())); |
| 1272 scroll_layer_->SetScrollOffset(gfx::ScrollOffset()); | 1272 scroll_layer_->SetScrollOffset(gfx::ScrollOffset()); |
| 1273 layer_tree_host()->root_layer()->AddChild(scroll_layer_); | 1273 layer_tree_host()->root_layer()->AddChild(scroll_layer_); |
| 1274 // This test requires the page_scale and inner viewport layers to be | 1274 // This test requires the page_scale and inner viewport layers to be |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1374 } | 1374 } |
| 1375 bool FillsBoundsCompletely() const override { return false; } | 1375 bool FillsBoundsCompletely() const override { return false; } |
| 1376 | 1376 |
| 1377 private: | 1377 private: |
| 1378 Layer* test_layer_; | 1378 Layer* test_layer_; |
| 1379 }; | 1379 }; |
| 1380 | 1380 |
| 1381 class ContentLayerWithUpdateTracking : public ContentLayer { | 1381 class ContentLayerWithUpdateTracking : public ContentLayer { |
| 1382 public: | 1382 public: |
| 1383 static scoped_refptr<ContentLayerWithUpdateTracking> Create( | 1383 static scoped_refptr<ContentLayerWithUpdateTracking> Create( |
| 1384 const LayerSettings& settings, |
| 1384 ContentLayerClient* client) { | 1385 ContentLayerClient* client) { |
| 1385 return make_scoped_refptr(new ContentLayerWithUpdateTracking(client)); | 1386 return make_scoped_refptr( |
| 1387 new ContentLayerWithUpdateTracking(settings, client)); |
| 1386 } | 1388 } |
| 1387 | 1389 |
| 1388 int PaintContentsCount() { return paint_contents_count_; } | 1390 int PaintContentsCount() { return paint_contents_count_; } |
| 1389 void ResetPaintContentsCount() { paint_contents_count_ = 0; } | 1391 void ResetPaintContentsCount() { paint_contents_count_ = 0; } |
| 1390 | 1392 |
| 1391 bool Update(ResourceUpdateQueue* queue, | 1393 bool Update(ResourceUpdateQueue* queue, |
| 1392 const OcclusionTracker<Layer>* occlusion) override { | 1394 const OcclusionTracker<Layer>* occlusion) override { |
| 1393 bool updated = ContentLayer::Update(queue, occlusion); | 1395 bool updated = ContentLayer::Update(queue, occlusion); |
| 1394 paint_contents_count_++; | 1396 paint_contents_count_++; |
| 1395 return updated; | 1397 return updated; |
| 1396 } | 1398 } |
| 1397 | 1399 |
| 1398 private: | 1400 private: |
| 1399 explicit ContentLayerWithUpdateTracking(ContentLayerClient* client) | 1401 ContentLayerWithUpdateTracking(const LayerSettings& settings, |
| 1400 : ContentLayer(client), paint_contents_count_(0) { | 1402 ContentLayerClient* client) |
| 1403 : ContentLayer(settings, client), paint_contents_count_(0) { |
| 1401 SetBounds(gfx::Size(10, 10)); | 1404 SetBounds(gfx::Size(10, 10)); |
| 1402 SetIsDrawable(true); | 1405 SetIsDrawable(true); |
| 1403 } | 1406 } |
| 1404 ~ContentLayerWithUpdateTracking() override {} | 1407 ~ContentLayerWithUpdateTracking() override {} |
| 1405 | 1408 |
| 1406 int paint_contents_count_; | 1409 int paint_contents_count_; |
| 1407 }; | 1410 }; |
| 1408 | 1411 |
| 1409 // Layer opacity change during paint should not prevent compositor resources | 1412 // Layer opacity change during paint should not prevent compositor resources |
| 1410 // from being updated during commit. | 1413 // from being updated during commit. |
| 1411 class LayerTreeHostTestOpacityChange : public LayerTreeHostTest { | 1414 class LayerTreeHostTestOpacityChange : public LayerTreeHostTest { |
| 1412 public: | 1415 public: |
| 1413 LayerTreeHostTestOpacityChange() : test_opacity_change_delegate_() {} | 1416 LayerTreeHostTestOpacityChange() : test_opacity_change_delegate_() {} |
| 1414 | 1417 |
| 1415 void BeginTest() override { | 1418 void BeginTest() override { |
| 1416 if (layer_tree_host()->settings().impl_side_painting) { | 1419 if (layer_tree_host()->settings().impl_side_painting) { |
| 1417 update_check_picture_layer_ = | 1420 update_check_picture_layer_ = FakePictureLayer::Create( |
| 1418 FakePictureLayer::Create(&test_opacity_change_delegate_); | 1421 layer_settings(), &test_opacity_change_delegate_); |
| 1419 test_opacity_change_delegate_.SetTestLayer( | 1422 test_opacity_change_delegate_.SetTestLayer( |
| 1420 update_check_picture_layer_.get()); | 1423 update_check_picture_layer_.get()); |
| 1421 is_impl_paint_ = true; | 1424 is_impl_paint_ = true; |
| 1422 } else { | 1425 } else { |
| 1423 update_check_content_layer_ = ContentLayerWithUpdateTracking::Create( | 1426 update_check_content_layer_ = ContentLayerWithUpdateTracking::Create( |
| 1424 &test_opacity_change_delegate_); | 1427 layer_settings(), &test_opacity_change_delegate_); |
| 1425 test_opacity_change_delegate_.SetTestLayer( | 1428 test_opacity_change_delegate_.SetTestLayer( |
| 1426 update_check_content_layer_.get()); | 1429 update_check_content_layer_.get()); |
| 1427 is_impl_paint_ = false; | 1430 is_impl_paint_ = false; |
| 1428 } | 1431 } |
| 1429 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); | 1432 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); |
| 1430 if (layer_tree_host()->settings().impl_side_painting) | 1433 if (layer_tree_host()->settings().impl_side_painting) |
| 1431 layer_tree_host()->root_layer()->AddChild(update_check_picture_layer_); | 1434 layer_tree_host()->root_layer()->AddChild(update_check_picture_layer_); |
| 1432 else | 1435 else |
| 1433 layer_tree_host()->root_layer()->AddChild(update_check_content_layer_); | 1436 layer_tree_host()->root_layer()->AddChild(update_check_content_layer_); |
| 1434 | 1437 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1459 public: | 1462 public: |
| 1460 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() {} | 1463 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() {} |
| 1461 | 1464 |
| 1462 void InitializeSettings(LayerTreeSettings* settings) override { | 1465 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1463 // PictureLayer can only be used with impl side painting enabled. | 1466 // PictureLayer can only be used with impl side painting enabled. |
| 1464 settings->impl_side_painting = true; | 1467 settings->impl_side_painting = true; |
| 1465 } | 1468 } |
| 1466 | 1469 |
| 1467 void BeginTest() override { | 1470 void BeginTest() override { |
| 1468 client_.set_fill_with_nonsolid_color(true); | 1471 client_.set_fill_with_nonsolid_color(true); |
| 1469 root_layer_ = FakePictureLayer::Create(&client_); | 1472 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 1470 child_layer_ = FakePictureLayer::Create(&client_); | 1473 child_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 1471 | 1474 |
| 1472 layer_tree_host()->SetViewportSize(gfx::Size(60, 60)); | 1475 layer_tree_host()->SetViewportSize(gfx::Size(60, 60)); |
| 1473 layer_tree_host()->SetDeviceScaleFactor(1.5); | 1476 layer_tree_host()->SetDeviceScaleFactor(1.5); |
| 1474 EXPECT_EQ(gfx::Size(60, 60), layer_tree_host()->device_viewport_size()); | 1477 EXPECT_EQ(gfx::Size(60, 60), layer_tree_host()->device_viewport_size()); |
| 1475 | 1478 |
| 1476 root_layer_->AddChild(child_layer_); | 1479 root_layer_->AddChild(child_layer_); |
| 1477 | 1480 |
| 1478 root_layer_->SetIsDrawable(true); | 1481 root_layer_->SetIsDrawable(true); |
| 1479 root_layer_->SetBounds(gfx::Size(30, 30)); | 1482 root_layer_->SetBounds(gfx::Size(30, 30)); |
| 1480 | 1483 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1568 public: | 1571 public: |
| 1569 void InitializeSettings(LayerTreeSettings* settings) override { | 1572 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1570 settings->renderer_settings.texture_id_allocation_chunk_size = 1; | 1573 settings->renderer_settings.texture_id_allocation_chunk_size = 1; |
| 1571 // Make sure partial texture updates are turned off. | 1574 // Make sure partial texture updates are turned off. |
| 1572 settings->max_partial_texture_updates = 0; | 1575 settings->max_partial_texture_updates = 0; |
| 1573 // Linear fade animator prevents scrollbars from drawing immediately. | 1576 // Linear fade animator prevents scrollbars from drawing immediately. |
| 1574 settings->scrollbar_animator = LayerTreeSettings::NO_ANIMATOR; | 1577 settings->scrollbar_animator = LayerTreeSettings::NO_ANIMATOR; |
| 1575 } | 1578 } |
| 1576 | 1579 |
| 1577 void SetupTree() override { | 1580 void SetupTree() override { |
| 1578 layer_ = FakeContentLayer::Create(&client_); | 1581 layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1579 layer_->SetBounds(gfx::Size(10, 20)); | 1582 layer_->SetBounds(gfx::Size(10, 20)); |
| 1580 | 1583 |
| 1581 bool paint_scrollbar = true; | 1584 bool paint_scrollbar = true; |
| 1582 bool has_thumb = false; | 1585 bool has_thumb = false; |
| 1583 scrollbar_ = FakePaintedScrollbarLayer::Create( | 1586 scrollbar_ = FakePaintedScrollbarLayer::Create( |
| 1584 paint_scrollbar, has_thumb, layer_->id()); | 1587 layer_settings(), paint_scrollbar, has_thumb, layer_->id()); |
| 1585 scrollbar_->SetPosition(gfx::Point(0, 10)); | 1588 scrollbar_->SetPosition(gfx::Point(0, 10)); |
| 1586 scrollbar_->SetBounds(gfx::Size(10, 10)); | 1589 scrollbar_->SetBounds(gfx::Size(10, 10)); |
| 1587 | 1590 |
| 1588 layer_->AddChild(scrollbar_); | 1591 layer_->AddChild(scrollbar_); |
| 1589 | 1592 |
| 1590 layer_tree_host()->SetRootLayer(layer_); | 1593 layer_tree_host()->SetRootLayer(layer_); |
| 1591 LayerTreeHostTest::SetupTree(); | 1594 LayerTreeHostTest::SetupTree(); |
| 1592 } | 1595 } |
| 1593 | 1596 |
| 1594 void BeginTest() override { | 1597 void BeginTest() override { |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1743 public: | 1746 public: |
| 1744 void InitializeSettings(LayerTreeSettings* settings) override { | 1747 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1745 settings->renderer_settings.texture_id_allocation_chunk_size = 1; | 1748 settings->renderer_settings.texture_id_allocation_chunk_size = 1; |
| 1746 // Allow one partial texture update. | 1749 // Allow one partial texture update. |
| 1747 settings->max_partial_texture_updates = 1; | 1750 settings->max_partial_texture_updates = 1; |
| 1748 // No partial updates when impl side painting is enabled. | 1751 // No partial updates when impl side painting is enabled. |
| 1749 settings->impl_side_painting = false; | 1752 settings->impl_side_painting = false; |
| 1750 } | 1753 } |
| 1751 | 1754 |
| 1752 void SetupTree() override { | 1755 void SetupTree() override { |
| 1753 parent_ = FakeContentLayer::Create(&client_); | 1756 parent_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1754 parent_->SetBounds(gfx::Size(10, 20)); | 1757 parent_->SetBounds(gfx::Size(10, 20)); |
| 1755 | 1758 |
| 1756 child_ = FakeContentLayer::Create(&client_); | 1759 child_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1757 child_->SetPosition(gfx::Point(0, 10)); | 1760 child_->SetPosition(gfx::Point(0, 10)); |
| 1758 child_->SetBounds(gfx::Size(3, 10)); | 1761 child_->SetBounds(gfx::Size(3, 10)); |
| 1759 | 1762 |
| 1760 parent_->AddChild(child_); | 1763 parent_->AddChild(child_); |
| 1761 | 1764 |
| 1762 layer_tree_host()->SetRootLayer(parent_); | 1765 layer_tree_host()->SetRootLayer(parent_); |
| 1763 LayerTreeHostTest::SetupTree(); | 1766 LayerTreeHostTest::SetupTree(); |
| 1764 } | 1767 } |
| 1765 | 1768 |
| 1766 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 1769 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1909 | 1912 |
| 1910 // Partial updates are not possible with a delegating renderer. | 1913 // Partial updates are not possible with a delegating renderer. |
| 1911 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1914 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
| 1912 LayerTreeHostTestAtomicCommitWithPartialUpdate); | 1915 LayerTreeHostTestAtomicCommitWithPartialUpdate); |
| 1913 | 1916 |
| 1914 // TODO(sohanjg) : Make it work with impl-side painting. | 1917 // TODO(sohanjg) : Make it work with impl-side painting. |
| 1915 class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit | 1918 class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit |
| 1916 : public LayerTreeHostTest { | 1919 : public LayerTreeHostTest { |
| 1917 protected: | 1920 protected: |
| 1918 void SetupTree() override { | 1921 void SetupTree() override { |
| 1919 root_layer_ = FakeContentLayer::Create(&client_); | 1922 root_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1920 root_layer_->SetBounds(gfx::Size(100, 100)); | 1923 root_layer_->SetBounds(gfx::Size(100, 100)); |
| 1921 | 1924 |
| 1922 surface_layer1_ = FakeContentLayer::Create(&client_); | 1925 surface_layer1_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1923 surface_layer1_->SetBounds(gfx::Size(100, 100)); | 1926 surface_layer1_->SetBounds(gfx::Size(100, 100)); |
| 1924 surface_layer1_->SetForceRenderSurface(true); | 1927 surface_layer1_->SetForceRenderSurface(true); |
| 1925 surface_layer1_->SetOpacity(0.5f); | 1928 surface_layer1_->SetOpacity(0.5f); |
| 1926 root_layer_->AddChild(surface_layer1_); | 1929 root_layer_->AddChild(surface_layer1_); |
| 1927 | 1930 |
| 1928 surface_layer2_ = FakeContentLayer::Create(&client_); | 1931 surface_layer2_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1929 surface_layer2_->SetBounds(gfx::Size(100, 100)); | 1932 surface_layer2_->SetBounds(gfx::Size(100, 100)); |
| 1930 surface_layer2_->SetForceRenderSurface(true); | 1933 surface_layer2_->SetForceRenderSurface(true); |
| 1931 surface_layer2_->SetOpacity(0.5f); | 1934 surface_layer2_->SetOpacity(0.5f); |
| 1932 surface_layer1_->AddChild(surface_layer2_); | 1935 surface_layer1_->AddChild(surface_layer2_); |
| 1933 | 1936 |
| 1934 replica_layer1_ = FakeContentLayer::Create(&client_); | 1937 replica_layer1_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1935 surface_layer1_->SetReplicaLayer(replica_layer1_.get()); | 1938 surface_layer1_->SetReplicaLayer(replica_layer1_.get()); |
| 1936 | 1939 |
| 1937 replica_layer2_ = FakeContentLayer::Create(&client_); | 1940 replica_layer2_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 1938 surface_layer2_->SetReplicaLayer(replica_layer2_.get()); | 1941 surface_layer2_->SetReplicaLayer(replica_layer2_.get()); |
| 1939 | 1942 |
| 1940 layer_tree_host()->SetRootLayer(root_layer_); | 1943 layer_tree_host()->SetRootLayer(root_layer_); |
| 1941 LayerTreeHostTest::SetupTree(); | 1944 LayerTreeHostTest::SetupTree(); |
| 1942 } | 1945 } |
| 1943 | 1946 |
| 1944 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 1947 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 1945 | 1948 |
| 1946 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { | 1949 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { |
| 1947 Renderer* renderer = host_impl->renderer(); | 1950 Renderer* renderer = host_impl->renderer(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1998 scoped_refptr<FakeContentLayer> surface_layer2_; | 2001 scoped_refptr<FakeContentLayer> surface_layer2_; |
| 1999 scoped_refptr<FakeContentLayer> replica_layer2_; | 2002 scoped_refptr<FakeContentLayer> replica_layer2_; |
| 2000 }; | 2003 }; |
| 2001 | 2004 |
| 2002 // Surfaces don't exist with a delegated renderer. | 2005 // Surfaces don't exist with a delegated renderer. |
| 2003 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( | 2006 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( |
| 2004 LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit); | 2007 LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit); |
| 2005 | 2008 |
| 2006 class EvictionTestLayer : public Layer { | 2009 class EvictionTestLayer : public Layer { |
| 2007 public: | 2010 public: |
| 2008 static scoped_refptr<EvictionTestLayer> Create() { | 2011 static scoped_refptr<EvictionTestLayer> Create( |
| 2009 return make_scoped_refptr(new EvictionTestLayer()); | 2012 const LayerSettings& settings) { |
| 2013 return make_scoped_refptr(new EvictionTestLayer(settings)); |
| 2010 } | 2014 } |
| 2011 | 2015 |
| 2012 bool Update(ResourceUpdateQueue*, const OcclusionTracker<Layer>*) override; | 2016 bool Update(ResourceUpdateQueue*, const OcclusionTracker<Layer>*) override; |
| 2013 bool DrawsContent() const override { return true; } | 2017 bool DrawsContent() const override { return true; } |
| 2014 | 2018 |
| 2015 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; | 2019 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
| 2016 void PushPropertiesTo(LayerImpl* impl) override; | 2020 void PushPropertiesTo(LayerImpl* impl) override; |
| 2017 void SetTexturePriorities(const PriorityCalculator&) override; | 2021 void SetTexturePriorities(const PriorityCalculator&) override; |
| 2018 | 2022 |
| 2019 bool HaveBackingTexture() const { | 2023 bool HaveBackingTexture() const { |
| 2020 return texture_.get() ? texture_->have_backing_texture() : false; | 2024 return texture_.get() ? texture_->have_backing_texture() : false; |
| 2021 } | 2025 } |
| 2022 | 2026 |
| 2023 private: | 2027 private: |
| 2024 EvictionTestLayer() : Layer() {} | 2028 explicit EvictionTestLayer(const LayerSettings& settings) : Layer(settings) {} |
| 2025 ~EvictionTestLayer() override {} | 2029 ~EvictionTestLayer() override {} |
| 2026 | 2030 |
| 2027 void CreateTextureIfNeeded() { | 2031 void CreateTextureIfNeeded() { |
| 2028 if (texture_) | 2032 if (texture_) |
| 2029 return; | 2033 return; |
| 2030 texture_ = PrioritizedResource::Create( | 2034 texture_ = PrioritizedResource::Create( |
| 2031 layer_tree_host()->contents_texture_manager()); | 2035 layer_tree_host()->contents_texture_manager()); |
| 2032 texture_->SetDimensions(gfx::Size(10, 10), RGBA_8888); | 2036 texture_->SetDimensions(gfx::Size(10, 10), RGBA_8888); |
| 2033 bitmap_.allocN32Pixels(10, 10); | 2037 bitmap_.allocN32Pixels(10, 10); |
| 2034 } | 2038 } |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2089 Layer::PushPropertiesTo(layer_impl); | 2093 Layer::PushPropertiesTo(layer_impl); |
| 2090 | 2094 |
| 2091 EvictionTestLayerImpl* test_layer_impl = | 2095 EvictionTestLayerImpl* test_layer_impl = |
| 2092 static_cast<EvictionTestLayerImpl*>(layer_impl); | 2096 static_cast<EvictionTestLayerImpl*>(layer_impl); |
| 2093 test_layer_impl->SetHasTexture(texture_->have_backing_texture()); | 2097 test_layer_impl->SetHasTexture(texture_->have_backing_texture()); |
| 2094 } | 2098 } |
| 2095 | 2099 |
| 2096 class LayerTreeHostTestEvictTextures : public LayerTreeHostTest { | 2100 class LayerTreeHostTestEvictTextures : public LayerTreeHostTest { |
| 2097 public: | 2101 public: |
| 2098 LayerTreeHostTestEvictTextures() | 2102 LayerTreeHostTestEvictTextures() |
| 2099 : layer_(EvictionTestLayer::Create()), | 2103 : layer_(EvictionTestLayer::Create(layer_settings())), |
| 2100 impl_for_evict_textures_(0), | 2104 impl_for_evict_textures_(0), |
| 2101 num_commits_(0) {} | 2105 num_commits_(0) {} |
| 2102 | 2106 |
| 2103 void BeginTest() override { | 2107 void BeginTest() override { |
| 2104 layer_tree_host()->SetRootLayer(layer_); | 2108 layer_tree_host()->SetRootLayer(layer_); |
| 2105 layer_tree_host()->SetViewportSize(gfx::Size(10, 20)); | 2109 layer_tree_host()->SetViewportSize(gfx::Size(10, 20)); |
| 2106 | 2110 |
| 2107 gfx::Transform identity_matrix; | 2111 gfx::Transform identity_matrix; |
| 2108 SetLayerPropertiesForTesting(layer_.get(), | 2112 SetLayerPropertiesForTesting(layer_.get(), |
| 2109 0, | 2113 0, |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2225 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest { | 2229 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest { |
| 2226 public: | 2230 public: |
| 2227 LayerTreeHostTestContinuousInvalidate() | 2231 LayerTreeHostTestContinuousInvalidate() |
| 2228 : num_commit_complete_(0), num_draw_layers_(0) {} | 2232 : num_commit_complete_(0), num_draw_layers_(0) {} |
| 2229 | 2233 |
| 2230 void BeginTest() override { | 2234 void BeginTest() override { |
| 2231 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); | 2235 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); |
| 2232 layer_tree_host()->root_layer()->SetBounds(gfx::Size(10, 10)); | 2236 layer_tree_host()->root_layer()->SetBounds(gfx::Size(10, 10)); |
| 2233 | 2237 |
| 2234 if (layer_tree_host()->settings().impl_side_painting) | 2238 if (layer_tree_host()->settings().impl_side_painting) |
| 2235 layer_ = FakePictureLayer::Create(&client_); | 2239 layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 2236 else | 2240 else |
| 2237 layer_ = FakeContentLayer::Create(&client_); | 2241 layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 2238 | 2242 |
| 2239 layer_->SetBounds(gfx::Size(10, 10)); | 2243 layer_->SetBounds(gfx::Size(10, 10)); |
| 2240 layer_->SetPosition(gfx::PointF(0.f, 0.f)); | 2244 layer_->SetPosition(gfx::PointF(0.f, 0.f)); |
| 2241 layer_->SetIsDrawable(true); | 2245 layer_->SetIsDrawable(true); |
| 2242 layer_tree_host()->root_layer()->AddChild(layer_); | 2246 layer_tree_host()->root_layer()->AddChild(layer_); |
| 2243 | 2247 |
| 2244 PostSetNeedsCommitToMainThread(); | 2248 PostSetNeedsCommitToMainThread(); |
| 2245 } | 2249 } |
| 2246 | 2250 |
| 2247 void DidCommitAndDrawFrame() override { | 2251 void DidCommitAndDrawFrame() override { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2475 host->Composite(base::TimeTicks::Now()); | 2479 host->Composite(base::TimeTicks::Now()); |
| 2476 | 2480 |
| 2477 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 2481 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); |
| 2478 } | 2482 } |
| 2479 | 2483 |
| 2480 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere. | 2484 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere. |
| 2481 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted | 2485 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted |
| 2482 : public LayerTreeHostTest { | 2486 : public LayerTreeHostTest { |
| 2483 public: | 2487 public: |
| 2484 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted() | 2488 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted() |
| 2485 : root_layer_(FakeContentLayer::Create(&client_)), | 2489 : root_layer_(FakeContentLayer::Create(layer_settings(), &client_)), |
| 2486 child_layer1_(FakeContentLayer::Create(&client_)), | 2490 child_layer1_(FakeContentLayer::Create(layer_settings(), &client_)), |
| 2487 child_layer2_(FakeContentLayer::Create(&client_)), | 2491 child_layer2_(FakeContentLayer::Create(layer_settings(), &client_)), |
| 2488 num_commits_(0) {} | 2492 num_commits_(0) {} |
| 2489 | 2493 |
| 2490 void BeginTest() override { | 2494 void BeginTest() override { |
| 2491 layer_tree_host()->SetViewportSize(gfx::Size(100, 100)); | 2495 layer_tree_host()->SetViewportSize(gfx::Size(100, 100)); |
| 2492 root_layer_->SetBounds(gfx::Size(100, 100)); | 2496 root_layer_->SetBounds(gfx::Size(100, 100)); |
| 2493 child_layer1_->SetBounds(gfx::Size(100, 100)); | 2497 child_layer1_->SetBounds(gfx::Size(100, 100)); |
| 2494 child_layer2_->SetBounds(gfx::Size(100, 100)); | 2498 child_layer2_->SetBounds(gfx::Size(100, 100)); |
| 2495 root_layer_->AddChild(child_layer1_); | 2499 root_layer_->AddChild(child_layer1_); |
| 2496 root_layer_->AddChild(child_layer2_); | 2500 root_layer_->AddChild(child_layer2_); |
| 2497 layer_tree_host()->SetRootLayer(root_layer_); | 2501 layer_tree_host()->SetRootLayer(root_layer_); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2557 }; | 2561 }; |
| 2558 | 2562 |
| 2559 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F( | 2563 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F( |
| 2560 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted); | 2564 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted); |
| 2561 | 2565 |
| 2562 class LayerTreeHostTestLCDChange : public LayerTreeHostTest { | 2566 class LayerTreeHostTestLCDChange : public LayerTreeHostTest { |
| 2563 public: | 2567 public: |
| 2564 void SetupTree() override { | 2568 void SetupTree() override { |
| 2565 num_tiles_rastered_ = 0; | 2569 num_tiles_rastered_ = 0; |
| 2566 | 2570 |
| 2567 scoped_refptr<Layer> root_layer = PictureLayer::Create(&client_); | 2571 scoped_refptr<Layer> root_layer = |
| 2572 PictureLayer::Create(layer_settings(), &client_); |
| 2568 client_.set_fill_with_nonsolid_color(true); | 2573 client_.set_fill_with_nonsolid_color(true); |
| 2569 root_layer->SetIsDrawable(true); | 2574 root_layer->SetIsDrawable(true); |
| 2570 root_layer->SetBounds(gfx::Size(10, 10)); | 2575 root_layer->SetBounds(gfx::Size(10, 10)); |
| 2571 root_layer->SetContentsOpaque(true); | 2576 root_layer->SetContentsOpaque(true); |
| 2572 | 2577 |
| 2573 layer_tree_host()->SetRootLayer(root_layer); | 2578 layer_tree_host()->SetRootLayer(root_layer); |
| 2574 | 2579 |
| 2575 // The expectations are based on the assumption that the default | 2580 // The expectations are based on the assumption that the default |
| 2576 // LCD settings are: | 2581 // LCD settings are: |
| 2577 EXPECT_TRUE(layer_tree_host()->settings().can_use_lcd_text); | 2582 EXPECT_TRUE(layer_tree_host()->settings().can_use_lcd_text); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2789 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation | 2794 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation |
| 2790 : public LayerTreeHostTest { | 2795 : public LayerTreeHostTest { |
| 2791 protected: | 2796 protected: |
| 2792 void InitializeSettings(LayerTreeSettings* settings) override { | 2797 void InitializeSettings(LayerTreeSettings* settings) override { |
| 2793 settings->impl_side_painting = true; | 2798 settings->impl_side_painting = true; |
| 2794 } | 2799 } |
| 2795 | 2800 |
| 2796 void SetupTree() override { | 2801 void SetupTree() override { |
| 2797 LayerTreeHostTest::SetupTree(); | 2802 LayerTreeHostTest::SetupTree(); |
| 2798 | 2803 |
| 2799 scoped_refptr<Layer> layer = PictureLayer::Create(&client_); | 2804 scoped_refptr<Layer> layer = |
| 2805 PictureLayer::Create(layer_settings(), &client_); |
| 2800 layer->SetTransform(gfx::Transform(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); | 2806 layer->SetTransform(gfx::Transform(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); |
| 2801 layer->SetBounds(gfx::Size(10, 10)); | 2807 layer->SetBounds(gfx::Size(10, 10)); |
| 2802 layer_tree_host()->root_layer()->AddChild(layer); | 2808 layer_tree_host()->root_layer()->AddChild(layer); |
| 2803 } | 2809 } |
| 2804 | 2810 |
| 2805 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2811 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2806 | 2812 |
| 2807 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 2813 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| 2808 EndTest(); | 2814 EndTest(); |
| 2809 } | 2815 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2841 bool FillsBoundsCompletely() const override { return false; } | 2847 bool FillsBoundsCompletely() const override { return false; } |
| 2842 | 2848 |
| 2843 private: | 2849 private: |
| 2844 Layer* layer_; | 2850 Layer* layer_; |
| 2845 }; | 2851 }; |
| 2846 | 2852 |
| 2847 LayerTreeHostTestChangeLayerPropertiesInPaintContents() : num_commits_(0) {} | 2853 LayerTreeHostTestChangeLayerPropertiesInPaintContents() : num_commits_(0) {} |
| 2848 | 2854 |
| 2849 void SetupTree() override { | 2855 void SetupTree() override { |
| 2850 if (layer_tree_host()->settings().impl_side_painting) { | 2856 if (layer_tree_host()->settings().impl_side_painting) { |
| 2851 scoped_refptr<PictureLayer> root_layer = PictureLayer::Create(&client_); | 2857 scoped_refptr<PictureLayer> root_layer = |
| 2858 PictureLayer::Create(layer_settings(), &client_); |
| 2852 layer_tree_host()->SetRootLayer(root_layer); | 2859 layer_tree_host()->SetRootLayer(root_layer); |
| 2853 } else { | 2860 } else { |
| 2854 scoped_refptr<ContentLayer> root_layer = ContentLayer::Create(&client_); | 2861 scoped_refptr<ContentLayer> root_layer = |
| 2862 ContentLayer::Create(layer_settings(), &client_); |
| 2855 layer_tree_host()->SetRootLayer(root_layer); | 2863 layer_tree_host()->SetRootLayer(root_layer); |
| 2856 } | 2864 } |
| 2857 Layer* root_layer = layer_tree_host()->root_layer(); | 2865 Layer* root_layer = layer_tree_host()->root_layer(); |
| 2858 root_layer->SetIsDrawable(true); | 2866 root_layer->SetIsDrawable(true); |
| 2859 root_layer->SetBounds(gfx::Size(1, 1)); | 2867 root_layer->SetBounds(gfx::Size(1, 1)); |
| 2860 | 2868 |
| 2861 client_.set_layer(root_layer); | 2869 client_.set_layer(root_layer); |
| 2862 | 2870 |
| 2863 LayerTreeHostTest::SetupTree(); | 2871 LayerTreeHostTest::SetupTree(); |
| 2864 } | 2872 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2928 } | 2936 } |
| 2929 | 2937 |
| 2930 void SetupTree() override { | 2938 void SetupTree() override { |
| 2931 LayerTreeHostTest::SetupTree(); | 2939 LayerTreeHostTest::SetupTree(); |
| 2932 | 2940 |
| 2933 layer_tree_host()->root_layer()->SetIsDrawable(false); | 2941 layer_tree_host()->root_layer()->SetIsDrawable(false); |
| 2934 | 2942 |
| 2935 io_surface_id_ = 9; | 2943 io_surface_id_ = 9; |
| 2936 io_surface_size_ = gfx::Size(6, 7); | 2944 io_surface_size_ = gfx::Size(6, 7); |
| 2937 | 2945 |
| 2938 scoped_refptr<IOSurfaceLayer> io_surface_layer = IOSurfaceLayer::Create(); | 2946 scoped_refptr<IOSurfaceLayer> io_surface_layer = |
| 2947 IOSurfaceLayer::Create(layer_settings()); |
| 2939 io_surface_layer->SetBounds(gfx::Size(10, 10)); | 2948 io_surface_layer->SetBounds(gfx::Size(10, 10)); |
| 2940 io_surface_layer->SetIsDrawable(true); | 2949 io_surface_layer->SetIsDrawable(true); |
| 2941 io_surface_layer->SetContentsOpaque(true); | 2950 io_surface_layer->SetContentsOpaque(true); |
| 2942 io_surface_layer->SetIOSurfaceProperties(io_surface_id_, io_surface_size_); | 2951 io_surface_layer->SetIOSurfaceProperties(io_surface_id_, io_surface_size_); |
| 2943 layer_tree_host()->root_layer()->AddChild(io_surface_layer); | 2952 layer_tree_host()->root_layer()->AddChild(io_surface_layer); |
| 2944 } | 2953 } |
| 2945 | 2954 |
| 2946 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2955 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2947 | 2956 |
| 2948 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 2957 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3081 RunTest(true, true, true); | 3090 RunTest(true, true, true); |
| 3082 } | 3091 } |
| 3083 | 3092 |
| 3084 TEST_F(LayerTreeHostTestNumFramesPending, DISABLED_GLRenderer) { | 3093 TEST_F(LayerTreeHostTestNumFramesPending, DISABLED_GLRenderer) { |
| 3085 RunTest(true, false, true); | 3094 RunTest(true, false, true); |
| 3086 } | 3095 } |
| 3087 | 3096 |
| 3088 class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { | 3097 class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { |
| 3089 public: | 3098 public: |
| 3090 void SetupTree() override { | 3099 void SetupTree() override { |
| 3091 root_layer_ = FakePictureLayer::Create(&client_); | 3100 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 3092 root_layer_->SetIsDrawable(true); | 3101 root_layer_->SetIsDrawable(true); |
| 3093 root_layer_->SetBounds(gfx::Size(50, 50)); | 3102 root_layer_->SetBounds(gfx::Size(50, 50)); |
| 3094 | 3103 |
| 3095 parent_layer_ = FakePictureLayer::Create(&client_); | 3104 parent_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 3096 parent_layer_->SetIsDrawable(true); | 3105 parent_layer_->SetIsDrawable(true); |
| 3097 parent_layer_->SetBounds(gfx::Size(50, 50)); | 3106 parent_layer_->SetBounds(gfx::Size(50, 50)); |
| 3098 parent_layer_->SetForceRenderSurface(true); | 3107 parent_layer_->SetForceRenderSurface(true); |
| 3099 | 3108 |
| 3100 child_layer_ = FakePictureLayer::Create(&client_); | 3109 child_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 3101 child_layer_->SetIsDrawable(true); | 3110 child_layer_->SetIsDrawable(true); |
| 3102 child_layer_->SetBounds(gfx::Size(50, 50)); | 3111 child_layer_->SetBounds(gfx::Size(50, 50)); |
| 3103 | 3112 |
| 3104 root_layer_->AddChild(parent_layer_); | 3113 root_layer_->AddChild(parent_layer_); |
| 3105 parent_layer_->AddChild(child_layer_); | 3114 parent_layer_->AddChild(child_layer_); |
| 3106 layer_tree_host()->SetRootLayer(root_layer_); | 3115 layer_tree_host()->SetRootLayer(root_layer_); |
| 3107 | 3116 |
| 3108 LayerTreeHostTest::SetupTree(); | 3117 LayerTreeHostTest::SetupTree(); |
| 3109 } | 3118 } |
| 3110 | 3119 |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3307 | 3316 |
| 3308 PushPropertiesCountingLayerImpl(LayerTreeImpl* tree_impl, int id) | 3317 PushPropertiesCountingLayerImpl(LayerTreeImpl* tree_impl, int id) |
| 3309 : LayerImpl(tree_impl, id), | 3318 : LayerImpl(tree_impl, id), |
| 3310 push_properties_count_(0) { | 3319 push_properties_count_(0) { |
| 3311 SetBounds(gfx::Size(1, 1)); | 3320 SetBounds(gfx::Size(1, 1)); |
| 3312 } | 3321 } |
| 3313 }; | 3322 }; |
| 3314 | 3323 |
| 3315 class PushPropertiesCountingLayer : public Layer { | 3324 class PushPropertiesCountingLayer : public Layer { |
| 3316 public: | 3325 public: |
| 3317 static scoped_refptr<PushPropertiesCountingLayer> Create() { | 3326 static scoped_refptr<PushPropertiesCountingLayer> Create( |
| 3318 return new PushPropertiesCountingLayer(); | 3327 const LayerSettings& settings) { |
| 3328 return new PushPropertiesCountingLayer(settings); |
| 3319 } | 3329 } |
| 3320 | 3330 |
| 3321 void PushPropertiesTo(LayerImpl* layer) override { | 3331 void PushPropertiesTo(LayerImpl* layer) override { |
| 3322 Layer::PushPropertiesTo(layer); | 3332 Layer::PushPropertiesTo(layer); |
| 3323 push_properties_count_++; | 3333 push_properties_count_++; |
| 3324 if (persist_needs_push_properties_) | 3334 if (persist_needs_push_properties_) |
| 3325 needs_push_properties_ = true; | 3335 needs_push_properties_ = true; |
| 3326 } | 3336 } |
| 3327 | 3337 |
| 3328 // Something to make this layer push properties, but no other layer. | 3338 // Something to make this layer push properties, but no other layer. |
| 3329 void MakePushProperties() { SetContentsOpaque(!contents_opaque()); } | 3339 void MakePushProperties() { SetContentsOpaque(!contents_opaque()); } |
| 3330 | 3340 |
| 3331 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override { | 3341 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override { |
| 3332 return PushPropertiesCountingLayerImpl::Create(tree_impl, id()); | 3342 return PushPropertiesCountingLayerImpl::Create(tree_impl, id()); |
| 3333 } | 3343 } |
| 3334 | 3344 |
| 3335 void SetDrawsContent(bool draws_content) { SetIsDrawable(draws_content); } | 3345 void SetDrawsContent(bool draws_content) { SetIsDrawable(draws_content); } |
| 3336 | 3346 |
| 3337 size_t push_properties_count() const { return push_properties_count_; } | 3347 size_t push_properties_count() const { return push_properties_count_; } |
| 3338 void reset_push_properties_count() { push_properties_count_ = 0; } | 3348 void reset_push_properties_count() { push_properties_count_ = 0; } |
| 3339 | 3349 |
| 3340 void set_persist_needs_push_properties(bool persist) { | 3350 void set_persist_needs_push_properties(bool persist) { |
| 3341 persist_needs_push_properties_ = persist; | 3351 persist_needs_push_properties_ = persist; |
| 3342 } | 3352 } |
| 3343 | 3353 |
| 3344 private: | 3354 private: |
| 3345 PushPropertiesCountingLayer() | 3355 explicit PushPropertiesCountingLayer(const LayerSettings& settings) |
| 3346 : push_properties_count_(0), persist_needs_push_properties_(false) { | 3356 : Layer(settings), |
| 3357 push_properties_count_(0), |
| 3358 persist_needs_push_properties_(false) { |
| 3347 SetBounds(gfx::Size(1, 1)); | 3359 SetBounds(gfx::Size(1, 1)); |
| 3348 } | 3360 } |
| 3349 ~PushPropertiesCountingLayer() override {} | 3361 ~PushPropertiesCountingLayer() override {} |
| 3350 | 3362 |
| 3351 size_t push_properties_count_; | 3363 size_t push_properties_count_; |
| 3352 bool persist_needs_push_properties_; | 3364 bool persist_needs_push_properties_; |
| 3353 }; | 3365 }; |
| 3354 | 3366 |
| 3355 class LayerTreeHostTestLayersPushProperties : public LayerTreeHostTest { | 3367 class LayerTreeHostTestLayersPushProperties : public LayerTreeHostTest { |
| 3356 protected: | 3368 protected: |
| 3357 void BeginTest() override { | 3369 void BeginTest() override { |
| 3358 num_commits_ = 0; | 3370 num_commits_ = 0; |
| 3359 expected_push_properties_root_ = 0; | 3371 expected_push_properties_root_ = 0; |
| 3360 expected_push_properties_child_ = 0; | 3372 expected_push_properties_child_ = 0; |
| 3361 expected_push_properties_grandchild_ = 0; | 3373 expected_push_properties_grandchild_ = 0; |
| 3362 expected_push_properties_child2_ = 0; | 3374 expected_push_properties_child2_ = 0; |
| 3363 expected_push_properties_other_root_ = 0; | 3375 expected_push_properties_other_root_ = 0; |
| 3364 expected_push_properties_leaf_layer_ = 0; | 3376 expected_push_properties_leaf_layer_ = 0; |
| 3365 PostSetNeedsCommitToMainThread(); | 3377 PostSetNeedsCommitToMainThread(); |
| 3366 } | 3378 } |
| 3367 | 3379 |
| 3368 void SetupTree() override { | 3380 void SetupTree() override { |
| 3369 root_ = PushPropertiesCountingLayer::Create(); | 3381 root_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3370 root_->CreateRenderSurface(); | 3382 root_->CreateRenderSurface(); |
| 3371 child_ = PushPropertiesCountingLayer::Create(); | 3383 child_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3372 child2_ = PushPropertiesCountingLayer::Create(); | 3384 child2_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3373 grandchild_ = PushPropertiesCountingLayer::Create(); | 3385 grandchild_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3374 leaf_always_pushing_layer_ = PushPropertiesCountingLayer::Create(); | 3386 leaf_always_pushing_layer_ = |
| 3387 PushPropertiesCountingLayer::Create(layer_settings()); |
| 3375 leaf_always_pushing_layer_->set_persist_needs_push_properties(true); | 3388 leaf_always_pushing_layer_->set_persist_needs_push_properties(true); |
| 3376 | 3389 |
| 3377 root_->AddChild(child_); | 3390 root_->AddChild(child_); |
| 3378 root_->AddChild(child2_); | 3391 root_->AddChild(child2_); |
| 3379 child_->AddChild(grandchild_); | 3392 child_->AddChild(grandchild_); |
| 3380 child2_->AddChild(leaf_always_pushing_layer_); | 3393 child2_->AddChild(leaf_always_pushing_layer_); |
| 3381 | 3394 |
| 3382 other_root_ = PushPropertiesCountingLayer::Create(); | 3395 other_root_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3383 other_root_->CreateRenderSurface(); | 3396 other_root_->CreateRenderSurface(); |
| 3384 | 3397 |
| 3385 // Don't set the root layer here. | 3398 // Don't set the root layer here. |
| 3386 LayerTreeHostTest::SetupTree(); | 3399 LayerTreeHostTest::SetupTree(); |
| 3387 } | 3400 } |
| 3388 | 3401 |
| 3389 void DidCommitAndDrawFrame() override { | 3402 void DidCommitAndDrawFrame() override { |
| 3390 EXPECT_EQ(expected_push_properties_root_, root_->push_properties_count()) | 3403 EXPECT_EQ(expected_push_properties_root_, root_->push_properties_count()) |
| 3391 << "num_commits: " << num_commits_; | 3404 << "num_commits: " << num_commits_; |
| 3392 EXPECT_EQ(expected_push_properties_child_, child_->push_properties_count()) | 3405 EXPECT_EQ(expected_push_properties_child_, child_->push_properties_count()) |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3751 TEST_F(LayerTreeHostTestImplLayersPushProperties, DelegatingRenderer) { | 3764 TEST_F(LayerTreeHostTestImplLayersPushProperties, DelegatingRenderer) { |
| 3752 RunTestWithImplSidePainting(); | 3765 RunTestWithImplSidePainting(); |
| 3753 } | 3766 } |
| 3754 | 3767 |
| 3755 class LayerTreeHostTestPropertyChangesDuringUpdateArePushed | 3768 class LayerTreeHostTestPropertyChangesDuringUpdateArePushed |
| 3756 : public LayerTreeHostTest { | 3769 : public LayerTreeHostTest { |
| 3757 protected: | 3770 protected: |
| 3758 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 3771 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 3759 | 3772 |
| 3760 void SetupTree() override { | 3773 void SetupTree() override { |
| 3761 root_ = Layer::Create(); | 3774 root_ = Layer::Create(layer_settings()); |
| 3762 root_->CreateRenderSurface(); | 3775 root_->CreateRenderSurface(); |
| 3763 root_->SetBounds(gfx::Size(1, 1)); | 3776 root_->SetBounds(gfx::Size(1, 1)); |
| 3764 | 3777 |
| 3765 bool paint_scrollbar = true; | 3778 bool paint_scrollbar = true; |
| 3766 bool has_thumb = false; | 3779 bool has_thumb = false; |
| 3767 scrollbar_layer_ = FakePaintedScrollbarLayer::Create( | 3780 scrollbar_layer_ = FakePaintedScrollbarLayer::Create( |
| 3768 paint_scrollbar, has_thumb, root_->id()); | 3781 layer_settings(), paint_scrollbar, has_thumb, root_->id()); |
| 3769 | 3782 |
| 3770 root_->AddChild(scrollbar_layer_); | 3783 root_->AddChild(scrollbar_layer_); |
| 3771 | 3784 |
| 3772 layer_tree_host()->SetRootLayer(root_); | 3785 layer_tree_host()->SetRootLayer(root_); |
| 3773 LayerTreeHostTest::SetupTree(); | 3786 LayerTreeHostTest::SetupTree(); |
| 3774 } | 3787 } |
| 3775 | 3788 |
| 3776 void DidCommitAndDrawFrame() override { | 3789 void DidCommitAndDrawFrame() override { |
| 3777 switch (layer_tree_host()->source_frame_number()) { | 3790 switch (layer_tree_host()->source_frame_number()) { |
| 3778 case 0: | 3791 case 0: |
| (...skipping 29 matching lines...) Expand all Loading... |
| 3808 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer_; | 3821 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer_; |
| 3809 }; | 3822 }; |
| 3810 | 3823 |
| 3811 MULTI_THREAD_TEST_F(LayerTreeHostTestPropertyChangesDuringUpdateArePushed); | 3824 MULTI_THREAD_TEST_F(LayerTreeHostTestPropertyChangesDuringUpdateArePushed); |
| 3812 | 3825 |
| 3813 class LayerTreeHostTestSetDrawableCausesCommit : public LayerTreeHostTest { | 3826 class LayerTreeHostTestSetDrawableCausesCommit : public LayerTreeHostTest { |
| 3814 protected: | 3827 protected: |
| 3815 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 3828 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 3816 | 3829 |
| 3817 void SetupTree() override { | 3830 void SetupTree() override { |
| 3818 root_ = PushPropertiesCountingLayer::Create(); | 3831 root_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3819 root_->CreateRenderSurface(); | 3832 root_->CreateRenderSurface(); |
| 3820 child_ = PushPropertiesCountingLayer::Create(); | 3833 child_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3821 root_->AddChild(child_); | 3834 root_->AddChild(child_); |
| 3822 | 3835 |
| 3823 layer_tree_host()->SetRootLayer(root_); | 3836 layer_tree_host()->SetRootLayer(root_); |
| 3824 LayerTreeHostTest::SetupTree(); | 3837 LayerTreeHostTest::SetupTree(); |
| 3825 } | 3838 } |
| 3826 | 3839 |
| 3827 void DidCommitAndDrawFrame() override { | 3840 void DidCommitAndDrawFrame() override { |
| 3828 switch (layer_tree_host()->source_frame_number()) { | 3841 switch (layer_tree_host()->source_frame_number()) { |
| 3829 case 0: | 3842 case 0: |
| 3830 break; | 3843 break; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3870 void BeginTest() override { | 3883 void BeginTest() override { |
| 3871 expected_push_properties_root_ = 0; | 3884 expected_push_properties_root_ = 0; |
| 3872 expected_push_properties_child_ = 0; | 3885 expected_push_properties_child_ = 0; |
| 3873 expected_push_properties_grandchild1_ = 0; | 3886 expected_push_properties_grandchild1_ = 0; |
| 3874 expected_push_properties_grandchild2_ = 0; | 3887 expected_push_properties_grandchild2_ = 0; |
| 3875 expected_push_properties_grandchild3_ = 0; | 3888 expected_push_properties_grandchild3_ = 0; |
| 3876 PostSetNeedsCommitToMainThread(); | 3889 PostSetNeedsCommitToMainThread(); |
| 3877 } | 3890 } |
| 3878 | 3891 |
| 3879 void SetupTree() override { | 3892 void SetupTree() override { |
| 3880 root_ = PushPropertiesCountingLayer::Create(); | 3893 root_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3881 root_->CreateRenderSurface(); | 3894 root_->CreateRenderSurface(); |
| 3882 child_ = PushPropertiesCountingLayer::Create(); | 3895 child_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3883 grandchild1_ = PushPropertiesCountingLayer::Create(); | 3896 grandchild1_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3884 grandchild2_ = PushPropertiesCountingLayer::Create(); | 3897 grandchild2_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3885 grandchild3_ = PushPropertiesCountingLayer::Create(); | 3898 grandchild3_ = PushPropertiesCountingLayer::Create(layer_settings()); |
| 3886 | 3899 |
| 3887 root_->AddChild(child_); | 3900 root_->AddChild(child_); |
| 3888 child_->AddChild(grandchild1_); | 3901 child_->AddChild(grandchild1_); |
| 3889 child_->AddChild(grandchild2_); | 3902 child_->AddChild(grandchild2_); |
| 3890 child_->AddChild(grandchild3_); | 3903 child_->AddChild(grandchild3_); |
| 3891 | 3904 |
| 3892 // Don't set the root layer here. | 3905 // Don't set the root layer here. |
| 3893 LayerTreeHostTest::SetupTree(); | 3906 LayerTreeHostTest::SetupTree(); |
| 3894 } | 3907 } |
| 3895 | 3908 |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4383 int num_draws_; | 4396 int num_draws_; |
| 4384 }; | 4397 }; |
| 4385 | 4398 |
| 4386 // VideoLayer must support being invalidated and then passing that along | 4399 // VideoLayer must support being invalidated and then passing that along |
| 4387 // to the compositor thread, even though no resources are updated in | 4400 // to the compositor thread, even though no resources are updated in |
| 4388 // response to that invalidation. | 4401 // response to that invalidation. |
| 4389 class LayerTreeHostTestVideoLayerInvalidate : public LayerInvalidateCausesDraw { | 4402 class LayerTreeHostTestVideoLayerInvalidate : public LayerInvalidateCausesDraw { |
| 4390 public: | 4403 public: |
| 4391 void SetupTree() override { | 4404 void SetupTree() override { |
| 4392 LayerTreeHostTest::SetupTree(); | 4405 LayerTreeHostTest::SetupTree(); |
| 4393 scoped_refptr<VideoLayer> video_layer = | 4406 scoped_refptr<VideoLayer> video_layer = VideoLayer::Create( |
| 4394 VideoLayer::Create(&provider_, media::VIDEO_ROTATION_0); | 4407 layer_settings(), &provider_, media::VIDEO_ROTATION_0); |
| 4395 video_layer->SetBounds(gfx::Size(10, 10)); | 4408 video_layer->SetBounds(gfx::Size(10, 10)); |
| 4396 video_layer->SetIsDrawable(true); | 4409 video_layer->SetIsDrawable(true); |
| 4397 layer_tree_host()->root_layer()->AddChild(video_layer); | 4410 layer_tree_host()->root_layer()->AddChild(video_layer); |
| 4398 | 4411 |
| 4399 invalidate_layer_ = video_layer; | 4412 invalidate_layer_ = video_layer; |
| 4400 } | 4413 } |
| 4401 | 4414 |
| 4402 private: | 4415 private: |
| 4403 FakeVideoFrameProvider provider_; | 4416 FakeVideoFrameProvider provider_; |
| 4404 }; | 4417 }; |
| 4405 | 4418 |
| 4406 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestVideoLayerInvalidate); | 4419 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestVideoLayerInvalidate); |
| 4407 | 4420 |
| 4408 // IOSurfaceLayer must support being invalidated and then passing that along | 4421 // IOSurfaceLayer must support being invalidated and then passing that along |
| 4409 // to the compositor thread, even though no resources are updated in | 4422 // to the compositor thread, even though no resources are updated in |
| 4410 // response to that invalidation. | 4423 // response to that invalidation. |
| 4411 class LayerTreeHostTestIOSurfaceLayerInvalidate | 4424 class LayerTreeHostTestIOSurfaceLayerInvalidate |
| 4412 : public LayerInvalidateCausesDraw { | 4425 : public LayerInvalidateCausesDraw { |
| 4413 public: | 4426 public: |
| 4414 void SetupTree() override { | 4427 void SetupTree() override { |
| 4415 LayerTreeHostTest::SetupTree(); | 4428 LayerTreeHostTest::SetupTree(); |
| 4416 scoped_refptr<IOSurfaceLayer> layer = IOSurfaceLayer::Create(); | 4429 scoped_refptr<IOSurfaceLayer> layer = |
| 4430 IOSurfaceLayer::Create(layer_settings()); |
| 4417 layer->SetBounds(gfx::Size(10, 10)); | 4431 layer->SetBounds(gfx::Size(10, 10)); |
| 4418 uint32_t fake_io_surface_id = 7; | 4432 uint32_t fake_io_surface_id = 7; |
| 4419 layer->SetIOSurfaceProperties(fake_io_surface_id, layer->bounds()); | 4433 layer->SetIOSurfaceProperties(fake_io_surface_id, layer->bounds()); |
| 4420 layer->SetIsDrawable(true); | 4434 layer->SetIsDrawable(true); |
| 4421 layer_tree_host()->root_layer()->AddChild(layer); | 4435 layer_tree_host()->root_layer()->AddChild(layer); |
| 4422 | 4436 |
| 4423 invalidate_layer_ = layer; | 4437 invalidate_layer_ = layer; |
| 4424 } | 4438 } |
| 4425 }; | 4439 }; |
| 4426 | 4440 |
| 4427 // TODO(danakj): IOSurface layer can not be transported. crbug.com/239335 | 4441 // TODO(danakj): IOSurface layer can not be transported. crbug.com/239335 |
| 4428 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 4442 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
| 4429 LayerTreeHostTestIOSurfaceLayerInvalidate); | 4443 LayerTreeHostTestIOSurfaceLayerInvalidate); |
| 4430 | 4444 |
| 4431 class LayerTreeHostTestPushHiddenLayer : public LayerTreeHostTest { | 4445 class LayerTreeHostTestPushHiddenLayer : public LayerTreeHostTest { |
| 4432 protected: | 4446 protected: |
| 4433 void SetupTree() override { | 4447 void SetupTree() override { |
| 4434 root_layer_ = Layer::Create(); | 4448 root_layer_ = Layer::Create(layer_settings()); |
| 4435 root_layer_->CreateRenderSurface(); | 4449 root_layer_->CreateRenderSurface(); |
| 4436 root_layer_->SetPosition(gfx::Point()); | 4450 root_layer_->SetPosition(gfx::Point()); |
| 4437 root_layer_->SetBounds(gfx::Size(10, 10)); | 4451 root_layer_->SetBounds(gfx::Size(10, 10)); |
| 4438 | 4452 |
| 4439 parent_layer_ = SolidColorLayer::Create(); | 4453 parent_layer_ = SolidColorLayer::Create(layer_settings()); |
| 4440 parent_layer_->SetPosition(gfx::Point()); | 4454 parent_layer_->SetPosition(gfx::Point()); |
| 4441 parent_layer_->SetBounds(gfx::Size(10, 10)); | 4455 parent_layer_->SetBounds(gfx::Size(10, 10)); |
| 4442 parent_layer_->SetIsDrawable(true); | 4456 parent_layer_->SetIsDrawable(true); |
| 4443 root_layer_->AddChild(parent_layer_); | 4457 root_layer_->AddChild(parent_layer_); |
| 4444 | 4458 |
| 4445 child_layer_ = SolidColorLayer::Create(); | 4459 child_layer_ = SolidColorLayer::Create(layer_settings()); |
| 4446 child_layer_->SetPosition(gfx::Point()); | 4460 child_layer_->SetPosition(gfx::Point()); |
| 4447 child_layer_->SetBounds(gfx::Size(10, 10)); | 4461 child_layer_->SetBounds(gfx::Size(10, 10)); |
| 4448 child_layer_->SetIsDrawable(true); | 4462 child_layer_->SetIsDrawable(true); |
| 4449 parent_layer_->AddChild(child_layer_); | 4463 parent_layer_->AddChild(child_layer_); |
| 4450 | 4464 |
| 4451 layer_tree_host()->SetRootLayer(root_layer_); | 4465 layer_tree_host()->SetRootLayer(root_layer_); |
| 4452 LayerTreeHostTest::SetupTree(); | 4466 LayerTreeHostTest::SetupTree(); |
| 4453 } | 4467 } |
| 4454 | 4468 |
| 4455 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4469 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4495 | 4509 |
| 4496 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPushHiddenLayer); | 4510 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPushHiddenLayer); |
| 4497 | 4511 |
| 4498 class LayerTreeHostTestUpdateLayerInEmptyViewport : public LayerTreeHostTest { | 4512 class LayerTreeHostTestUpdateLayerInEmptyViewport : public LayerTreeHostTest { |
| 4499 protected: | 4513 protected: |
| 4500 void InitializeSettings(LayerTreeSettings* settings) override { | 4514 void InitializeSettings(LayerTreeSettings* settings) override { |
| 4501 settings->impl_side_painting = true; | 4515 settings->impl_side_painting = true; |
| 4502 } | 4516 } |
| 4503 | 4517 |
| 4504 void SetupTree() override { | 4518 void SetupTree() override { |
| 4505 root_layer_ = FakePictureLayer::Create(&client_); | 4519 root_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 4506 root_layer_->SetBounds(gfx::Size(10, 10)); | 4520 root_layer_->SetBounds(gfx::Size(10, 10)); |
| 4507 | 4521 |
| 4508 layer_tree_host()->SetRootLayer(root_layer_); | 4522 layer_tree_host()->SetRootLayer(root_layer_); |
| 4509 LayerTreeHostTest::SetupTree(); | 4523 LayerTreeHostTest::SetupTree(); |
| 4510 } | 4524 } |
| 4511 | 4525 |
| 4512 void BeginTest() override { | 4526 void BeginTest() override { |
| 4513 // The viewport is empty, but we still need to update layers on the main | 4527 // The viewport is empty, but we still need to update layers on the main |
| 4514 // thread. | 4528 // thread. |
| 4515 layer_tree_host()->SetViewportSize(gfx::Size(0, 0)); | 4529 layer_tree_host()->SetViewportSize(gfx::Size(0, 0)); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 4531 | 4545 |
| 4532 MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport); | 4546 MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport); |
| 4533 | 4547 |
| 4534 class LayerTreeHostTestAbortEvictedTextures : public LayerTreeHostTest { | 4548 class LayerTreeHostTestAbortEvictedTextures : public LayerTreeHostTest { |
| 4535 public: | 4549 public: |
| 4536 LayerTreeHostTestAbortEvictedTextures() | 4550 LayerTreeHostTestAbortEvictedTextures() |
| 4537 : num_will_begin_main_frames_(0), num_impl_commits_(0) {} | 4551 : num_will_begin_main_frames_(0), num_impl_commits_(0) {} |
| 4538 | 4552 |
| 4539 protected: | 4553 protected: |
| 4540 void SetupTree() override { | 4554 void SetupTree() override { |
| 4541 scoped_refptr<SolidColorLayer> root_layer = SolidColorLayer::Create(); | 4555 scoped_refptr<SolidColorLayer> root_layer = |
| 4556 SolidColorLayer::Create(layer_settings()); |
| 4542 root_layer->SetBounds(gfx::Size(200, 200)); | 4557 root_layer->SetBounds(gfx::Size(200, 200)); |
| 4543 root_layer->SetIsDrawable(true); | 4558 root_layer->SetIsDrawable(true); |
| 4544 root_layer->CreateRenderSurface(); | 4559 root_layer->CreateRenderSurface(); |
| 4545 | 4560 |
| 4546 layer_tree_host()->SetRootLayer(root_layer); | 4561 layer_tree_host()->SetRootLayer(root_layer); |
| 4547 LayerTreeHostTest::SetupTree(); | 4562 LayerTreeHostTest::SetupTree(); |
| 4548 } | 4563 } |
| 4549 | 4564 |
| 4550 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4565 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4551 | 4566 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4607 context_provider->SetMaxTransferBufferUsageBytes(512 * 512); | 4622 context_provider->SetMaxTransferBufferUsageBytes(512 * 512); |
| 4608 if (delegating_renderer()) | 4623 if (delegating_renderer()) |
| 4609 return FakeOutputSurface::CreateDelegating3d(context_provider); | 4624 return FakeOutputSurface::CreateDelegating3d(context_provider); |
| 4610 else | 4625 else |
| 4611 return FakeOutputSurface::Create3d(context_provider); | 4626 return FakeOutputSurface::Create3d(context_provider); |
| 4612 } | 4627 } |
| 4613 | 4628 |
| 4614 void SetupTree() override { | 4629 void SetupTree() override { |
| 4615 client_.set_fill_with_nonsolid_color(true); | 4630 client_.set_fill_with_nonsolid_color(true); |
| 4616 scoped_refptr<FakePictureLayer> root_layer = | 4631 scoped_refptr<FakePictureLayer> root_layer = |
| 4617 FakePictureLayer::Create(&client_); | 4632 FakePictureLayer::Create(layer_settings(), &client_); |
| 4618 root_layer->SetBounds(gfx::Size(1024, 1024)); | 4633 root_layer->SetBounds(gfx::Size(1024, 1024)); |
| 4619 root_layer->SetIsDrawable(true); | 4634 root_layer->SetIsDrawable(true); |
| 4620 | 4635 |
| 4621 layer_tree_host()->SetRootLayer(root_layer); | 4636 layer_tree_host()->SetRootLayer(root_layer); |
| 4622 LayerTreeHostTest::SetupTree(); | 4637 LayerTreeHostTest::SetupTree(); |
| 4623 } | 4638 } |
| 4624 | 4639 |
| 4625 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4640 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4626 | 4641 |
| 4627 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { | 4642 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4762 make_scoped_ptr(new ManagedMemoryPolicy( | 4777 make_scoped_ptr(new ManagedMemoryPolicy( |
| 4763 second_context_provider_.get() ? second_output_surface_memory_limit_ | 4778 second_context_provider_.get() ? second_output_surface_memory_limit_ |
| 4764 : first_output_surface_memory_limit_, | 4779 : first_output_surface_memory_limit_, |
| 4765 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, | 4780 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, |
| 4766 ManagedMemoryPolicy::kDefaultNumResourcesLimit))); | 4781 ManagedMemoryPolicy::kDefaultNumResourcesLimit))); |
| 4767 return output_surface.Pass(); | 4782 return output_surface.Pass(); |
| 4768 } | 4783 } |
| 4769 | 4784 |
| 4770 void SetupTree() override { | 4785 void SetupTree() override { |
| 4771 if (layer_tree_host()->settings().impl_side_painting) | 4786 if (layer_tree_host()->settings().impl_side_painting) |
| 4772 root_ = FakePictureLayer::Create(&client_); | 4787 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 4773 else | 4788 else |
| 4774 root_ = FakeContentLayer::Create(&client_); | 4789 root_ = FakeContentLayer::Create(layer_settings(), &client_); |
| 4775 root_->SetBounds(gfx::Size(20, 20)); | 4790 root_->SetBounds(gfx::Size(20, 20)); |
| 4776 layer_tree_host()->SetRootLayer(root_); | 4791 layer_tree_host()->SetRootLayer(root_); |
| 4777 LayerTreeHostTest::SetupTree(); | 4792 LayerTreeHostTest::SetupTree(); |
| 4778 } | 4793 } |
| 4779 | 4794 |
| 4780 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4795 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4781 | 4796 |
| 4782 void DidCommitAndDrawFrame() override { | 4797 void DidCommitAndDrawFrame() override { |
| 4783 // Lost context sometimes takes two frames to recreate. The third frame | 4798 // Lost context sometimes takes two frames to recreate. The third frame |
| 4784 // is sometimes aborted, so wait until the fourth frame to verify that | 4799 // is sometimes aborted, so wait until the fourth frame to verify that |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4935 TestSwapPromiseResult swap_promise_result_[3]; | 4950 TestSwapPromiseResult swap_promise_result_[3]; |
| 4936 }; | 4951 }; |
| 4937 | 4952 |
| 4938 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); | 4953 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); |
| 4939 | 4954 |
| 4940 class LayerTreeHostTestKeepSwapPromise : public LayerTreeTest { | 4955 class LayerTreeHostTestKeepSwapPromise : public LayerTreeTest { |
| 4941 public: | 4956 public: |
| 4942 LayerTreeHostTestKeepSwapPromise() {} | 4957 LayerTreeHostTestKeepSwapPromise() {} |
| 4943 | 4958 |
| 4944 void BeginTest() override { | 4959 void BeginTest() override { |
| 4945 layer_ = SolidColorLayer::Create(); | 4960 layer_ = SolidColorLayer::Create(layer_settings()); |
| 4946 layer_->SetIsDrawable(true); | 4961 layer_->SetIsDrawable(true); |
| 4947 layer_->SetBounds(gfx::Size(10, 10)); | 4962 layer_->SetBounds(gfx::Size(10, 10)); |
| 4948 layer_tree_host()->SetRootLayer(layer_); | 4963 layer_tree_host()->SetRootLayer(layer_); |
| 4949 gfx::Size bounds(100, 100); | 4964 gfx::Size bounds(100, 100); |
| 4950 layer_tree_host()->SetViewportSize(bounds); | 4965 layer_tree_host()->SetViewportSize(bounds); |
| 4951 PostSetNeedsCommitToMainThread(); | 4966 PostSetNeedsCommitToMainThread(); |
| 4952 } | 4967 } |
| 4953 | 4968 |
| 4954 void DidCommit() override { | 4969 void DidCommit() override { |
| 4955 MainThreadTaskRunner()->PostTask( | 4970 MainThreadTaskRunner()->PostTask( |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5217 void InitializeSettings(LayerTreeSettings* settings) override { | 5232 void InitializeSettings(LayerTreeSettings* settings) override { |
| 5218 settings->impl_side_painting = true; | 5233 settings->impl_side_painting = true; |
| 5219 | 5234 |
| 5220 EXPECT_FALSE(settings->gpu_rasterization_enabled); | 5235 EXPECT_FALSE(settings->gpu_rasterization_enabled); |
| 5221 EXPECT_FALSE(settings->gpu_rasterization_forced); | 5236 EXPECT_FALSE(settings->gpu_rasterization_forced); |
| 5222 } | 5237 } |
| 5223 | 5238 |
| 5224 void SetupTree() override { | 5239 void SetupTree() override { |
| 5225 LayerTreeHostTest::SetupTree(); | 5240 LayerTreeHostTest::SetupTree(); |
| 5226 | 5241 |
| 5227 scoped_refptr<PictureLayer> layer = PictureLayer::Create(&layer_client_); | 5242 scoped_refptr<PictureLayer> layer = |
| 5243 PictureLayer::Create(layer_settings(), &layer_client_); |
| 5228 layer->SetBounds(gfx::Size(10, 10)); | 5244 layer->SetBounds(gfx::Size(10, 10)); |
| 5229 layer->SetIsDrawable(true); | 5245 layer->SetIsDrawable(true); |
| 5230 layer_tree_host()->root_layer()->AddChild(layer); | 5246 layer_tree_host()->root_layer()->AddChild(layer); |
| 5231 } | 5247 } |
| 5232 | 5248 |
| 5233 void BeginTest() override { | 5249 void BeginTest() override { |
| 5234 Layer* root = layer_tree_host()->root_layer(); | 5250 Layer* root = layer_tree_host()->root_layer(); |
| 5235 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); | 5251 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); |
| 5236 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); | 5252 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); |
| 5237 | 5253 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5273 void InitializeSettings(LayerTreeSettings* settings) override { | 5289 void InitializeSettings(LayerTreeSettings* settings) override { |
| 5274 settings->impl_side_painting = true; | 5290 settings->impl_side_painting = true; |
| 5275 | 5291 |
| 5276 EXPECT_FALSE(settings->gpu_rasterization_enabled); | 5292 EXPECT_FALSE(settings->gpu_rasterization_enabled); |
| 5277 settings->gpu_rasterization_enabled = true; | 5293 settings->gpu_rasterization_enabled = true; |
| 5278 } | 5294 } |
| 5279 | 5295 |
| 5280 void SetupTree() override { | 5296 void SetupTree() override { |
| 5281 LayerTreeHostTest::SetupTree(); | 5297 LayerTreeHostTest::SetupTree(); |
| 5282 | 5298 |
| 5283 scoped_refptr<PictureLayer> layer = PictureLayer::Create(&layer_client_); | 5299 scoped_refptr<PictureLayer> layer = |
| 5300 PictureLayer::Create(layer_settings(), &layer_client_); |
| 5284 layer->SetBounds(gfx::Size(10, 10)); | 5301 layer->SetBounds(gfx::Size(10, 10)); |
| 5285 layer->SetIsDrawable(true); | 5302 layer->SetIsDrawable(true); |
| 5286 layer_tree_host()->root_layer()->AddChild(layer); | 5303 layer_tree_host()->root_layer()->AddChild(layer); |
| 5287 } | 5304 } |
| 5288 | 5305 |
| 5289 void BeginTest() override { | 5306 void BeginTest() override { |
| 5290 Layer* root = layer_tree_host()->root_layer(); | 5307 Layer* root = layer_tree_host()->root_layer(); |
| 5291 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); | 5308 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); |
| 5292 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); | 5309 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); |
| 5293 | 5310 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5339 ASSERT_TRUE(settings->impl_side_painting); | 5356 ASSERT_TRUE(settings->impl_side_painting); |
| 5340 | 5357 |
| 5341 EXPECT_FALSE(settings->gpu_rasterization_forced); | 5358 EXPECT_FALSE(settings->gpu_rasterization_forced); |
| 5342 settings->gpu_rasterization_forced = true; | 5359 settings->gpu_rasterization_forced = true; |
| 5343 } | 5360 } |
| 5344 | 5361 |
| 5345 void SetupTree() override { | 5362 void SetupTree() override { |
| 5346 LayerTreeHostTest::SetupTree(); | 5363 LayerTreeHostTest::SetupTree(); |
| 5347 | 5364 |
| 5348 scoped_refptr<FakePictureLayer> layer = | 5365 scoped_refptr<FakePictureLayer> layer = |
| 5349 FakePictureLayer::Create(&layer_client_); | 5366 FakePictureLayer::Create(layer_settings(), &layer_client_); |
| 5350 layer->SetBounds(gfx::Size(10, 10)); | 5367 layer->SetBounds(gfx::Size(10, 10)); |
| 5351 layer->SetIsDrawable(true); | 5368 layer->SetIsDrawable(true); |
| 5352 layer_tree_host()->root_layer()->AddChild(layer); | 5369 layer_tree_host()->root_layer()->AddChild(layer); |
| 5353 } | 5370 } |
| 5354 | 5371 |
| 5355 void BeginTest() override { | 5372 void BeginTest() override { |
| 5356 Layer* root = layer_tree_host()->root_layer(); | 5373 Layer* root = layer_tree_host()->root_layer(); |
| 5357 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); | 5374 PictureLayer* layer = static_cast<PictureLayer*>(root->child_at(0)); |
| 5358 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); | 5375 RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); |
| 5359 | 5376 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5401 | 5418 |
| 5402 class LayerTreeHostTestContinuousPainting : public LayerTreeHostTest { | 5419 class LayerTreeHostTestContinuousPainting : public LayerTreeHostTest { |
| 5403 public: | 5420 public: |
| 5404 LayerTreeHostTestContinuousPainting() | 5421 LayerTreeHostTestContinuousPainting() |
| 5405 : num_commits_(0), num_draws_(0), bounds_(20, 20), child_layer_(NULL) {} | 5422 : num_commits_(0), num_draws_(0), bounds_(20, 20), child_layer_(NULL) {} |
| 5406 | 5423 |
| 5407 protected: | 5424 protected: |
| 5408 enum { kExpectedNumCommits = 10 }; | 5425 enum { kExpectedNumCommits = 10 }; |
| 5409 | 5426 |
| 5410 void SetupTree() override { | 5427 void SetupTree() override { |
| 5411 scoped_refptr<Layer> root_layer = Layer::Create(); | 5428 scoped_refptr<Layer> root_layer = Layer::Create(layer_settings()); |
| 5412 root_layer->SetBounds(bounds_); | 5429 root_layer->SetBounds(bounds_); |
| 5413 root_layer->CreateRenderSurface(); | 5430 root_layer->CreateRenderSurface(); |
| 5414 | 5431 |
| 5415 if (layer_tree_host()->settings().impl_side_painting) { | 5432 if (layer_tree_host()->settings().impl_side_painting) { |
| 5416 picture_layer_ = FakePictureLayer::Create(&client_); | 5433 picture_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 5417 child_layer_ = picture_layer_.get(); | 5434 child_layer_ = picture_layer_.get(); |
| 5418 } else { | 5435 } else { |
| 5419 content_layer_ = ContentLayerWithUpdateTracking::Create(&client_); | 5436 content_layer_ = |
| 5437 ContentLayerWithUpdateTracking::Create(layer_settings(), &client_); |
| 5420 child_layer_ = content_layer_.get(); | 5438 child_layer_ = content_layer_.get(); |
| 5421 } | 5439 } |
| 5422 child_layer_->SetBounds(bounds_); | 5440 child_layer_->SetBounds(bounds_); |
| 5423 child_layer_->SetIsDrawable(true); | 5441 child_layer_->SetIsDrawable(true); |
| 5424 root_layer->AddChild(child_layer_); | 5442 root_layer->AddChild(child_layer_); |
| 5425 | 5443 |
| 5426 layer_tree_host()->SetRootLayer(root_layer); | 5444 layer_tree_host()->SetRootLayer(root_layer); |
| 5427 layer_tree_host()->SetViewportSize(bounds_); | 5445 layer_tree_host()->SetViewportSize(bounds_); |
| 5428 LayerTreeHostTest::SetupTree(); | 5446 LayerTreeHostTest::SetupTree(); |
| 5429 } | 5447 } |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5752 class LayerTreeHostTestCrispUpAfterPinchEnds : public LayerTreeHostTest { | 5770 class LayerTreeHostTestCrispUpAfterPinchEnds : public LayerTreeHostTest { |
| 5753 protected: | 5771 protected: |
| 5754 LayerTreeHostTestCrispUpAfterPinchEnds() | 5772 LayerTreeHostTestCrispUpAfterPinchEnds() |
| 5755 : playback_allowed_event_(true, true) {} | 5773 : playback_allowed_event_(true, true) {} |
| 5756 | 5774 |
| 5757 void SetupTree() override { | 5775 void SetupTree() override { |
| 5758 frame_ = 1; | 5776 frame_ = 1; |
| 5759 posted_ = false; | 5777 posted_ = false; |
| 5760 client_.set_fill_with_nonsolid_color(true); | 5778 client_.set_fill_with_nonsolid_color(true); |
| 5761 | 5779 |
| 5762 scoped_refptr<Layer> root = Layer::Create(); | 5780 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 5763 root->SetBounds(gfx::Size(500, 500)); | 5781 root->SetBounds(gfx::Size(500, 500)); |
| 5764 | 5782 |
| 5765 scoped_refptr<Layer> pinch = Layer::Create(); | 5783 scoped_refptr<Layer> pinch = Layer::Create(layer_settings()); |
| 5766 pinch->SetBounds(gfx::Size(500, 500)); | 5784 pinch->SetBounds(gfx::Size(500, 500)); |
| 5767 pinch->SetScrollClipLayerId(root->id()); | 5785 pinch->SetScrollClipLayerId(root->id()); |
| 5768 pinch->SetIsContainerForFixedPositionLayers(true); | 5786 pinch->SetIsContainerForFixedPositionLayers(true); |
| 5769 root->AddChild(pinch); | 5787 root->AddChild(pinch); |
| 5770 | 5788 |
| 5771 scoped_ptr<FakePicturePile> pile( | 5789 scoped_ptr<FakePicturePile> pile( |
| 5772 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 5790 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 5773 ImplSidePaintingSettings().default_tile_grid_size)); | 5791 ImplSidePaintingSettings().default_tile_grid_size)); |
| 5774 pile->SetPlaybackAllowedEvent(&playback_allowed_event_); | 5792 pile->SetPlaybackAllowedEvent(&playback_allowed_event_); |
| 5775 scoped_refptr<FakePictureLayer> layer = | 5793 scoped_refptr<FakePictureLayer> layer = |
| 5776 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 5794 FakePictureLayer::CreateWithRecordingSource(layer_settings(), &client_, |
| 5795 pile.Pass()); |
| 5777 layer->SetBounds(gfx::Size(500, 500)); | 5796 layer->SetBounds(gfx::Size(500, 500)); |
| 5778 layer->SetContentsOpaque(true); | 5797 layer->SetContentsOpaque(true); |
| 5779 // Avoid LCD text on the layer so we don't cause extra commits when we | 5798 // Avoid LCD text on the layer so we don't cause extra commits when we |
| 5780 // pinch. | 5799 // pinch. |
| 5781 layer->disable_lcd_text(); | 5800 layer->disable_lcd_text(); |
| 5782 pinch->AddChild(layer); | 5801 pinch->AddChild(layer); |
| 5783 | 5802 |
| 5784 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch, pinch); | 5803 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch, pinch); |
| 5785 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); | 5804 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); |
| 5786 layer_tree_host()->SetRootLayer(root); | 5805 layer_tree_host()->SetRootLayer(root); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5963 RasterizeWithGpuRasterizationCreatesResources() {} | 5982 RasterizeWithGpuRasterizationCreatesResources() {} |
| 5964 | 5983 |
| 5965 void InitializeSettings(LayerTreeSettings* settings) override { | 5984 void InitializeSettings(LayerTreeSettings* settings) override { |
| 5966 settings->impl_side_painting = true; | 5985 settings->impl_side_painting = true; |
| 5967 settings->gpu_rasterization_forced = true; | 5986 settings->gpu_rasterization_forced = true; |
| 5968 } | 5987 } |
| 5969 | 5988 |
| 5970 void SetupTree() override { | 5989 void SetupTree() override { |
| 5971 client_.set_fill_with_nonsolid_color(true); | 5990 client_.set_fill_with_nonsolid_color(true); |
| 5972 | 5991 |
| 5973 scoped_refptr<Layer> root = Layer::Create(); | 5992 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 5974 root->SetBounds(gfx::Size(500, 500)); | 5993 root->SetBounds(gfx::Size(500, 500)); |
| 5975 | 5994 |
| 5976 scoped_ptr<FakePicturePile> pile( | 5995 scoped_ptr<FakePicturePile> pile( |
| 5977 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 5996 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 5978 ImplSidePaintingSettings().default_tile_grid_size)); | 5997 ImplSidePaintingSettings().default_tile_grid_size)); |
| 5979 scoped_refptr<FakePictureLayer> layer = | 5998 scoped_refptr<FakePictureLayer> layer = |
| 5980 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 5999 FakePictureLayer::CreateWithRecordingSource(layer_settings(), &client_, |
| 6000 pile.Pass()); |
| 5981 layer->SetBounds(gfx::Size(500, 500)); | 6001 layer->SetBounds(gfx::Size(500, 500)); |
| 5982 layer->SetContentsOpaque(true); | 6002 layer->SetContentsOpaque(true); |
| 5983 root->AddChild(layer); | 6003 root->AddChild(layer); |
| 5984 | 6004 |
| 5985 layer_tree_host()->SetRootLayer(root); | 6005 layer_tree_host()->SetRootLayer(root); |
| 5986 LayerTreeHostTest::SetupTree(); | 6006 LayerTreeHostTest::SetupTree(); |
| 5987 } | 6007 } |
| 5988 | 6008 |
| 5989 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 6009 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 5990 | 6010 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 6012 settings->gpu_rasterization_forced = true; | 6032 settings->gpu_rasterization_forced = true; |
| 6013 } | 6033 } |
| 6014 | 6034 |
| 6015 void SetupTree() override { | 6035 void SetupTree() override { |
| 6016 client_.set_fill_with_nonsolid_color(true); | 6036 client_.set_fill_with_nonsolid_color(true); |
| 6017 | 6037 |
| 6018 scoped_ptr<FakePicturePile> pile( | 6038 scoped_ptr<FakePicturePile> pile( |
| 6019 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 6039 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 6020 ImplSidePaintingSettings().default_tile_grid_size)); | 6040 ImplSidePaintingSettings().default_tile_grid_size)); |
| 6021 scoped_refptr<FakePictureLayer> root = | 6041 scoped_refptr<FakePictureLayer> root = |
| 6022 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 6042 FakePictureLayer::CreateWithRecordingSource(layer_settings(), &client_, |
| 6043 pile.Pass()); |
| 6023 root->SetBounds(gfx::Size(10000, 10000)); | 6044 root->SetBounds(gfx::Size(10000, 10000)); |
| 6024 root->SetContentsOpaque(true); | 6045 root->SetContentsOpaque(true); |
| 6025 | 6046 |
| 6026 layer_tree_host()->SetRootLayer(root); | 6047 layer_tree_host()->SetRootLayer(root); |
| 6027 LayerTreeHostTest::SetupTree(); | 6048 LayerTreeHostTest::SetupTree(); |
| 6028 layer_tree_host()->SetViewportSize(viewport_size_); | 6049 layer_tree_host()->SetViewportSize(viewport_size_); |
| 6029 } | 6050 } |
| 6030 | 6051 |
| 6031 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 6052 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 6032 | 6053 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 6055 | 6076 |
| 6056 void InitializeSettings(LayerTreeSettings* settings) override { | 6077 void InitializeSettings(LayerTreeSettings* settings) override { |
| 6057 settings->impl_side_painting = true; | 6078 settings->impl_side_painting = true; |
| 6058 } | 6079 } |
| 6059 | 6080 |
| 6060 void SetupTree() override { | 6081 void SetupTree() override { |
| 6061 step_ = 1; | 6082 step_ = 1; |
| 6062 continuous_draws_ = 0; | 6083 continuous_draws_ = 0; |
| 6063 client_.set_fill_with_nonsolid_color(true); | 6084 client_.set_fill_with_nonsolid_color(true); |
| 6064 | 6085 |
| 6065 scoped_refptr<Layer> root = Layer::Create(); | 6086 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6066 root->SetBounds(gfx::Size(500, 500)); | 6087 root->SetBounds(gfx::Size(500, 500)); |
| 6067 | 6088 |
| 6068 scoped_refptr<Layer> pinch = Layer::Create(); | 6089 scoped_refptr<Layer> pinch = Layer::Create(layer_settings()); |
| 6069 pinch->SetBounds(gfx::Size(500, 500)); | 6090 pinch->SetBounds(gfx::Size(500, 500)); |
| 6070 pinch->SetScrollClipLayerId(root->id()); | 6091 pinch->SetScrollClipLayerId(root->id()); |
| 6071 pinch->SetIsContainerForFixedPositionLayers(true); | 6092 pinch->SetIsContainerForFixedPositionLayers(true); |
| 6072 root->AddChild(pinch); | 6093 root->AddChild(pinch); |
| 6073 | 6094 |
| 6074 scoped_ptr<FakePicturePile> pile( | 6095 scoped_ptr<FakePicturePile> pile( |
| 6075 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, | 6096 new FakePicturePile(ImplSidePaintingSettings().minimum_contents_scale, |
| 6076 ImplSidePaintingSettings().default_tile_grid_size)); | 6097 ImplSidePaintingSettings().default_tile_grid_size)); |
| 6077 pile->SetPlaybackAllowedEvent(&playback_allowed_event_); | 6098 pile->SetPlaybackAllowedEvent(&playback_allowed_event_); |
| 6078 scoped_refptr<FakePictureLayer> layer = | 6099 scoped_refptr<FakePictureLayer> layer = |
| 6079 FakePictureLayer::CreateWithRecordingSource(&client_, pile.Pass()); | 6100 FakePictureLayer::CreateWithRecordingSource(layer_settings(), &client_, |
| 6101 pile.Pass()); |
| 6080 layer->SetBounds(gfx::Size(500, 500)); | 6102 layer->SetBounds(gfx::Size(500, 500)); |
| 6081 layer->SetContentsOpaque(true); | 6103 layer->SetContentsOpaque(true); |
| 6082 // Avoid LCD text on the layer so we don't cause extra commits when we | 6104 // Avoid LCD text on the layer so we don't cause extra commits when we |
| 6083 // pinch. | 6105 // pinch. |
| 6084 layer->disable_lcd_text(); | 6106 layer->disable_lcd_text(); |
| 6085 pinch->AddChild(layer); | 6107 pinch->AddChild(layer); |
| 6086 | 6108 |
| 6087 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch, pinch); | 6109 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch, pinch); |
| 6088 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); | 6110 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); |
| 6089 layer_tree_host()->SetRootLayer(root); | 6111 layer_tree_host()->SetRootLayer(root); |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6228 | 6250 |
| 6229 class LayerTreeHostTestOneActivatePerPrepareTiles : public LayerTreeHostTest { | 6251 class LayerTreeHostTestOneActivatePerPrepareTiles : public LayerTreeHostTest { |
| 6230 public: | 6252 public: |
| 6231 LayerTreeHostTestOneActivatePerPrepareTiles() | 6253 LayerTreeHostTestOneActivatePerPrepareTiles() |
| 6232 : notify_ready_to_activate_count_(0u), | 6254 : notify_ready_to_activate_count_(0u), |
| 6233 scheduled_prepare_tiles_count_(0) {} | 6255 scheduled_prepare_tiles_count_(0) {} |
| 6234 | 6256 |
| 6235 void SetupTree() override { | 6257 void SetupTree() override { |
| 6236 client_.set_fill_with_nonsolid_color(true); | 6258 client_.set_fill_with_nonsolid_color(true); |
| 6237 scoped_refptr<FakePictureLayer> root_layer = | 6259 scoped_refptr<FakePictureLayer> root_layer = |
| 6238 FakePictureLayer::Create(&client_); | 6260 FakePictureLayer::Create(layer_settings(), &client_); |
| 6239 root_layer->SetBounds(gfx::Size(1500, 1500)); | 6261 root_layer->SetBounds(gfx::Size(1500, 1500)); |
| 6240 root_layer->SetIsDrawable(true); | 6262 root_layer->SetIsDrawable(true); |
| 6241 | 6263 |
| 6242 layer_tree_host()->SetRootLayer(root_layer); | 6264 layer_tree_host()->SetRootLayer(root_layer); |
| 6243 LayerTreeHostTest::SetupTree(); | 6265 LayerTreeHostTest::SetupTree(); |
| 6244 } | 6266 } |
| 6245 | 6267 |
| 6246 void BeginTest() override { | 6268 void BeginTest() override { |
| 6247 layer_tree_host()->SetViewportSize(gfx::Size(16, 16)); | 6269 layer_tree_host()->SetViewportSize(gfx::Size(16, 16)); |
| 6248 PostSetNeedsCommitToMainThread(); | 6270 PostSetNeedsCommitToMainThread(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6283 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestOneActivatePerPrepareTiles); | 6305 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestOneActivatePerPrepareTiles); |
| 6284 | 6306 |
| 6285 class LayerTreeHostTestFrameTimingRequestsSaveTimestamps | 6307 class LayerTreeHostTestFrameTimingRequestsSaveTimestamps |
| 6286 : public LayerTreeHostTest { | 6308 : public LayerTreeHostTest { |
| 6287 public: | 6309 public: |
| 6288 LayerTreeHostTestFrameTimingRequestsSaveTimestamps() | 6310 LayerTreeHostTestFrameTimingRequestsSaveTimestamps() |
| 6289 : check_results_on_commit_(false) {} | 6311 : check_results_on_commit_(false) {} |
| 6290 | 6312 |
| 6291 void SetupTree() override { | 6313 void SetupTree() override { |
| 6292 scoped_refptr<FakePictureLayer> root_layer = | 6314 scoped_refptr<FakePictureLayer> root_layer = |
| 6293 FakePictureLayer::Create(&client_); | 6315 FakePictureLayer::Create(layer_settings(), &client_); |
| 6294 root_layer->SetBounds(gfx::Size(200, 200)); | 6316 root_layer->SetBounds(gfx::Size(200, 200)); |
| 6295 root_layer->SetIsDrawable(true); | 6317 root_layer->SetIsDrawable(true); |
| 6296 | 6318 |
| 6297 scoped_refptr<FakePictureLayer> child_layer = | 6319 scoped_refptr<FakePictureLayer> child_layer = |
| 6298 FakePictureLayer::Create(&client_); | 6320 FakePictureLayer::Create(layer_settings(), &client_); |
| 6299 child_layer->SetBounds(gfx::Size(1500, 1500)); | 6321 child_layer->SetBounds(gfx::Size(1500, 1500)); |
| 6300 child_layer->SetIsDrawable(true); | 6322 child_layer->SetIsDrawable(true); |
| 6301 | 6323 |
| 6302 std::vector<FrameTimingRequest> requests; | 6324 std::vector<FrameTimingRequest> requests; |
| 6303 requests.push_back(FrameTimingRequest(1, gfx::Rect(0, 0, 100, 100))); | 6325 requests.push_back(FrameTimingRequest(1, gfx::Rect(0, 0, 100, 100))); |
| 6304 requests.push_back(FrameTimingRequest(2, gfx::Rect(300, 0, 100, 100))); | 6326 requests.push_back(FrameTimingRequest(2, gfx::Rect(300, 0, 100, 100))); |
| 6305 child_layer->SetFrameTimingRequests(requests); | 6327 child_layer->SetFrameTimingRequests(requests); |
| 6306 | 6328 |
| 6307 root_layer->AddChild(child_layer); | 6329 root_layer->AddChild(child_layer); |
| 6308 layer_tree_host()->SetRootLayer(root_layer); | 6330 layer_tree_host()->SetRootLayer(root_layer); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6369 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestFrameTimingRequestsSaveTimestamps); | 6391 MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestFrameTimingRequestsSaveTimestamps); |
| 6370 | 6392 |
| 6371 class LayerTreeHostTestActivationCausesPrepareTiles : public LayerTreeHostTest { | 6393 class LayerTreeHostTestActivationCausesPrepareTiles : public LayerTreeHostTest { |
| 6372 public: | 6394 public: |
| 6373 LayerTreeHostTestActivationCausesPrepareTiles() | 6395 LayerTreeHostTestActivationCausesPrepareTiles() |
| 6374 : scheduled_prepare_tiles_count_(0) {} | 6396 : scheduled_prepare_tiles_count_(0) {} |
| 6375 | 6397 |
| 6376 void SetupTree() override { | 6398 void SetupTree() override { |
| 6377 client_.set_fill_with_nonsolid_color(true); | 6399 client_.set_fill_with_nonsolid_color(true); |
| 6378 scoped_refptr<FakePictureLayer> root_layer = | 6400 scoped_refptr<FakePictureLayer> root_layer = |
| 6379 FakePictureLayer::Create(&client_); | 6401 FakePictureLayer::Create(layer_settings(), &client_); |
| 6380 root_layer->SetBounds(gfx::Size(150, 150)); | 6402 root_layer->SetBounds(gfx::Size(150, 150)); |
| 6381 root_layer->SetIsDrawable(true); | 6403 root_layer->SetIsDrawable(true); |
| 6382 | 6404 |
| 6383 layer_tree_host()->SetRootLayer(root_layer); | 6405 layer_tree_host()->SetRootLayer(root_layer); |
| 6384 LayerTreeHostTest::SetupTree(); | 6406 LayerTreeHostTest::SetupTree(); |
| 6385 } | 6407 } |
| 6386 | 6408 |
| 6387 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 6409 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 6388 | 6410 |
| 6389 void NotifyReadyToActivateOnThread(LayerTreeHostImpl* impl) override { | 6411 void NotifyReadyToActivateOnThread(LayerTreeHostImpl* impl) override { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6449 | 6471 |
| 6450 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoTasksBetweenWillAndDidCommit); | 6472 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoTasksBetweenWillAndDidCommit); |
| 6451 | 6473 |
| 6452 // Verify that if a LayerImpl holds onto a copy request for multiple | 6474 // Verify that if a LayerImpl holds onto a copy request for multiple |
| 6453 // frames that it will continue to have a render surface through | 6475 // frames that it will continue to have a render surface through |
| 6454 // multiple commits, even though the Layer itself has no reason | 6476 // multiple commits, even though the Layer itself has no reason |
| 6455 // to have a render surface. | 6477 // to have a render surface. |
| 6456 class LayerPreserveRenderSurfaceFromOutputRequests : public LayerTreeHostTest { | 6478 class LayerPreserveRenderSurfaceFromOutputRequests : public LayerTreeHostTest { |
| 6457 protected: | 6479 protected: |
| 6458 void SetupTree() override { | 6480 void SetupTree() override { |
| 6459 scoped_refptr<Layer> root = Layer::Create(); | 6481 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6460 root->CreateRenderSurface(); | 6482 root->CreateRenderSurface(); |
| 6461 root->SetBounds(gfx::Size(10, 10)); | 6483 root->SetBounds(gfx::Size(10, 10)); |
| 6462 child_ = Layer::Create(); | 6484 child_ = Layer::Create(layer_settings()); |
| 6463 child_->SetBounds(gfx::Size(20, 20)); | 6485 child_->SetBounds(gfx::Size(20, 20)); |
| 6464 root->AddChild(child_); | 6486 root->AddChild(child_); |
| 6465 | 6487 |
| 6466 layer_tree_host()->SetRootLayer(root); | 6488 layer_tree_host()->SetRootLayer(root); |
| 6467 LayerTreeHostTest::SetupTree(); | 6489 LayerTreeHostTest::SetupTree(); |
| 6468 } | 6490 } |
| 6469 | 6491 |
| 6470 static void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) {} | 6492 static void CopyOutputCallback(scoped_ptr<CopyOutputResult> result) {} |
| 6471 | 6493 |
| 6472 void BeginTest() override { | 6494 void BeginTest() override { |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6528 | 6550 |
| 6529 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests); | 6551 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests); |
| 6530 | 6552 |
| 6531 class LayerTreeTestMaskLayerForSurfaceWithClippedLayer : public LayerTreeTest { | 6553 class LayerTreeTestMaskLayerForSurfaceWithClippedLayer : public LayerTreeTest { |
| 6532 protected: | 6554 protected: |
| 6533 void SetupTree() override { | 6555 void SetupTree() override { |
| 6534 // The masked layer has bounds 50x50, but it has a child that causes | 6556 // The masked layer has bounds 50x50, but it has a child that causes |
| 6535 // the surface bounds to be larger. It also has a parent that clips the | 6557 // the surface bounds to be larger. It also has a parent that clips the |
| 6536 // masked layer and its surface. | 6558 // masked layer and its surface. |
| 6537 | 6559 |
| 6538 scoped_refptr<Layer> root = Layer::Create(); | 6560 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6539 | 6561 |
| 6540 scoped_refptr<Layer> clipping_layer = Layer::Create(); | 6562 scoped_refptr<Layer> clipping_layer = Layer::Create(layer_settings()); |
| 6541 root->AddChild(clipping_layer); | 6563 root->AddChild(clipping_layer); |
| 6542 | 6564 |
| 6543 scoped_refptr<FakePictureLayer> content_layer = | 6565 scoped_refptr<FakePictureLayer> content_layer = |
| 6544 FakePictureLayer::Create(&client_); | 6566 FakePictureLayer::Create(layer_settings(), &client_); |
| 6545 clipping_layer->AddChild(content_layer); | 6567 clipping_layer->AddChild(content_layer); |
| 6546 | 6568 |
| 6547 scoped_refptr<FakePictureLayer> content_child_layer = | 6569 scoped_refptr<FakePictureLayer> content_child_layer = |
| 6548 FakePictureLayer::Create(&client_); | 6570 FakePictureLayer::Create(layer_settings(), &client_); |
| 6549 content_layer->AddChild(content_child_layer); | 6571 content_layer->AddChild(content_child_layer); |
| 6550 | 6572 |
| 6551 scoped_refptr<FakePictureLayer> mask_layer = | 6573 scoped_refptr<FakePictureLayer> mask_layer = |
| 6552 FakePictureLayer::Create(&client_); | 6574 FakePictureLayer::Create(layer_settings(), &client_); |
| 6553 content_layer->SetMaskLayer(mask_layer.get()); | 6575 content_layer->SetMaskLayer(mask_layer.get()); |
| 6554 | 6576 |
| 6555 gfx::Size root_size(100, 100); | 6577 gfx::Size root_size(100, 100); |
| 6556 root->SetBounds(root_size); | 6578 root->SetBounds(root_size); |
| 6557 | 6579 |
| 6558 gfx::Rect clipping_rect(20, 10, 10, 20); | 6580 gfx::Rect clipping_rect(20, 10, 10, 20); |
| 6559 clipping_layer->SetBounds(clipping_rect.size()); | 6581 clipping_layer->SetBounds(clipping_rect.size()); |
| 6560 clipping_layer->SetPosition(clipping_rect.origin()); | 6582 clipping_layer->SetPosition(clipping_rect.origin()); |
| 6561 clipping_layer->SetMasksToBounds(true); | 6583 clipping_layer->SetMasksToBounds(true); |
| 6562 | 6584 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6622 } | 6644 } |
| 6623 | 6645 |
| 6624 void SetupTree() override { | 6646 void SetupTree() override { |
| 6625 // Root | 6647 // Root |
| 6626 // | | 6648 // | |
| 6627 // +-- Scaling Layer (adds a 2x scale) | 6649 // +-- Scaling Layer (adds a 2x scale) |
| 6628 // | | 6650 // | |
| 6629 // +-- Content Layer | 6651 // +-- Content Layer |
| 6630 // +--Mask | 6652 // +--Mask |
| 6631 | 6653 |
| 6632 scoped_refptr<Layer> root = Layer::Create(); | 6654 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6633 | 6655 |
| 6634 scoped_refptr<Layer> scaling_layer = Layer::Create(); | 6656 scoped_refptr<Layer> scaling_layer = Layer::Create(layer_settings()); |
| 6635 root->AddChild(scaling_layer); | 6657 root->AddChild(scaling_layer); |
| 6636 | 6658 |
| 6637 scoped_refptr<FakePictureLayer> content_layer = | 6659 scoped_refptr<FakePictureLayer> content_layer = |
| 6638 FakePictureLayer::Create(&client_); | 6660 FakePictureLayer::Create(layer_settings(), &client_); |
| 6639 scaling_layer->AddChild(content_layer); | 6661 scaling_layer->AddChild(content_layer); |
| 6640 | 6662 |
| 6641 scoped_refptr<FakePictureLayer> mask_layer = | 6663 scoped_refptr<FakePictureLayer> mask_layer = |
| 6642 FakePictureLayer::Create(&client_); | 6664 FakePictureLayer::Create(layer_settings(), &client_); |
| 6643 content_layer->SetMaskLayer(mask_layer.get()); | 6665 content_layer->SetMaskLayer(mask_layer.get()); |
| 6644 | 6666 |
| 6645 gfx::Size root_size(100, 100); | 6667 gfx::Size root_size(100, 100); |
| 6646 root->SetBounds(root_size); | 6668 root->SetBounds(root_size); |
| 6647 | 6669 |
| 6648 gfx::Size scaling_layer_size(50, 50); | 6670 gfx::Size scaling_layer_size(50, 50); |
| 6649 scaling_layer->SetBounds(scaling_layer_size); | 6671 scaling_layer->SetBounds(scaling_layer_size); |
| 6650 gfx::Transform scale; | 6672 gfx::Transform scale; |
| 6651 scale.Scale(2.f, 2.f); | 6673 scale.Scale(2.f, 2.f); |
| 6652 scaling_layer->SetTransform(scale); | 6674 scaling_layer->SetTransform(scale); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6717 }; | 6739 }; |
| 6718 | 6740 |
| 6719 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMaskLayerWithScaling); | 6741 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMaskLayerWithScaling); |
| 6720 | 6742 |
| 6721 class LayerTreeTestMaskLayerWithDifferentBounds : public LayerTreeTest { | 6743 class LayerTreeTestMaskLayerWithDifferentBounds : public LayerTreeTest { |
| 6722 protected: | 6744 protected: |
| 6723 void SetupTree() override { | 6745 void SetupTree() override { |
| 6724 // The mask layer has bounds 100x100 but is attached to a layer with bounds | 6746 // The mask layer has bounds 100x100 but is attached to a layer with bounds |
| 6725 // 50x50. | 6747 // 50x50. |
| 6726 | 6748 |
| 6727 scoped_refptr<Layer> root = Layer::Create(); | 6749 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6728 | 6750 |
| 6729 scoped_refptr<FakePictureLayer> content_layer = | 6751 scoped_refptr<FakePictureLayer> content_layer = |
| 6730 FakePictureLayer::Create(&client_); | 6752 FakePictureLayer::Create(layer_settings(), &client_); |
| 6731 root->AddChild(content_layer); | 6753 root->AddChild(content_layer); |
| 6732 | 6754 |
| 6733 scoped_refptr<FakePictureLayer> mask_layer = | 6755 scoped_refptr<FakePictureLayer> mask_layer = |
| 6734 FakePictureLayer::Create(&client_); | 6756 FakePictureLayer::Create(layer_settings(), &client_); |
| 6735 content_layer->SetMaskLayer(mask_layer.get()); | 6757 content_layer->SetMaskLayer(mask_layer.get()); |
| 6736 | 6758 |
| 6737 gfx::Size root_size(100, 100); | 6759 gfx::Size root_size(100, 100); |
| 6738 root->SetBounds(root_size); | 6760 root->SetBounds(root_size); |
| 6739 | 6761 |
| 6740 gfx::Size layer_size(50, 50); | 6762 gfx::Size layer_size(50, 50); |
| 6741 content_layer->SetBounds(layer_size); | 6763 content_layer->SetBounds(layer_size); |
| 6742 | 6764 |
| 6743 gfx::Size mask_size(100, 100); | 6765 gfx::Size mask_size(100, 100); |
| 6744 mask_layer->SetBounds(mask_size); | 6766 mask_layer->SetBounds(mask_size); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6805 | 6827 |
| 6806 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMaskLayerWithDifferentBounds); | 6828 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMaskLayerWithDifferentBounds); |
| 6807 | 6829 |
| 6808 class LayerTreeTestReflectionMaskLayerWithDifferentBounds | 6830 class LayerTreeTestReflectionMaskLayerWithDifferentBounds |
| 6809 : public LayerTreeTest { | 6831 : public LayerTreeTest { |
| 6810 protected: | 6832 protected: |
| 6811 void SetupTree() override { | 6833 void SetupTree() override { |
| 6812 // The replica's mask layer has bounds 100x100 but the replica is of a | 6834 // The replica's mask layer has bounds 100x100 but the replica is of a |
| 6813 // layer with bounds 50x50. | 6835 // layer with bounds 50x50. |
| 6814 | 6836 |
| 6815 scoped_refptr<Layer> root = Layer::Create(); | 6837 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6816 | 6838 |
| 6817 scoped_refptr<FakePictureLayer> content_layer = | 6839 scoped_refptr<FakePictureLayer> content_layer = |
| 6818 FakePictureLayer::Create(&client_); | 6840 FakePictureLayer::Create(layer_settings(), &client_); |
| 6819 root->AddChild(content_layer); | 6841 root->AddChild(content_layer); |
| 6820 | 6842 |
| 6821 scoped_refptr<Layer> replica_layer = Layer::Create(); | 6843 scoped_refptr<Layer> replica_layer = Layer::Create(layer_settings()); |
| 6822 content_layer->SetReplicaLayer(replica_layer.get()); | 6844 content_layer->SetReplicaLayer(replica_layer.get()); |
| 6823 | 6845 |
| 6824 scoped_refptr<FakePictureLayer> mask_layer = | 6846 scoped_refptr<FakePictureLayer> mask_layer = |
| 6825 FakePictureLayer::Create(&client_); | 6847 FakePictureLayer::Create(layer_settings(), &client_); |
| 6826 replica_layer->SetMaskLayer(mask_layer.get()); | 6848 replica_layer->SetMaskLayer(mask_layer.get()); |
| 6827 | 6849 |
| 6828 gfx::Size root_size(100, 100); | 6850 gfx::Size root_size(100, 100); |
| 6829 root->SetBounds(root_size); | 6851 root->SetBounds(root_size); |
| 6830 | 6852 |
| 6831 gfx::Size layer_size(50, 50); | 6853 gfx::Size layer_size(50, 50); |
| 6832 content_layer->SetBounds(layer_size); | 6854 content_layer->SetBounds(layer_size); |
| 6833 | 6855 |
| 6834 gfx::Size mask_size(100, 100); | 6856 gfx::Size mask_size(100, 100); |
| 6835 mask_layer->SetBounds(mask_size); | 6857 mask_layer->SetBounds(mask_size); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6898 SINGLE_AND_MULTI_THREAD_TEST_F( | 6920 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 6899 LayerTreeTestReflectionMaskLayerWithDifferentBounds); | 6921 LayerTreeTestReflectionMaskLayerWithDifferentBounds); |
| 6900 | 6922 |
| 6901 class LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild | 6923 class LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild |
| 6902 : public LayerTreeTest { | 6924 : public LayerTreeTest { |
| 6903 protected: | 6925 protected: |
| 6904 void SetupTree() override { | 6926 void SetupTree() override { |
| 6905 // The replica is of a layer with bounds 50x50, but it has a child that | 6927 // The replica is of a layer with bounds 50x50, but it has a child that |
| 6906 // causes the surface bounds to be larger. | 6928 // causes the surface bounds to be larger. |
| 6907 | 6929 |
| 6908 scoped_refptr<Layer> root = Layer::Create(); | 6930 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 6909 | 6931 |
| 6910 scoped_refptr<FakePictureLayer> content_layer = | 6932 scoped_refptr<FakePictureLayer> content_layer = |
| 6911 FakePictureLayer::Create(&client_); | 6933 FakePictureLayer::Create(layer_settings(), &client_); |
| 6912 root->AddChild(content_layer); | 6934 root->AddChild(content_layer); |
| 6913 | 6935 |
| 6914 content_child_layer_ = FakePictureLayer::Create(&client_); | 6936 content_child_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
| 6915 content_layer->AddChild(content_child_layer_); | 6937 content_layer->AddChild(content_child_layer_); |
| 6916 | 6938 |
| 6917 scoped_refptr<Layer> replica_layer = Layer::Create(); | 6939 scoped_refptr<Layer> replica_layer = Layer::Create(layer_settings()); |
| 6918 content_layer->SetReplicaLayer(replica_layer.get()); | 6940 content_layer->SetReplicaLayer(replica_layer.get()); |
| 6919 | 6941 |
| 6920 scoped_refptr<FakePictureLayer> mask_layer = | 6942 scoped_refptr<FakePictureLayer> mask_layer = |
| 6921 FakePictureLayer::Create(&client_); | 6943 FakePictureLayer::Create(layer_settings(), &client_); |
| 6922 replica_layer->SetMaskLayer(mask_layer.get()); | 6944 replica_layer->SetMaskLayer(mask_layer.get()); |
| 6923 | 6945 |
| 6924 gfx::Size root_size(100, 100); | 6946 gfx::Size root_size(100, 100); |
| 6925 root->SetBounds(root_size); | 6947 root->SetBounds(root_size); |
| 6926 | 6948 |
| 6927 gfx::Size layer_size(50, 50); | 6949 gfx::Size layer_size(50, 50); |
| 6928 content_layer->SetBounds(layer_size); | 6950 content_layer->SetBounds(layer_size); |
| 6929 content_child_layer_->SetBounds(layer_size); | 6951 content_child_layer_->SetBounds(layer_size); |
| 6930 content_child_layer_->SetPosition(gfx::PointF(50.f, 0.f)); | 6952 content_child_layer_->SetPosition(gfx::PointF(50.f, 0.f)); |
| 6931 | 6953 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6992 void AfterTest() override {} | 7014 void AfterTest() override {} |
| 6993 | 7015 |
| 6994 scoped_refptr<FakePictureLayer> content_child_layer_; | 7016 scoped_refptr<FakePictureLayer> content_child_layer_; |
| 6995 FakeContentLayerClient client_; | 7017 FakeContentLayerClient client_; |
| 6996 }; | 7018 }; |
| 6997 | 7019 |
| 6998 SINGLE_AND_MULTI_THREAD_TEST_F( | 7020 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 6999 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); | 7021 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); |
| 7000 | 7022 |
| 7001 } // namespace cc | 7023 } // namespace cc |
| OLD | NEW |