| Index: cc/trees/layer_tree_host_unittest.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
|
| index 51ea3d91a69aba3cdad2746c61acb6849d9c2e2f..506756f04b1c7bdff6ffeac642a42151c530cac7 100644
|
| --- a/cc/trees/layer_tree_host_unittest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest.cc
|
| @@ -4927,11 +4927,13 @@ SINGLE_AND_MULTI_THREAD_TEST_F(
|
|
|
| struct TestSwapPromiseResult {
|
| TestSwapPromiseResult()
|
| - : did_swap_called(false),
|
| + : did_activate_called(false),
|
| + did_swap_called(false),
|
| did_not_swap_called(false),
|
| dtor_called(false),
|
| - reason(SwapPromise::DID_NOT_SWAP_UNKNOWN) {}
|
| + reason(SwapPromise::COMMIT_FAILS) {}
|
|
|
| + bool did_activate_called;
|
| bool did_swap_called;
|
| bool did_not_swap_called;
|
| bool dtor_called;
|
| @@ -4948,8 +4950,16 @@ class TestSwapPromise : public SwapPromise {
|
| result_->dtor_called = true;
|
| }
|
|
|
| + void DidActivate() override {
|
| + base::AutoLock lock(result_->lock);
|
| + EXPECT_FALSE(result_->did_swap_called);
|
| + EXPECT_FALSE(result_->did_not_swap_called);
|
| + result_->did_activate_called = true;
|
| + }
|
| +
|
| void DidSwap(CompositorFrameMetadata* metadata) override {
|
| base::AutoLock lock(result_->lock);
|
| + EXPECT_TRUE(result_->did_activate_called);
|
| EXPECT_FALSE(result_->did_swap_called);
|
| EXPECT_FALSE(result_->did_not_swap_called);
|
| result_->did_swap_called = true;
|
| @@ -4959,6 +4969,8 @@ class TestSwapPromise : public SwapPromise {
|
| base::AutoLock lock(result_->lock);
|
| EXPECT_FALSE(result_->did_swap_called);
|
| EXPECT_FALSE(result_->did_not_swap_called);
|
| + EXPECT_FALSE(reason == DidNotSwapReason::ACTIVATION_FAILS &&
|
| + result_->did_activate_called);
|
| result_->did_not_swap_called = true;
|
| result_->reason = reason;
|
| }
|
| @@ -5019,6 +5031,7 @@ class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest {
|
| {
|
| // The second commit is aborted since it contains no updates.
|
| base::AutoLock lock(swap_promise_result_[1].lock);
|
| + EXPECT_FALSE(swap_promise_result_[1].did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_[1].did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::COMMIT_NO_UPDATE, swap_promise_result_[1].reason);
|
| @@ -5029,6 +5042,7 @@ class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest {
|
| // The last commit completes but it does not cause swap buffer because
|
| // there is no damage in the frame data.
|
| base::AutoLock lock(swap_promise_result_[2].lock);
|
| + EXPECT_TRUE(swap_promise_result_[2].did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_[2].did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason);
|
| @@ -5127,6 +5141,7 @@ class LayerTreeHostTestBreakSwapPromiseForVisibility
|
| void AfterTest() override {
|
| {
|
| base::AutoLock lock(swap_promise_result_.lock);
|
| + EXPECT_FALSE(swap_promise_result_.did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_.did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_.did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason);
|
| @@ -5176,6 +5191,7 @@ class LayerTreeHostTestBreakSwapPromiseForContext : public LayerTreeHostTest {
|
| void AfterTest() override {
|
| {
|
| base::AutoLock lock(swap_promise_result_.lock);
|
| + EXPECT_FALSE(swap_promise_result_.did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_.did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_.did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason);
|
| @@ -5829,6 +5845,7 @@ class LayerTreeHostTestSynchronousCompositeSwapPromise
|
| // Second swap promise fails to swap.
|
| {
|
| base::AutoLock lock(swap_promise_result_[1].lock);
|
| + EXPECT_TRUE(swap_promise_result_[1].did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_[1].did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_[1].did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[1].reason);
|
| @@ -5838,6 +5855,7 @@ class LayerTreeHostTestSynchronousCompositeSwapPromise
|
| // Third swap promises also fails to swap (and draw).
|
| {
|
| base::AutoLock lock(swap_promise_result_[2].lock);
|
| + EXPECT_TRUE(swap_promise_result_[2].did_activate_called);
|
| EXPECT_FALSE(swap_promise_result_[2].did_swap_called);
|
| EXPECT_TRUE(swap_promise_result_[2].did_not_swap_called);
|
| EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason);
|
|
|