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

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

Issue 1126963006: Move VISUAL_STATE promise to activation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Current state (presubmit warnings, cc_unittests tests failing) Created 5 years, 7 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
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 4806 matching lines...) Expand 10 before | Expand all | Expand 10 after
4817 }; 4817 };
4818 4818
4819 SINGLE_AND_MULTI_THREAD_TEST_F( 4819 SINGLE_AND_MULTI_THREAD_TEST_F(
4820 LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface); 4820 LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface);
4821 4821
4822 struct TestSwapPromiseResult { 4822 struct TestSwapPromiseResult {
4823 TestSwapPromiseResult() 4823 TestSwapPromiseResult()
4824 : did_swap_called(false), 4824 : did_swap_called(false),
4825 did_not_swap_called(false), 4825 did_not_swap_called(false),
4826 dtor_called(false), 4826 dtor_called(false),
4827 reason(SwapPromise::DID_NOT_SWAP_UNKNOWN) {} 4827 reason(Promise::DidNotSwap::UNKNOWN) {}
4828 4828
4829 bool did_swap_called; 4829 bool did_swap_called;
4830 bool did_not_swap_called; 4830 bool did_not_swap_called;
4831 bool dtor_called; 4831 bool dtor_called;
4832 SwapPromise::DidNotSwapReason reason; 4832 Promise::DidNotSwap::Reason reason;
4833 base::Lock lock; 4833 base::Lock lock;
4834 }; 4834 };
4835 4835
4836 class TestSwapPromise : public SwapPromise { 4836 class TestSwapPromise : public SwapPromise {
4837 public: 4837 public:
4838 explicit TestSwapPromise(TestSwapPromiseResult* result) : result_(result) {} 4838 explicit TestSwapPromise(TestSwapPromiseResult* result) : result_(result) {}
4839 4839
4840 ~TestSwapPromise() override { 4840 ~TestSwapPromise() override {
4841 base::AutoLock lock(result_->lock); 4841 base::AutoLock lock(result_->lock);
4842 result_->dtor_called = true; 4842 result_->dtor_called = true;
4843 } 4843 }
4844 4844
4845 void DidSwap(CompositorFrameMetadata* metadata) override { 4845 void DidSwap(CompositorFrameMetadata* metadata) override {
4846 base::AutoLock lock(result_->lock); 4846 base::AutoLock lock(result_->lock);
4847 EXPECT_FALSE(result_->did_swap_called); 4847 EXPECT_FALSE(result_->did_swap_called);
4848 EXPECT_FALSE(result_->did_not_swap_called); 4848 EXPECT_FALSE(result_->did_not_swap_called);
4849 result_->did_swap_called = true; 4849 result_->did_swap_called = true;
4850 } 4850 }
4851 4851
4852 void DidNotSwap(DidNotSwapReason reason) override { 4852 void DidNotSwap(DidNotSwap::Reason reason) override {
4853 base::AutoLock lock(result_->lock); 4853 base::AutoLock lock(result_->lock);
4854 EXPECT_FALSE(result_->did_swap_called); 4854 EXPECT_FALSE(result_->did_swap_called);
4855 EXPECT_FALSE(result_->did_not_swap_called); 4855 EXPECT_FALSE(result_->did_not_swap_called);
4856 result_->did_not_swap_called = true; 4856 result_->did_not_swap_called = true;
4857 result_->reason = reason; 4857 result_->reason = reason;
4858 } 4858 }
4859 4859
4860 int64 TraceId() const override { return 0; } 4860 int64 TraceId() const override { return 0; }
4861 4861
4862 private: 4862 private:
4863 // Not owned. 4863 // Not owned.
4864 TestSwapPromiseResult* result_; 4864 TestSwapPromiseResult* result_;
4865 }; 4865 };
4866 4866
4867 class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest { 4867 class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest {
4868 protected: 4868 protected:
4869 LayerTreeHostTestBreakSwapPromise() 4869 LayerTreeHostTestBreakSwapPromise()
4870 : commit_count_(0), commit_complete_count_(0) {} 4870 : commit_count_(0), commit_complete_count_(0) {}
4871 4871
4872 void WillBeginMainFrame() override { 4872 void WillBeginMainFrame() override {
4873 ASSERT_LE(commit_count_, 2); 4873 ASSERT_LE(commit_count_, 2);
4874 scoped_ptr<SwapPromise> swap_promise( 4874 scoped_ptr<Promise> swap_promise(
4875 new TestSwapPromise(&swap_promise_result_[commit_count_])); 4875 new TestSwapPromise(&swap_promise_result_[commit_count_]));
4876 layer_tree_host()->QueueSwapPromise(swap_promise.Pass()); 4876 layer_tree_host()->QueuePromise(swap_promise.Pass());
4877 } 4877 }
4878 4878
4879 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 4879 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
4880 4880
4881 void DidCommit() override { 4881 void DidCommit() override {
4882 commit_count_++; 4882 commit_count_++;
4883 if (commit_count_ == 2) { 4883 if (commit_count_ == 2) {
4884 // This commit will finish. 4884 // This commit will finish.
4885 layer_tree_host()->SetNeedsCommit(); 4885 layer_tree_host()->SetNeedsCommit();
4886 } 4886 }
(...skipping 21 matching lines...) Expand all
4908 EXPECT_TRUE(swap_promise_result_[0].did_swap_called); 4908 EXPECT_TRUE(swap_promise_result_[0].did_swap_called);
4909 EXPECT_FALSE(swap_promise_result_[0].did_not_swap_called); 4909 EXPECT_FALSE(swap_promise_result_[0].did_not_swap_called);
4910 EXPECT_TRUE(swap_promise_result_[0].dtor_called); 4910 EXPECT_TRUE(swap_promise_result_[0].dtor_called);
4911 } 4911 }
4912 4912
4913 { 4913 {
4914 // The second commit is aborted since it contains no updates. 4914 // The second commit is aborted since it contains no updates.
4915 base::AutoLock lock(swap_promise_result_[1].lock); 4915 base::AutoLock lock(swap_promise_result_[1].lock);
4916 EXPECT_FALSE(swap_promise_result_[1].did_swap_called); 4916 EXPECT_FALSE(swap_promise_result_[1].did_swap_called);
4917 EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called); 4917 EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called);
4918 EXPECT_EQ(SwapPromise::COMMIT_NO_UPDATE, swap_promise_result_[1].reason); 4918 EXPECT_EQ(Promise::DidNotSwap::COMMIT_NO_UPDATE, swap_promise_result_[1].r eason);
4919 EXPECT_TRUE(swap_promise_result_[1].dtor_called); 4919 EXPECT_TRUE(swap_promise_result_[1].dtor_called);
4920 } 4920 }
4921 4921
4922 { 4922 {
4923 // The last commit completes but it does not cause swap buffer because 4923 // The last commit completes but it does not cause swap buffer because
4924 // there is no damage in the frame data. 4924 // there is no damage in the frame data.
4925 base::AutoLock lock(swap_promise_result_[2].lock); 4925 base::AutoLock lock(swap_promise_result_[2].lock);
4926 EXPECT_FALSE(swap_promise_result_[2].did_swap_called); 4926 EXPECT_FALSE(swap_promise_result_[2].did_swap_called);
4927 EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called); 4927 EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called);
4928 EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason); 4928 EXPECT_EQ(Promise::DidNotSwap::SWAP_FAILS, swap_promise_result_[2].reason) ;
4929 EXPECT_TRUE(swap_promise_result_[2].dtor_called); 4929 EXPECT_TRUE(swap_promise_result_[2].dtor_called);
4930 } 4930 }
4931 } 4931 }
4932 4932
4933 int commit_count_; 4933 int commit_count_;
4934 int commit_complete_count_; 4934 int commit_complete_count_;
4935 TestSwapPromiseResult swap_promise_result_[3]; 4935 TestSwapPromiseResult swap_promise_result_[3];
4936 }; 4936 };
4937 4937
4938 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); 4938 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise);
(...skipping 15 matching lines...) Expand all
4954 void DidCommit() override { 4954 void DidCommit() override {
4955 MainThreadTaskRunner()->PostTask( 4955 MainThreadTaskRunner()->PostTask(
4956 FROM_HERE, base::Bind(&LayerTreeHostTestKeepSwapPromise::ChangeFrame, 4956 FROM_HERE, base::Bind(&LayerTreeHostTestKeepSwapPromise::ChangeFrame,
4957 base::Unretained(this))); 4957 base::Unretained(this)));
4958 } 4958 }
4959 4959
4960 void ChangeFrame() { 4960 void ChangeFrame() {
4961 switch (layer_tree_host()->source_frame_number()) { 4961 switch (layer_tree_host()->source_frame_number()) {
4962 case 1: 4962 case 1:
4963 layer_->SetBounds(gfx::Size(10, 11)); 4963 layer_->SetBounds(gfx::Size(10, 11));
4964 layer_tree_host()->QueueSwapPromise( 4964 layer_tree_host()->QueuePromise(
4965 make_scoped_ptr(new TestSwapPromise(&swap_promise_result_))); 4965 make_scoped_ptr(new TestSwapPromise(&swap_promise_result_)));
4966 break; 4966 break;
4967 case 2: 4967 case 2:
4968 break; 4968 break;
4969 default: 4969 default:
4970 NOTREACHED(); 4970 NOTREACHED();
4971 break; 4971 break;
4972 } 4972 }
4973 } 4973 }
4974 4974
(...skipping 18 matching lines...) Expand all
4993 4993
4994 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromise); 4994 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromise);
4995 4995
4996 class LayerTreeHostTestBreakSwapPromiseForVisibility 4996 class LayerTreeHostTestBreakSwapPromiseForVisibility
4997 : public LayerTreeHostTest { 4997 : public LayerTreeHostTest {
4998 protected: 4998 protected:
4999 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 4999 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
5000 5000
5001 void SetVisibleFalseAndQueueSwapPromise() { 5001 void SetVisibleFalseAndQueueSwapPromise() {
5002 layer_tree_host()->SetVisible(false); 5002 layer_tree_host()->SetVisible(false);
5003 scoped_ptr<SwapPromise> swap_promise( 5003 scoped_ptr<Promise> swap_promise(
5004 new TestSwapPromise(&swap_promise_result_)); 5004 new TestSwapPromise(&swap_promise_result_));
5005 layer_tree_host()->QueueSwapPromise(swap_promise.Pass()); 5005 layer_tree_host()->QueuePromise(swap_promise.Pass());
5006 } 5006 }
5007 5007
5008 void ScheduledActionWillSendBeginMainFrame() override { 5008 void ScheduledActionWillSendBeginMainFrame() override {
5009 MainThreadTaskRunner()->PostTask( 5009 MainThreadTaskRunner()->PostTask(
5010 FROM_HERE, 5010 FROM_HERE,
5011 base::Bind(&LayerTreeHostTestBreakSwapPromiseForVisibility 5011 base::Bind(&LayerTreeHostTestBreakSwapPromiseForVisibility
5012 ::SetVisibleFalseAndQueueSwapPromise, 5012 ::SetVisibleFalseAndQueueSwapPromise,
5013 base::Unretained(this))); 5013 base::Unretained(this)));
5014 } 5014 }
5015 5015
5016 void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl, 5016 void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl,
5017 CommitEarlyOutReason reason) override { 5017 CommitEarlyOutReason reason) override {
5018 EndTest(); 5018 EndTest();
5019 } 5019 }
5020 5020
5021 void AfterTest() override { 5021 void AfterTest() override {
5022 { 5022 {
5023 base::AutoLock lock(swap_promise_result_.lock); 5023 base::AutoLock lock(swap_promise_result_.lock);
5024 EXPECT_FALSE(swap_promise_result_.did_swap_called); 5024 EXPECT_FALSE(swap_promise_result_.did_swap_called);
5025 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); 5025 EXPECT_TRUE(swap_promise_result_.did_not_swap_called);
5026 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); 5026 EXPECT_EQ(Promise::DidNotSwap::COMMIT_FAILS, swap_promise_result_.reason);
5027 EXPECT_TRUE(swap_promise_result_.dtor_called); 5027 EXPECT_TRUE(swap_promise_result_.dtor_called);
5028 } 5028 }
5029 } 5029 }
5030 5030
5031 TestSwapPromiseResult swap_promise_result_; 5031 TestSwapPromiseResult swap_promise_result_;
5032 }; 5032 };
5033 5033
5034 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromiseForVisibility); 5034 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromiseForVisibility);
5035 5035
5036 class LayerTreeHostTestBreakSwapPromiseForContext : public LayerTreeHostTest { 5036 class LayerTreeHostTestBreakSwapPromiseForContext : public LayerTreeHostTest {
5037 protected: 5037 protected:
5038 LayerTreeHostTestBreakSwapPromiseForContext() 5038 LayerTreeHostTestBreakSwapPromiseForContext()
5039 : output_surface_lost_triggered_(false) { 5039 : output_surface_lost_triggered_(false) {
5040 } 5040 }
5041 5041
5042 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 5042 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
5043 5043
5044 void LoseOutputSurfaceAndQueueSwapPromise() { 5044 void LoseOutputSurfaceAndQueueSwapPromise() {
5045 layer_tree_host()->DidLoseOutputSurface(); 5045 layer_tree_host()->DidLoseOutputSurface();
5046 scoped_ptr<SwapPromise> swap_promise( 5046 scoped_ptr<Promise> swap_promise(
5047 new TestSwapPromise(&swap_promise_result_)); 5047 new TestSwapPromise(&swap_promise_result_));
5048 layer_tree_host()->QueueSwapPromise(swap_promise.Pass()); 5048 layer_tree_host()->QueuePromise(swap_promise.Pass());
5049 } 5049 }
5050 5050
5051 void ScheduledActionWillSendBeginMainFrame() override { 5051 void ScheduledActionWillSendBeginMainFrame() override {
5052 if (output_surface_lost_triggered_) 5052 if (output_surface_lost_triggered_)
5053 return; 5053 return;
5054 output_surface_lost_triggered_ = true; 5054 output_surface_lost_triggered_ = true;
5055 5055
5056 MainThreadTaskRunner()->PostTask( 5056 MainThreadTaskRunner()->PostTask(
5057 FROM_HERE, 5057 FROM_HERE,
5058 base::Bind(&LayerTreeHostTestBreakSwapPromiseForContext 5058 base::Bind(&LayerTreeHostTestBreakSwapPromiseForContext
5059 ::LoseOutputSurfaceAndQueueSwapPromise, 5059 ::LoseOutputSurfaceAndQueueSwapPromise,
5060 base::Unretained(this))); 5060 base::Unretained(this)));
5061 } 5061 }
5062 5062
5063 void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl, 5063 void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl,
5064 CommitEarlyOutReason reason) override { 5064 CommitEarlyOutReason reason) override {
5065 // This is needed so that the impl-thread state matches main-thread state. 5065 // This is needed so that the impl-thread state matches main-thread state.
5066 host_impl->DidLoseOutputSurface(); 5066 host_impl->DidLoseOutputSurface();
5067 EndTest(); 5067 EndTest();
5068 } 5068 }
5069 5069
5070 void AfterTest() override { 5070 void AfterTest() override {
5071 { 5071 {
5072 base::AutoLock lock(swap_promise_result_.lock); 5072 base::AutoLock lock(swap_promise_result_.lock);
5073 EXPECT_FALSE(swap_promise_result_.did_swap_called); 5073 EXPECT_FALSE(swap_promise_result_.did_swap_called);
5074 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); 5074 EXPECT_TRUE(swap_promise_result_.did_not_swap_called);
5075 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); 5075 EXPECT_EQ(Promise::DidNotSwap::COMMIT_FAILS, swap_promise_result_.reason);
5076 EXPECT_TRUE(swap_promise_result_.dtor_called); 5076 EXPECT_TRUE(swap_promise_result_.dtor_called);
5077 } 5077 }
5078 } 5078 }
5079 5079
5080 bool output_surface_lost_triggered_; 5080 bool output_surface_lost_triggered_;
5081 TestSwapPromiseResult swap_promise_result_; 5081 TestSwapPromiseResult swap_promise_result_;
5082 }; 5082 };
5083 5083
5084 SINGLE_AND_MULTI_THREAD_TEST_F( 5084 SINGLE_AND_MULTI_THREAD_TEST_F(
5085 LayerTreeHostTestBreakSwapPromiseForContext); 5085 LayerTreeHostTestBreakSwapPromiseForContext);
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
5619 : public LayerTreeHostTest { 5619 : public LayerTreeHostTest {
5620 public: 5620 public:
5621 LayerTreeHostTestSynchronousCompositeSwapPromise() : commit_count_(0) {} 5621 LayerTreeHostTestSynchronousCompositeSwapPromise() : commit_count_(0) {}
5622 5622
5623 void InitializeSettings(LayerTreeSettings* settings) override { 5623 void InitializeSettings(LayerTreeSettings* settings) override {
5624 settings->single_thread_proxy_scheduler = false; 5624 settings->single_thread_proxy_scheduler = false;
5625 } 5625 }
5626 5626
5627 void BeginTest() override { 5627 void BeginTest() override {
5628 // Successful composite. 5628 // Successful composite.
5629 scoped_ptr<SwapPromise> swap_promise0( 5629 scoped_ptr<Promise> swap_promise0(
5630 new TestSwapPromise(&swap_promise_result_[0])); 5630 new TestSwapPromise(&swap_promise_result_[0]));
5631 layer_tree_host()->QueueSwapPromise(swap_promise0.Pass()); 5631 layer_tree_host()->QueuePromise(swap_promise0.Pass());
5632 layer_tree_host()->Composite(gfx::FrameTime::Now()); 5632 layer_tree_host()->Composite(gfx::FrameTime::Now());
5633 5633
5634 // Fail to swap (no damage). 5634 // Fail to swap (no damage).
5635 scoped_ptr<SwapPromise> swap_promise1( 5635 scoped_ptr<Promise> swap_promise1(
5636 new TestSwapPromise(&swap_promise_result_[1])); 5636 new TestSwapPromise(&swap_promise_result_[1]));
5637 layer_tree_host()->QueueSwapPromise(swap_promise1.Pass()); 5637 layer_tree_host()->QueuePromise(swap_promise1.Pass());
5638 layer_tree_host()->SetNeedsCommit(); 5638 layer_tree_host()->SetNeedsCommit();
5639 layer_tree_host()->Composite(gfx::FrameTime::Now()); 5639 layer_tree_host()->Composite(gfx::FrameTime::Now());
5640 5640
5641 // Fail to draw (not visible). 5641 // Fail to draw (not visible).
5642 scoped_ptr<SwapPromise> swap_promise2( 5642 scoped_ptr<Promise> swap_promise2(
5643 new TestSwapPromise(&swap_promise_result_[2])); 5643 new TestSwapPromise(&swap_promise_result_[2]));
5644 layer_tree_host()->QueueSwapPromise(swap_promise2.Pass()); 5644 layer_tree_host()->QueuePromise(swap_promise2.Pass());
5645 layer_tree_host()->SetNeedsDisplayOnAllLayers(); 5645 layer_tree_host()->SetNeedsDisplayOnAllLayers();
5646 layer_tree_host()->SetVisible(false); 5646 layer_tree_host()->SetVisible(false);
5647 layer_tree_host()->Composite(gfx::FrameTime::Now()); 5647 layer_tree_host()->Composite(gfx::FrameTime::Now());
5648 5648
5649 EndTest(); 5649 EndTest();
5650 } 5650 }
5651 5651
5652 void DidCommit() override { 5652 void DidCommit() override {
5653 commit_count_++; 5653 commit_count_++;
5654 ASSERT_LE(commit_count_, 3); 5654 ASSERT_LE(commit_count_, 3);
5655 } 5655 }
5656 5656
5657 void AfterTest() override { 5657 void AfterTest() override {
5658 EXPECT_EQ(3, commit_count_); 5658 EXPECT_EQ(3, commit_count_);
5659 5659
5660 // Initial swap promise should have succeded. 5660 // Initial swap promise should have succeded.
5661 { 5661 {
5662 base::AutoLock lock(swap_promise_result_[0].lock); 5662 base::AutoLock lock(swap_promise_result_[0].lock);
5663 EXPECT_TRUE(swap_promise_result_[0].did_swap_called); 5663 EXPECT_TRUE(swap_promise_result_[0].did_swap_called);
5664 EXPECT_FALSE(swap_promise_result_[0].did_not_swap_called); 5664 EXPECT_FALSE(swap_promise_result_[0].did_not_swap_called);
5665 EXPECT_TRUE(swap_promise_result_[0].dtor_called); 5665 EXPECT_TRUE(swap_promise_result_[0].dtor_called);
5666 } 5666 }
5667 5667
5668 // Second swap promise fails to swap. 5668 // Second swap promise fails to swap.
5669 { 5669 {
5670 base::AutoLock lock(swap_promise_result_[1].lock); 5670 base::AutoLock lock(swap_promise_result_[1].lock);
5671 EXPECT_FALSE(swap_promise_result_[1].did_swap_called); 5671 EXPECT_FALSE(swap_promise_result_[1].did_swap_called);
5672 EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called); 5672 EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called);
5673 EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[1].reason); 5673 EXPECT_EQ(Promise::DidNotSwap::SWAP_FAILS, swap_promise_result_[1].reason) ;
5674 EXPECT_TRUE(swap_promise_result_[1].dtor_called); 5674 EXPECT_TRUE(swap_promise_result_[1].dtor_called);
5675 } 5675 }
5676 5676
5677 // Third swap promises also fails to swap (and draw). 5677 // Third swap promises also fails to swap (and draw).
5678 { 5678 {
5679 base::AutoLock lock(swap_promise_result_[2].lock); 5679 base::AutoLock lock(swap_promise_result_[2].lock);
5680 EXPECT_FALSE(swap_promise_result_[2].did_swap_called); 5680 EXPECT_FALSE(swap_promise_result_[2].did_swap_called);
5681 EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called); 5681 EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called);
5682 EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason); 5682 EXPECT_EQ(Promise::DidNotSwap::SWAP_FAILS, swap_promise_result_[2].reason) ;
5683 EXPECT_TRUE(swap_promise_result_[2].dtor_called); 5683 EXPECT_TRUE(swap_promise_result_[2].dtor_called);
5684 } 5684 }
5685 } 5685 }
5686 5686
5687 int commit_count_; 5687 int commit_count_;
5688 TestSwapPromiseResult swap_promise_result_[3]; 5688 TestSwapPromiseResult swap_promise_result_[3];
5689 }; 5689 };
5690 5690
5691 // Impl-side painting is not supported for synchronous compositing. 5691 // Impl-side painting is not supported for synchronous compositing.
5692 SINGLE_THREAD_NOIMPL_TEST_F(LayerTreeHostTestSynchronousCompositeSwapPromise); 5692 SINGLE_THREAD_NOIMPL_TEST_F(LayerTreeHostTestSynchronousCompositeSwapPromise);
(...skipping 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after
6986 void AfterTest() override {} 6986 void AfterTest() override {}
6987 6987
6988 scoped_refptr<FakePictureLayer> content_child_layer_; 6988 scoped_refptr<FakePictureLayer> content_child_layer_;
6989 FakeContentLayerClient client_; 6989 FakeContentLayerClient client_;
6990 }; 6990 };
6991 6991
6992 SINGLE_AND_MULTI_THREAD_TEST_F( 6992 SINGLE_AND_MULTI_THREAD_TEST_F(
6993 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); 6993 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild);
6994 6994
6995 } // namespace cc 6995 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698