Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(722)

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 1194623003: cc: Remove contents_texture_manager from LayerTreeHost(Impl) and proxy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: contentstexturemanager: rebase Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 #include "ui/gfx/geometry/vector2d_conversions.h" 62 #include "ui/gfx/geometry/vector2d_conversions.h"
63 63
64 using testing::_; 64 using testing::_;
65 using testing::AnyNumber; 65 using testing::AnyNumber;
66 using testing::AtLeast; 66 using testing::AtLeast;
67 using testing::Mock; 67 using testing::Mock;
68 68
69 namespace cc { 69 namespace cc {
70 namespace { 70 namespace {
71 71
72 class LayerTreeHostTest : public LayerTreeTest { 72 class LayerTreeHostTest : public LayerTreeTest {};
73 public:
74 LayerTreeHostTest() : contents_texture_manager_(nullptr) {}
75
76 void DidInitializeOutputSurface() override {
77 contents_texture_manager_ = layer_tree_host()->contents_texture_manager();
78 }
79
80 protected:
81 PrioritizedResourceManager* contents_texture_manager_;
82 };
83 73
84 class LayerTreeHostTestHasImplThreadTest : public LayerTreeHostTest { 74 class LayerTreeHostTestHasImplThreadTest : public LayerTreeHostTest {
85 public: 75 public:
86 LayerTreeHostTestHasImplThreadTest() : threaded_(false) {} 76 LayerTreeHostTestHasImplThreadTest() : threaded_(false) {}
87 77
88 void RunTest(bool threaded, bool delegating_renderer) override { 78 void RunTest(bool threaded, bool delegating_renderer) override {
89 threaded_ = threaded; 79 threaded_ = threaded;
90 LayerTreeHostTest::RunTest(threaded, delegating_renderer); 80 LayerTreeHostTest::RunTest(threaded, delegating_renderer);
91 } 81 }
92 82
(...skipping 3433 matching lines...) Expand 10 before | Expand all | Expand 10 after
3526 } 3516 }
3527 3517
3528 void AfterTest() override {} 3518 void AfterTest() override {}
3529 3519
3530 FakeContentLayerClient client_; 3520 FakeContentLayerClient client_;
3531 scoped_refptr<FakePictureLayer> root_layer_; 3521 scoped_refptr<FakePictureLayer> root_layer_;
3532 }; 3522 };
3533 3523
3534 MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport); 3524 MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport);
3535 3525
3536 class LayerTreeHostTestAbortEvictedTextures : public LayerTreeHostTest {
3537 public:
3538 LayerTreeHostTestAbortEvictedTextures()
3539 : num_will_begin_main_frames_(0), num_impl_commits_(0) {}
3540
3541 protected:
3542 void SetupTree() override {
3543 scoped_refptr<SolidColorLayer> root_layer =
3544 SolidColorLayer::Create(layer_settings());
3545 root_layer->SetBounds(gfx::Size(200, 200));
3546 root_layer->SetIsDrawable(true);
3547 root_layer->CreateRenderSurface();
3548
3549 layer_tree_host()->SetRootLayer(root_layer);
3550 LayerTreeHostTest::SetupTree();
3551 }
3552
3553 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
3554
3555 void WillBeginMainFrame() override {
3556 num_will_begin_main_frames_++;
3557 switch (num_will_begin_main_frames_) {
3558 case 2:
3559 // Send a redraw to the compositor thread. This will (wrongly) be
3560 // ignored unless aborting resets the texture state.
3561 layer_tree_host()->SetNeedsRedraw();
3562 break;
3563 }
3564 }
3565
3566 void BeginCommitOnThread(LayerTreeHostImpl* impl) override {
3567 num_impl_commits_++;
3568 }
3569
3570 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
3571 switch (impl->SourceAnimationFrameNumberForTesting()) {
3572 case 1:
3573 // Prevent draws until commit.
3574 impl->active_tree()->SetContentsTexturesPurged();
3575 EXPECT_FALSE(impl->CanDraw());
3576 // Trigger an abortable commit.
3577 impl->SetNeedsCommit();
3578 break;
3579 case 2:
3580 EndTest();
3581 break;
3582 }
3583 }
3584
3585 void AfterTest() override {
3586 // Ensure that the commit was truly aborted.
3587 EXPECT_EQ(2, num_will_begin_main_frames_);
3588 EXPECT_EQ(1, num_impl_commits_);
3589 }
3590
3591 private:
3592 int num_will_begin_main_frames_;
3593 int num_impl_commits_;
3594 };
3595
3596 // Commits can only be aborted when using the thread proxy.
3597 MULTI_THREAD_TEST_F(LayerTreeHostTestAbortEvictedTextures);
3598
3599 class LayerTreeHostTestMaxTransferBufferUsageBytes : public LayerTreeHostTest { 3526 class LayerTreeHostTestMaxTransferBufferUsageBytes : public LayerTreeHostTest {
3600 protected: 3527 protected:
3601 void InitializeSettings(LayerTreeSettings* settings) override { 3528 void InitializeSettings(LayerTreeSettings* settings) override {
3602 // Testing async uploads. 3529 // Testing async uploads.
3603 settings->use_zero_copy = false; 3530 settings->use_zero_copy = false;
3604 settings->use_one_copy = false; 3531 settings->use_one_copy = false;
3605 } 3532 }
3606 3533
3607 scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface() override { 3534 scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface() override {
3608 scoped_refptr<TestContextProvider> context_provider = 3535 scoped_refptr<TestContextProvider> context_provider =
(...skipping 2350 matching lines...) Expand 10 before | Expand all | Expand 10 after
5959 5886
5960 scoped_refptr<FakePictureLayer> content_child_layer_; 5887 scoped_refptr<FakePictureLayer> content_child_layer_;
5961 FakeContentLayerClient client_; 5888 FakeContentLayerClient client_;
5962 }; 5889 };
5963 5890
5964 SINGLE_AND_MULTI_THREAD_TEST_F( 5891 SINGLE_AND_MULTI_THREAD_TEST_F(
5965 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); 5892 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild);
5966 5893
5967 } // namespace 5894 } // namespace
5968 } // namespace cc 5895 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698