| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_impl.h" | 5 #include "cc/trees/layer_tree_impl.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "cc/layers/heads_up_display_layer_impl.h" | 8 #include "cc/layers/heads_up_display_layer_impl.h" |
| 9 #include "cc/test/fake_layer_tree_host_impl.h" | 9 #include "cc/test/fake_layer_tree_host_impl.h" |
| 10 #include "cc/test/geometry_test_utils.h" | 10 #include "cc/test/geometry_test_utils.h" |
| (...skipping 2295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2306 namespace { | 2306 namespace { |
| 2307 | 2307 |
| 2308 class PersistentSwapPromise | 2308 class PersistentSwapPromise |
| 2309 : public SwapPromise, | 2309 : public SwapPromise, |
| 2310 public base::SupportsWeakPtr<PersistentSwapPromise> { | 2310 public base::SupportsWeakPtr<PersistentSwapPromise> { |
| 2311 public: | 2311 public: |
| 2312 PersistentSwapPromise() = default; | 2312 PersistentSwapPromise() = default; |
| 2313 ~PersistentSwapPromise() override = default; | 2313 ~PersistentSwapPromise() override = default; |
| 2314 | 2314 |
| 2315 void DidActivate() override {} | 2315 void DidActivate() override {} |
| 2316 MOCK_METHOD1(DidSwap, void(CompositorFrameMetadata* metadata)); | 2316 MOCK_METHOD1(WillSwap, void(CompositorFrameMetadata* metadata)); |
| 2317 MOCK_METHOD0(DidSwap, void()); |
| 2317 | 2318 |
| 2318 DidNotSwapAction DidNotSwap(DidNotSwapReason reason) override { | 2319 DidNotSwapAction DidNotSwap(DidNotSwapReason reason) override { |
| 2319 return DidNotSwapAction::KEEP_ACTIVE; | 2320 return DidNotSwapAction::KEEP_ACTIVE; |
| 2320 } | 2321 } |
| 2321 | 2322 |
| 2322 void OnCommit() override {} | 2323 void OnCommit() override {} |
| 2323 int64_t TraceId() const override { return 0; } | 2324 int64_t TraceId() const override { return 0; } |
| 2324 }; | 2325 }; |
| 2325 | 2326 |
| 2326 class NotPersistentSwapPromise | 2327 class NotPersistentSwapPromise |
| 2327 : public SwapPromise, | 2328 : public SwapPromise, |
| 2328 public base::SupportsWeakPtr<NotPersistentSwapPromise> { | 2329 public base::SupportsWeakPtr<NotPersistentSwapPromise> { |
| 2329 public: | 2330 public: |
| 2330 NotPersistentSwapPromise() = default; | 2331 NotPersistentSwapPromise() = default; |
| 2331 ~NotPersistentSwapPromise() override = default; | 2332 ~NotPersistentSwapPromise() override = default; |
| 2332 | 2333 |
| 2333 void DidActivate() override {} | 2334 void DidActivate() override {} |
| 2334 void DidSwap(CompositorFrameMetadata* metadata) override {} | 2335 void WillSwap(CompositorFrameMetadata* metadata) override {} |
| 2336 void DidSwap() override {} |
| 2335 | 2337 |
| 2336 DidNotSwapAction DidNotSwap(DidNotSwapReason reason) override { | 2338 DidNotSwapAction DidNotSwap(DidNotSwapReason reason) override { |
| 2337 return DidNotSwapAction::BREAK_PROMISE; | 2339 return DidNotSwapAction::BREAK_PROMISE; |
| 2338 } | 2340 } |
| 2339 | 2341 |
| 2340 void OnCommit() override {} | 2342 void OnCommit() override {} |
| 2341 int64_t TraceId() const override { return 0; } | 2343 int64_t TraceId() const override { return 0; } |
| 2342 }; | 2344 }; |
| 2343 | 2345 |
| 2344 } // namespace | 2346 } // namespace |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2361 | 2363 |
| 2362 std::vector<std::unique_ptr<SwapPromise>> promises; | 2364 std::vector<std::unique_ptr<SwapPromise>> promises; |
| 2363 host_impl().active_tree()->PassSwapPromises(std::move(promises)); | 2365 host_impl().active_tree()->PassSwapPromises(std::move(promises)); |
| 2364 host_impl().active_tree()->BreakSwapPromises( | 2366 host_impl().active_tree()->BreakSwapPromises( |
| 2365 SwapPromise::DidNotSwapReason::SWAP_FAILS); | 2367 SwapPromise::DidNotSwapReason::SWAP_FAILS); |
| 2366 | 2368 |
| 2367 ASSERT_EQ(promises_count, persistent_promises.size()); | 2369 ASSERT_EQ(promises_count, persistent_promises.size()); |
| 2368 for (size_t i = 0; i < persistent_promises.size(); ++i) { | 2370 for (size_t i = 0; i < persistent_promises.size(); ++i) { |
| 2369 SCOPED_TRACE(testing::Message() << "While checking case #" << i); | 2371 SCOPED_TRACE(testing::Message() << "While checking case #" << i); |
| 2370 ASSERT_TRUE(persistent_promises[i]); | 2372 ASSERT_TRUE(persistent_promises[i]); |
| 2371 EXPECT_CALL(*persistent_promises[i], DidSwap(testing::_)); | 2373 EXPECT_CALL(*persistent_promises[i], WillSwap(testing::_)); |
| 2372 } | 2374 } |
| 2373 host_impl().active_tree()->FinishSwapPromises(nullptr); | 2375 host_impl().active_tree()->FinishSwapPromises(nullptr); |
| 2374 } | 2376 } |
| 2375 | 2377 |
| 2376 TEST_F(LayerTreeImplTest, NotPersistentSwapPromisesAreDroppedWhenSwapFails) { | 2378 TEST_F(LayerTreeImplTest, NotPersistentSwapPromisesAreDroppedWhenSwapFails) { |
| 2377 const size_t promises_count = 2; | 2379 const size_t promises_count = 2; |
| 2378 | 2380 |
| 2379 std::vector<base::WeakPtr<NotPersistentSwapPromise>> not_persistent_promises; | 2381 std::vector<base::WeakPtr<NotPersistentSwapPromise>> not_persistent_promises; |
| 2380 std::vector<std::unique_ptr<NotPersistentSwapPromise>> | 2382 std::vector<std::unique_ptr<NotPersistentSwapPromise>> |
| 2381 not_persistent_promises_to_pass; | 2383 not_persistent_promises_to_pass; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2404 auto weak_promise = promise->AsWeakPtr(); | 2406 auto weak_promise = promise->AsWeakPtr(); |
| 2405 host_impl().active_tree()->QueueSwapPromise(std::move(promise)); | 2407 host_impl().active_tree()->QueueSwapPromise(std::move(promise)); |
| 2406 host_impl().active_tree()->BreakSwapPromises( | 2408 host_impl().active_tree()->BreakSwapPromises( |
| 2407 SwapPromise::DidNotSwapReason::SWAP_FAILS); | 2409 SwapPromise::DidNotSwapReason::SWAP_FAILS); |
| 2408 EXPECT_FALSE(weak_promise); | 2410 EXPECT_FALSE(weak_promise); |
| 2409 } | 2411 } |
| 2410 } | 2412 } |
| 2411 | 2413 |
| 2412 } // namespace | 2414 } // namespace |
| 2413 } // namespace cc | 2415 } // namespace cc |
| OLD | NEW |