| 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/test/layer_tree_test.h" | 5 #include "cc/test/layer_tree_test.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 void WillBeginImplFrame(const BeginFrameArgs& args) override { | 139 void WillBeginImplFrame(const BeginFrameArgs& args) override { |
| 140 LayerTreeHostImpl::WillBeginImplFrame(args); | 140 LayerTreeHostImpl::WillBeginImplFrame(args); |
| 141 test_hooks_->WillBeginImplFrameOnThread(this, args); | 141 test_hooks_->WillBeginImplFrameOnThread(this, args); |
| 142 } | 142 } |
| 143 | 143 |
| 144 void DidFinishImplFrame() override { | 144 void DidFinishImplFrame() override { |
| 145 LayerTreeHostImpl::DidFinishImplFrame(); | 145 LayerTreeHostImpl::DidFinishImplFrame(); |
| 146 test_hooks_->DidFinishImplFrameOnThread(this); | 146 test_hooks_->DidFinishImplFrameOnThread(this); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void BeginMainFrameAborted(CommitEarlyOutReason reason) override { | 149 void BeginMainFrameAborted( |
| 150 LayerTreeHostImpl::BeginMainFrameAborted(reason); | 150 CommitEarlyOutReason reason, |
| 151 std::vector<std::unique_ptr<SwapPromise>> swap_promises) override { |
| 152 LayerTreeHostImpl::BeginMainFrameAborted(reason, std::move(swap_promises)); |
| 151 test_hooks_->BeginMainFrameAbortedOnThread(this, reason); | 153 test_hooks_->BeginMainFrameAbortedOnThread(this, reason); |
| 152 } | 154 } |
| 153 | 155 |
| 154 void ReadyToCommit() override { | 156 void ReadyToCommit() override { |
| 155 LayerTreeHostImpl::ReadyToCommit(); | 157 LayerTreeHostImpl::ReadyToCommit(); |
| 156 test_hooks_->ReadyToCommitOnThread(this); | 158 test_hooks_->ReadyToCommitOnThread(this); |
| 157 } | 159 } |
| 158 | 160 |
| 159 void BeginCommit() override { | 161 void BeginCommit() override { |
| 160 LayerTreeHostImpl::BeginCommit(); | 162 LayerTreeHostImpl::BeginCommit(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 void NotifyAllTileTasksCompleted() override { | 201 void NotifyAllTileTasksCompleted() override { |
| 200 LayerTreeHostImpl::NotifyAllTileTasksCompleted(); | 202 LayerTreeHostImpl::NotifyAllTileTasksCompleted(); |
| 201 test_hooks_->NotifyAllTileTasksCompleted(this); | 203 test_hooks_->NotifyAllTileTasksCompleted(this); |
| 202 } | 204 } |
| 203 | 205 |
| 204 void BlockNotifyReadyToActivateForTesting(bool block) override { | 206 void BlockNotifyReadyToActivateForTesting(bool block) override { |
| 205 CHECK(task_runner_provider()->ImplThreadTaskRunner()) | 207 CHECK(task_runner_provider()->ImplThreadTaskRunner()) |
| 206 << "Not supported for single-threaded mode."; | 208 << "Not supported for single-threaded mode."; |
| 207 block_notify_ready_to_activate_for_testing_ = block; | 209 block_notify_ready_to_activate_for_testing_ = block; |
| 208 if (!block && notify_ready_to_activate_was_blocked_) { | 210 if (!block && notify_ready_to_activate_was_blocked_) { |
| 209 NotifyReadyToActivate(); | 211 task_runner_provider_->ImplThreadTaskRunner()->PostTask( |
| 212 FROM_HERE, |
| 213 base::Bind(&LayerTreeHostImplForTesting::NotifyReadyToActivate, |
| 214 base::Unretained(this))); |
| 210 notify_ready_to_activate_was_blocked_ = false; | 215 notify_ready_to_activate_was_blocked_ = false; |
| 211 } | 216 } |
| 212 } | 217 } |
| 213 | 218 |
| 214 void ActivateSyncTree() override { | 219 void ActivateSyncTree() override { |
| 215 test_hooks_->WillActivateTreeOnThread(this); | 220 test_hooks_->WillActivateTreeOnThread(this); |
| 216 LayerTreeHostImpl::ActivateSyncTree(); | 221 LayerTreeHostImpl::ActivateSyncTree(); |
| 217 DCHECK(!pending_tree()); | 222 DCHECK(!pending_tree()); |
| 218 test_hooks_->DidActivateTreeOnThread(this); | 223 test_hooks_->DidActivateTreeOnThread(this); |
| 219 } | 224 } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 ~LayerTreeHostClientForTesting() override {} | 276 ~LayerTreeHostClientForTesting() override {} |
| 272 | 277 |
| 273 void WillBeginMainFrame() override { test_hooks_->WillBeginMainFrame(); } | 278 void WillBeginMainFrame() override { test_hooks_->WillBeginMainFrame(); } |
| 274 | 279 |
| 275 void DidBeginMainFrame() override { test_hooks_->DidBeginMainFrame(); } | 280 void DidBeginMainFrame() override { test_hooks_->DidBeginMainFrame(); } |
| 276 | 281 |
| 277 void BeginMainFrame(const BeginFrameArgs& args) override { | 282 void BeginMainFrame(const BeginFrameArgs& args) override { |
| 278 test_hooks_->BeginMainFrame(args); | 283 test_hooks_->BeginMainFrame(args); |
| 279 } | 284 } |
| 280 | 285 |
| 281 void UpdateLayerTreeHost() override { | 286 void UpdateLayerTreeHost() override { test_hooks_->UpdateLayerTreeHost(); } |
| 282 test_hooks_->UpdateLayerTreeHost(); | |
| 283 } | |
| 284 | 287 |
| 285 void ApplyViewportDeltas(const gfx::Vector2dF& inner_delta, | 288 void ApplyViewportDeltas(const gfx::Vector2dF& inner_delta, |
| 286 const gfx::Vector2dF& outer_delta, | 289 const gfx::Vector2dF& outer_delta, |
| 287 const gfx::Vector2dF& elastic_overscroll_delta, | 290 const gfx::Vector2dF& elastic_overscroll_delta, |
| 288 float page_scale, | 291 float page_scale, |
| 289 float top_controls_delta) override { | 292 float top_controls_delta) override { |
| 290 test_hooks_->ApplyViewportDeltas(inner_delta, outer_delta, | 293 test_hooks_->ApplyViewportDeltas(inner_delta, outer_delta, |
| 291 elastic_overscroll_delta, page_scale, | 294 elastic_overscroll_delta, page_scale, |
| 292 top_controls_delta); | 295 top_controls_delta); |
| 293 } | 296 } |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 end_when_begin_returns_ = true; | 506 end_when_begin_returns_ = true; |
| 504 } else { | 507 } else { |
| 505 main_task_runner_->PostTask( | 508 main_task_runner_->PostTask( |
| 506 FROM_HERE, | 509 FROM_HERE, |
| 507 base::Bind(&LayerTreeTest::RealEndTest, main_thread_weak_ptr_)); | 510 base::Bind(&LayerTreeTest::RealEndTest, main_thread_weak_ptr_)); |
| 508 } | 511 } |
| 509 } | 512 } |
| 510 | 513 |
| 511 void LayerTreeTest::EndTestAfterDelayMs(int delay_milliseconds) { | 514 void LayerTreeTest::EndTestAfterDelayMs(int delay_milliseconds) { |
| 512 main_task_runner_->PostDelayedTask( | 515 main_task_runner_->PostDelayedTask( |
| 513 FROM_HERE, | 516 FROM_HERE, base::Bind(&LayerTreeTest::EndTest, main_thread_weak_ptr_), |
| 514 base::Bind(&LayerTreeTest::EndTest, main_thread_weak_ptr_), | |
| 515 base::TimeDelta::FromMilliseconds(delay_milliseconds)); | 517 base::TimeDelta::FromMilliseconds(delay_milliseconds)); |
| 516 } | 518 } |
| 517 | 519 |
| 518 void LayerTreeTest::PostAddAnimationToMainThreadPlayer( | 520 void LayerTreeTest::PostAddAnimationToMainThreadPlayer( |
| 519 AnimationPlayer* player_to_receive_animation) { | 521 AnimationPlayer* player_to_receive_animation) { |
| 520 main_task_runner_->PostTask( | 522 main_task_runner_->PostTask( |
| 521 FROM_HERE, | 523 FROM_HERE, |
| 522 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, | 524 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, |
| 523 main_thread_weak_ptr_, | 525 main_thread_weak_ptr_, |
| 524 base::Unretained(player_to_receive_animation), 0.000004)); | 526 base::Unretained(player_to_receive_animation), 0.000004)); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 537 AnimationPlayer* player_to_receive_animation) { | 539 AnimationPlayer* player_to_receive_animation) { |
| 538 main_task_runner_->PostTask( | 540 main_task_runner_->PostTask( |
| 539 FROM_HERE, | 541 FROM_HERE, |
| 540 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, | 542 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, |
| 541 main_thread_weak_ptr_, | 543 main_thread_weak_ptr_, |
| 542 base::Unretained(player_to_receive_animation), 1.0)); | 544 base::Unretained(player_to_receive_animation), 1.0)); |
| 543 } | 545 } |
| 544 | 546 |
| 545 void LayerTreeTest::PostSetDeferCommitsToMainThread(bool defer_commits) { | 547 void LayerTreeTest::PostSetDeferCommitsToMainThread(bool defer_commits) { |
| 546 main_task_runner_->PostTask( | 548 main_task_runner_->PostTask( |
| 547 FROM_HERE, | 549 FROM_HERE, base::Bind(&LayerTreeTest::DispatchSetDeferCommits, |
| 548 base::Bind(&LayerTreeTest::DispatchSetDeferCommits, | 550 main_thread_weak_ptr_, defer_commits)); |
| 549 main_thread_weak_ptr_, defer_commits)); | |
| 550 } | 551 } |
| 551 | 552 |
| 552 void LayerTreeTest::PostSetNeedsCommitToMainThread() { | 553 void LayerTreeTest::PostSetNeedsCommitToMainThread() { |
| 553 main_task_runner_->PostTask(FROM_HERE, | 554 main_task_runner_->PostTask(FROM_HERE, |
| 554 base::Bind(&LayerTreeTest::DispatchSetNeedsCommit, | 555 base::Bind(&LayerTreeTest::DispatchSetNeedsCommit, |
| 555 main_thread_weak_ptr_)); | 556 main_thread_weak_ptr_)); |
| 556 } | 557 } |
| 557 | 558 |
| 558 void LayerTreeTest::PostSetNeedsUpdateLayersToMainThread() { | 559 void LayerTreeTest::PostSetNeedsUpdateLayersToMainThread() { |
| 559 main_task_runner_->PostTask( | 560 main_task_runner_->PostTask( |
| 560 FROM_HERE, | 561 FROM_HERE, base::Bind(&LayerTreeTest::DispatchSetNeedsUpdateLayers, |
| 561 base::Bind(&LayerTreeTest::DispatchSetNeedsUpdateLayers, | 562 main_thread_weak_ptr_)); |
| 562 main_thread_weak_ptr_)); | |
| 563 } | 563 } |
| 564 | 564 |
| 565 void LayerTreeTest::PostSetNeedsRedrawToMainThread() { | 565 void LayerTreeTest::PostSetNeedsRedrawToMainThread() { |
| 566 main_task_runner_->PostTask(FROM_HERE, | 566 main_task_runner_->PostTask(FROM_HERE, |
| 567 base::Bind(&LayerTreeTest::DispatchSetNeedsRedraw, | 567 base::Bind(&LayerTreeTest::DispatchSetNeedsRedraw, |
| 568 main_thread_weak_ptr_)); | 568 main_thread_weak_ptr_)); |
| 569 } | 569 } |
| 570 | 570 |
| 571 void LayerTreeTest::PostSetNeedsRedrawRectToMainThread( | 571 void LayerTreeTest::PostSetNeedsRedrawRectToMainThread( |
| 572 const gfx::Rect& damage_rect) { | 572 const gfx::Rect& damage_rect) { |
| 573 main_task_runner_->PostTask( | 573 main_task_runner_->PostTask( |
| 574 FROM_HERE, | 574 FROM_HERE, base::Bind(&LayerTreeTest::DispatchSetNeedsRedrawRect, |
| 575 base::Bind(&LayerTreeTest::DispatchSetNeedsRedrawRect, | 575 main_thread_weak_ptr_, damage_rect)); |
| 576 main_thread_weak_ptr_, | |
| 577 damage_rect)); | |
| 578 } | 576 } |
| 579 | 577 |
| 580 void LayerTreeTest::PostSetVisibleToMainThread(bool visible) { | 578 void LayerTreeTest::PostSetVisibleToMainThread(bool visible) { |
| 581 main_task_runner_->PostTask( | 579 main_task_runner_->PostTask(FROM_HERE, |
| 582 FROM_HERE, | 580 base::Bind(&LayerTreeTest::DispatchSetVisible, |
| 583 base::Bind( | 581 main_thread_weak_ptr_, visible)); |
| 584 &LayerTreeTest::DispatchSetVisible, main_thread_weak_ptr_, visible)); | |
| 585 } | 582 } |
| 586 | 583 |
| 587 void LayerTreeTest::PostSetNextCommitForcesRedrawToMainThread() { | 584 void LayerTreeTest::PostSetNextCommitForcesRedrawToMainThread() { |
| 588 main_task_runner_->PostTask( | 585 main_task_runner_->PostTask( |
| 589 FROM_HERE, | 586 FROM_HERE, base::Bind(&LayerTreeTest::DispatchSetNextCommitForcesRedraw, |
| 590 base::Bind(&LayerTreeTest::DispatchSetNextCommitForcesRedraw, | 587 main_thread_weak_ptr_)); |
| 591 main_thread_weak_ptr_)); | |
| 592 } | 588 } |
| 593 | 589 |
| 594 void LayerTreeTest::PostCompositeImmediatelyToMainThread() { | 590 void LayerTreeTest::PostCompositeImmediatelyToMainThread() { |
| 595 main_task_runner_->PostTask( | 591 main_task_runner_->PostTask( |
| 596 FROM_HERE, | 592 FROM_HERE, base::Bind(&LayerTreeTest::DispatchCompositeImmediately, |
| 597 base::Bind(&LayerTreeTest::DispatchCompositeImmediately, | 593 main_thread_weak_ptr_)); |
| 598 main_thread_weak_ptr_)); | |
| 599 } | 594 } |
| 600 | 595 |
| 601 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() { | 596 void LayerTreeTest::PostNextCommitWaitsForActivationToMainThread() { |
| 602 main_task_runner_->PostTask( | 597 main_task_runner_->PostTask( |
| 603 FROM_HERE, | 598 FROM_HERE, |
| 604 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation, | 599 base::Bind(&LayerTreeTest::DispatchNextCommitWaitsForActivation, |
| 605 main_thread_weak_ptr_)); | 600 main_thread_weak_ptr_)); |
| 606 } | 601 } |
| 607 | 602 |
| 608 std::unique_ptr<OutputSurface> | 603 std::unique_ptr<OutputSurface> |
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 944 } | 939 } |
| 945 | 940 |
| 946 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() { | 941 LayerTreeHost* LayerTreeTest::remote_client_layer_tree_host() { |
| 947 DCHECK(IsRemoteTest()); | 942 DCHECK(IsRemoteTest()); |
| 948 DCHECK(task_runner_provider()->IsMainThread() || | 943 DCHECK(task_runner_provider()->IsMainThread() || |
| 949 task_runner_provider()->IsMainThreadBlocked()); | 944 task_runner_provider()->IsMainThreadBlocked()); |
| 950 return remote_client_layer_tree_host_.get(); | 945 return remote_client_layer_tree_host_.get(); |
| 951 } | 946 } |
| 952 | 947 |
| 953 } // namespace cc | 948 } // namespace cc |
| OLD | NEW |