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

Side by Side Diff: cc/test/layer_tree_test.cc

Issue 2188093002: cc: Complete swap promise for aborted commit after pending activation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: post rebase fix Created 4 years, 4 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 | « no previous file | cc/trees/channel_main.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/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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | cc/trees/channel_main.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698