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

Side by Side Diff: cc/scheduler/scheduler_unittest.cc

Issue 246753008: cc: Unify use of DidSwapBuffers() and did_request_swap (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
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 #include "cc/scheduler/scheduler.h" 4 #include "cc/scheduler/scheduler.h"
5 5
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 108 }
109 virtual void ScheduledActionSendBeginMainFrame() OVERRIDE { 109 virtual void ScheduledActionSendBeginMainFrame() OVERRIDE {
110 actions_.push_back("ScheduledActionSendBeginMainFrame"); 110 actions_.push_back("ScheduledActionSendBeginMainFrame");
111 states_.push_back(scheduler_->StateAsValue().release()); 111 states_.push_back(scheduler_->StateAsValue().release());
112 } 112 }
113 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() 113 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible()
114 OVERRIDE { 114 OVERRIDE {
115 actions_.push_back("ScheduledActionDrawAndSwapIfPossible"); 115 actions_.push_back("ScheduledActionDrawAndSwapIfPossible");
116 states_.push_back(scheduler_->StateAsValue().release()); 116 states_.push_back(scheduler_->StateAsValue().release());
117 num_draws_++; 117 num_draws_++;
118 bool did_readback = false;
119 DrawSwapReadbackResult::DrawResult result = 118 DrawSwapReadbackResult::DrawResult result =
120 draw_will_happen_ 119 draw_will_happen_
121 ? DrawSwapReadbackResult::DRAW_SUCCESS 120 ? DrawSwapReadbackResult::DRAW_SUCCESS
122 : DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS; 121 : DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS;
123 bool swap_will_happen = 122 bool swap_will_happen =
124 draw_will_happen_ && swap_will_happen_if_draw_happens_; 123 draw_will_happen_ && swap_will_happen_if_draw_happens_;
125 if (swap_will_happen) { 124 if (swap_will_happen) {
126 scheduler_->DidSwapBuffers(); 125 scheduler_->DidSwapBuffers();
127 if (automatic_swap_ack_) 126 if (automatic_swap_ack_)
128 scheduler_->DidSwapBuffersComplete(); 127 scheduler_->DidSwapBuffersComplete();
129 } 128 }
130 return DrawSwapReadbackResult( 129 return DrawSwapReadbackResult(result);
131 result,
132 draw_will_happen_ && swap_will_happen_if_draw_happens_,
133 did_readback);
134 } 130 }
135 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE { 131 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE {
136 actions_.push_back("ScheduledActionDrawAndSwapForced"); 132 actions_.push_back("ScheduledActionDrawAndSwapForced");
137 states_.push_back(scheduler_->StateAsValue().release()); 133 states_.push_back(scheduler_->StateAsValue().release());
138 bool did_request_swap = swap_will_happen_if_draw_happens_; 134 return DrawSwapReadbackResult(DrawSwapReadbackResult::DRAW_SUCCESS);
139 bool did_readback = false;
140 return DrawSwapReadbackResult(
141 DrawSwapReadbackResult::DRAW_SUCCESS, did_request_swap, did_readback);
142 } 135 }
143 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE { 136 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE {
144 actions_.push_back("ScheduledActionDrawAndReadback"); 137 actions_.push_back("ScheduledActionDrawAndReadback");
145 states_.push_back(scheduler_->StateAsValue().release()); 138 states_.push_back(scheduler_->StateAsValue().release());
146 bool did_request_swap = false; 139 return DrawSwapReadbackResult(DrawSwapReadbackResult::DRAW_SUCCESS);
147 bool did_readback = true;
148 return DrawSwapReadbackResult(
149 DrawSwapReadbackResult::DRAW_SUCCESS, did_request_swap, did_readback);
150 } 140 }
151 virtual void ScheduledActionCommit() OVERRIDE { 141 virtual void ScheduledActionCommit() OVERRIDE {
152 actions_.push_back("ScheduledActionCommit"); 142 actions_.push_back("ScheduledActionCommit");
153 states_.push_back(scheduler_->StateAsValue().release()); 143 states_.push_back(scheduler_->StateAsValue().release());
154 } 144 }
155 virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE { 145 virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE {
156 actions_.push_back("ScheduledActionUpdateVisibleTiles"); 146 actions_.push_back("ScheduledActionUpdateVisibleTiles");
157 states_.push_back(scheduler_->StateAsValue().release()); 147 states_.push_back(scheduler_->StateAsValue().release());
158 } 148 }
159 virtual void ScheduledActionActivatePendingTree() OVERRIDE { 149 virtual void ScheduledActionActivatePendingTree() OVERRIDE {
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() 375 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible()
386 OVERRIDE { 376 OVERRIDE {
387 // Only SetNeedsRedraw the first time this is called 377 // Only SetNeedsRedraw the first time this is called
388 if (!num_draws_) 378 if (!num_draws_)
389 scheduler_->SetNeedsRedraw(); 379 scheduler_->SetNeedsRedraw();
390 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible(); 380 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible();
391 } 381 }
392 382
393 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE { 383 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE {
394 NOTREACHED(); 384 NOTREACHED();
395 bool did_request_swap = true; 385 return DrawSwapReadbackResult(DrawSwapReadbackResult::DRAW_SUCCESS);
396 bool did_readback = false;
397 return DrawSwapReadbackResult(
398 DrawSwapReadbackResult::DRAW_SUCCESS, did_request_swap, did_readback);
399 } 386 }
400 387
401 virtual void ScheduledActionCommit() OVERRIDE {} 388 virtual void ScheduledActionCommit() OVERRIDE {}
402 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE {} 389 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE {}
403 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE {} 390 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE {}
404 }; 391 };
405 392
406 // Tests for two different situations: 393 // Tests for two different situations:
407 // 1. the scheduler dropping SetNeedsRedraw requests that happen inside 394 // 1. the scheduler dropping SetNeedsRedraw requests that happen inside
408 // a ScheduledActionDrawAndSwap 395 // a ScheduledActionDrawAndSwap
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 // Only SetNeedsCommit the first time this is called 488 // Only SetNeedsCommit the first time this is called
502 if (set_needs_commit_on_next_draw_) { 489 if (set_needs_commit_on_next_draw_) {
503 scheduler_->SetNeedsCommit(); 490 scheduler_->SetNeedsCommit();
504 set_needs_commit_on_next_draw_ = false; 491 set_needs_commit_on_next_draw_ = false;
505 } 492 }
506 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible(); 493 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible();
507 } 494 }
508 495
509 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE { 496 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE {
510 NOTREACHED(); 497 NOTREACHED();
511 bool did_request_swap = false; 498 return DrawSwapReadbackResult(DrawSwapReadbackResult::DRAW_SUCCESS);
512 bool did_readback = false;
513 return DrawSwapReadbackResult(
514 DrawSwapReadbackResult::DRAW_SUCCESS, did_request_swap, did_readback);
515 } 499 }
516 500
517 virtual void ScheduledActionCommit() OVERRIDE {} 501 virtual void ScheduledActionCommit() OVERRIDE {}
518 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE {} 502 virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE {}
519 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE {} 503 virtual void DidAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE {}
520 504
521 void SetNeedsCommitOnNextDraw() { set_needs_commit_on_next_draw_ = true; } 505 void SetNeedsCommitOnNextDraw() { set_needs_commit_on_next_draw_ = true; }
522 506
523 private: 507 private:
524 bool set_needs_commit_on_next_draw_; 508 bool set_needs_commit_on_next_draw_;
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after
1275 client.task_runner().RunPendingTasks(); // Run posted deadline. 1259 client.task_runner().RunPendingTasks(); // Run posted deadline.
1276 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 2); 1260 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 2);
1277 EXPECT_ACTION("SetNeedsBeginFrame", client, 1, 2); 1261 EXPECT_ACTION("SetNeedsBeginFrame", client, 1, 2);
1278 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending()); 1262 EXPECT_FALSE(scheduler->BeginImplFrameDeadlinePending());
1279 EXPECT_TRUE(client.needs_begin_impl_frame()); 1263 EXPECT_TRUE(client.needs_begin_impl_frame());
1280 client.Reset(); 1264 client.Reset();
1281 } 1265 }
1282 1266
1283 } // namespace 1267 } // namespace
1284 } // namespace cc 1268 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698