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

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

Issue 15058004: cc: Rename VSync to BeginFrame (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 7 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
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/scheduler/scheduler.h" 5 #include "cc/scheduler/scheduler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 void SetDrawWillHappen(bool draw_will_happen) { 63 void SetDrawWillHappen(bool draw_will_happen) {
64 draw_will_happen_ = draw_will_happen; 64 draw_will_happen_ = draw_will_happen;
65 } 65 }
66 void SetSwapWillHappenIfDrawHappens(bool swap_will_happen_if_draw_happens) { 66 void SetSwapWillHappenIfDrawHappens(bool swap_will_happen_if_draw_happens) {
67 swap_will_happen_if_draw_happens_ = swap_will_happen_if_draw_happens; 67 swap_will_happen_if_draw_happens_ = swap_will_happen_if_draw_happens;
68 } 68 }
69 69
70 // Scheduler Implementation. 70 // Scheduler Implementation.
71 virtual void ScheduledActionBeginFrame() OVERRIDE { 71 virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE {
72 actions_.push_back("ScheduledActionBeginFrame"); 72 actions_.push_back("ScheduledActionSendBeginFrameToMainThread");
73 states_.push_back(scheduler_->StateAsStringForTesting()); 73 states_.push_back(scheduler_->StateAsStringForTesting());
74 } 74 }
75 virtual ScheduledActionDrawAndSwapResult 75 virtual ScheduledActionDrawAndSwapResult
76 ScheduledActionDrawAndSwapIfPossible() OVERRIDE { 76 ScheduledActionDrawAndSwapIfPossible() OVERRIDE {
77 actions_.push_back("ScheduledActionDrawAndSwapIfPossible"); 77 actions_.push_back("ScheduledActionDrawAndSwapIfPossible");
78 states_.push_back(scheduler_->StateAsStringForTesting()); 78 states_.push_back(scheduler_->StateAsStringForTesting());
79 num_draws_++; 79 num_draws_++;
80 return ScheduledActionDrawAndSwapResult(draw_will_happen_, 80 return ScheduledActionDrawAndSwapResult(draw_will_happen_,
81 draw_will_happen_ && 81 draw_will_happen_ &&
82 swap_will_happen_if_draw_happens_); 82 swap_will_happen_if_draw_happens_);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 scheduler->SetCanStart(); 146 scheduler->SetCanStart();
147 scheduler->SetVisible(true); 147 scheduler->SetVisible(true);
148 scheduler->SetCanDraw(true); 148 scheduler->SetCanDraw(true);
149 149
150 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client); 150 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client);
151 client.Reset(); 151 client.Reset();
152 scheduler->DidCreateAndInitializeOutputSurface(); 152 scheduler->DidCreateAndInitializeOutputSurface();
153 153
154 // SetNeedsCommit should begin the frame. 154 // SetNeedsCommit should begin the frame.
155 scheduler->SetNeedsCommit(); 155 scheduler->SetNeedsCommit();
156 EXPECT_SINGLE_ACTION("ScheduledActionBeginFrame", client); 156 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginFrameToMainThread", client);
157 EXPECT_FALSE(time_source->Active()); 157 EXPECT_FALSE(time_source->Active());
158 client.Reset(); 158 client.Reset();
159 159
160 // BeginFrameComplete should commit 160 // FinishCommit should commit
161 scheduler->BeginFrameComplete(); 161 scheduler->FinishCommit();
162 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client); 162 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client);
163 EXPECT_TRUE(time_source->Active()); 163 EXPECT_TRUE(time_source->Active());
164 client.Reset(); 164 client.Reset();
165 165
166 // Tick should draw. 166 // Tick should draw.
167 time_source->Tick(); 167 time_source->Tick();
168 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client); 168 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client);
169 EXPECT_FALSE(time_source->Active()); 169 EXPECT_FALSE(time_source->Active());
170 client.Reset(); 170 client.Reset();
171 171
172 // Timer should be off. 172 // Timer should be off.
173 EXPECT_FALSE(time_source->Active()); 173 EXPECT_FALSE(time_source->Active());
174 } 174 }
175 175
176 TEST(SchedulerTest, RequestCommitAfterBeginFrame) { 176 TEST(SchedulerTest, RequestCommitAfterBeginFrameSentToMainThread) {
177 FakeSchedulerClient client; 177 FakeSchedulerClient client;
178 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource()); 178 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource());
179 SchedulerSettings default_scheduler_settings; 179 SchedulerSettings default_scheduler_settings;
180 Scheduler* scheduler = client.CreateScheduler( 180 Scheduler* scheduler = client.CreateScheduler(
181 make_scoped_ptr(new FrameRateController(time_source)), 181 make_scoped_ptr(new FrameRateController(time_source)),
182 default_scheduler_settings); 182 default_scheduler_settings);
183 scheduler->SetCanStart(); 183 scheduler->SetCanStart();
184 scheduler->SetVisible(true); 184 scheduler->SetVisible(true);
185 scheduler->SetCanDraw(true); 185 scheduler->SetCanDraw(true);
186 186
187 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client); 187 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client);
188 client.Reset(); 188 client.Reset();
189 scheduler->DidCreateAndInitializeOutputSurface(); 189 scheduler->DidCreateAndInitializeOutputSurface();
190 190
191 // SetNedsCommit should begin the frame. 191 // SetNedsCommit should begin the frame.
192 scheduler->SetNeedsCommit(); 192 scheduler->SetNeedsCommit();
193 EXPECT_SINGLE_ACTION("ScheduledActionBeginFrame", client); 193 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginFrameToMainThread", client);
194 client.Reset(); 194 client.Reset();
195 195
196 // Now SetNeedsCommit again. Calling here means we need a second frame. 196 // Now SetNeedsCommit again. Calling here means we need a second frame.
197 scheduler->SetNeedsCommit(); 197 scheduler->SetNeedsCommit();
198 198
199 // Since, another commit is needed, BeginFrameComplete should commit, 199 // Since another commit is needed, FinishCommit should commit,
200 // then begin another frame. 200 // then begin another frame.
201 scheduler->BeginFrameComplete(); 201 scheduler->FinishCommit();
202 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client); 202 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client);
203 client.Reset(); 203 client.Reset();
204 204
205 // Tick should draw but then begin another frame. 205 // Tick should draw but then begin another frame.
206 time_source->Tick(); 206 time_source->Tick();
207 EXPECT_FALSE(time_source->Active()); 207 EXPECT_FALSE(time_source->Active());
208 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 2); 208 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 2);
209 EXPECT_ACTION("ScheduledActionBeginFrame", client, 1, 2); 209 EXPECT_ACTION("ScheduledActionSendBeginFrameToMainThread", client, 1, 2);
210 client.Reset(); 210 client.Reset();
211 } 211 }
212 212
213 TEST(SchedulerTest, TextureAcquisitionCollision) { 213 TEST(SchedulerTest, TextureAcquisitionCollision) {
214 FakeSchedulerClient client; 214 FakeSchedulerClient client;
215 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource()); 215 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource());
216 SchedulerSettings default_scheduler_settings; 216 SchedulerSettings default_scheduler_settings;
217 Scheduler* scheduler = client.CreateScheduler( 217 Scheduler* scheduler = client.CreateScheduler(
218 make_scoped_ptr(new FrameRateController(time_source)), 218 make_scoped_ptr(new FrameRateController(time_source)),
219 default_scheduler_settings); 219 default_scheduler_settings);
220 scheduler->SetCanStart(); 220 scheduler->SetCanStart();
221 scheduler->SetVisible(true); 221 scheduler->SetVisible(true);
222 scheduler->SetCanDraw(true); 222 scheduler->SetCanDraw(true);
223 223
224 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client); 224 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client);
225 client.Reset(); 225 client.Reset();
226 scheduler->DidCreateAndInitializeOutputSurface(); 226 scheduler->DidCreateAndInitializeOutputSurface();
227 227
228 scheduler->SetNeedsCommit(); 228 scheduler->SetNeedsCommit();
229 scheduler->SetMainThreadNeedsLayerTextures(); 229 scheduler->SetMainThreadNeedsLayerTextures();
230 EXPECT_ACTION("ScheduledActionBeginFrame", client, 0, 2); 230 EXPECT_ACTION("ScheduledActionSendBeginFrameToMainThread", client, 0, 2);
231 EXPECT_ACTION("ScheduledActionAcquireLayerTexturesForMainThread", 231 EXPECT_ACTION("ScheduledActionAcquireLayerTexturesForMainThread",
232 client, 232 client,
233 1, 233 1,
234 2); 234 2);
235 client.Reset(); 235 client.Reset();
236 236
237 // Compositor not scheduled to draw because textures are locked by main thread 237 // Compositor not scheduled to draw because textures are locked by main thread
238 EXPECT_FALSE(time_source->Active()); 238 EXPECT_FALSE(time_source->Active());
239 239
240 // Trigger the commit 240 // Trigger the commit
241 scheduler->BeginFrameComplete(); 241 scheduler->FinishCommit();
242 EXPECT_TRUE(time_source->Active()); 242 EXPECT_TRUE(time_source->Active());
243 client.Reset(); 243 client.Reset();
244 244
245 // Between commit and draw, texture acquisition for main thread delayed, 245 // Between commit and draw, texture acquisition for main thread delayed,
246 // and main thread blocks. 246 // and main thread blocks.
247 scheduler->SetMainThreadNeedsLayerTextures(); 247 scheduler->SetMainThreadNeedsLayerTextures();
248 EXPECT_EQ(0, client.num_actions_()); 248 EXPECT_EQ(0, client.num_actions_());
249 client.Reset(); 249 client.Reset();
250 250
251 // Once compositor draw complete, the delayed texture acquisition fires. 251 // Once compositor draw complete, the delayed texture acquisition fires.
252 time_source->Tick(); 252 time_source->Tick();
253 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 3); 253 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client, 0, 3);
254 EXPECT_ACTION("ScheduledActionAcquireLayerTexturesForMainThread", 254 EXPECT_ACTION("ScheduledActionAcquireLayerTexturesForMainThread",
255 client, 255 client,
256 1, 256 1,
257 3); 257 3);
258 EXPECT_ACTION("ScheduledActionBeginFrame", client, 2, 3); 258 EXPECT_ACTION("ScheduledActionSendBeginFrameToMainThread", client, 2, 3);
259 client.Reset(); 259 client.Reset();
260 } 260 }
261 261
262 TEST(SchedulerTest, VisibilitySwitchWithTextureAcquisition) { 262 TEST(SchedulerTest, VisibilitySwitchWithTextureAcquisition) {
263 FakeSchedulerClient client; 263 FakeSchedulerClient client;
264 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource()); 264 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource());
265 SchedulerSettings default_scheduler_settings; 265 SchedulerSettings default_scheduler_settings;
266 Scheduler* scheduler = client.CreateScheduler( 266 Scheduler* scheduler = client.CreateScheduler(
267 make_scoped_ptr(new FrameRateController(time_source)), 267 make_scoped_ptr(new FrameRateController(time_source)),
268 default_scheduler_settings); 268 default_scheduler_settings);
269 scheduler->SetCanStart(); 269 scheduler->SetCanStart();
270 scheduler->SetVisible(true); 270 scheduler->SetVisible(true);
271 scheduler->SetCanDraw(true); 271 scheduler->SetCanDraw(true);
272 272
273 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client); 273 EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client);
274 client.Reset(); 274 client.Reset();
275 scheduler->DidCreateAndInitializeOutputSurface(); 275 scheduler->DidCreateAndInitializeOutputSurface();
276 276
277 scheduler->SetNeedsCommit(); 277 scheduler->SetNeedsCommit();
278 scheduler->BeginFrameComplete(); 278 scheduler->FinishCommit();
279 scheduler->SetMainThreadNeedsLayerTextures(); 279 scheduler->SetMainThreadNeedsLayerTextures();
280 client.Reset(); 280 client.Reset();
281 // Verify that pending texture acquisition fires when visibility 281 // Verify that pending texture acquisition fires when visibility
282 // is lost in order to avoid a deadlock. 282 // is lost in order to avoid a deadlock.
283 scheduler->SetVisible(false); 283 scheduler->SetVisible(false);
284 EXPECT_SINGLE_ACTION("ScheduledActionAcquireLayerTexturesForMainThread", 284 EXPECT_SINGLE_ACTION("ScheduledActionAcquireLayerTexturesForMainThread",
285 client); 285 client);
286 client.Reset(); 286 client.Reset();
287 287
288 // Regaining visibility with textures acquired by main thread while 288 // Regaining visibility with textures acquired by main thread while
289 // compositor is waiting for first draw should result in a request 289 // compositor is waiting for first draw should result in a request
290 // for a new frame in order to escape a deadlock. 290 // for a new frame in order to escape a deadlock.
291 scheduler->SetVisible(true); 291 scheduler->SetVisible(true);
292 EXPECT_SINGLE_ACTION("ScheduledActionBeginFrame", client); 292 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginFrameToMainThread", client);
293 client.Reset(); 293 client.Reset();
294 } 294 }
295 295
296 class SchedulerClientThatsetNeedsDrawInsideDraw : public FakeSchedulerClient { 296 class SchedulerClientThatsetNeedsDrawInsideDraw : public FakeSchedulerClient {
297 public: 297 public:
298 virtual void ScheduledActionBeginFrame() OVERRIDE {} 298 virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE {}
299 virtual ScheduledActionDrawAndSwapResult 299 virtual ScheduledActionDrawAndSwapResult
300 ScheduledActionDrawAndSwapIfPossible() OVERRIDE { 300 ScheduledActionDrawAndSwapIfPossible() OVERRIDE {
301 // Only SetNeedsRedraw the first time this is called 301 // Only SetNeedsRedraw the first time this is called
302 if (!num_draws_) 302 if (!num_draws_)
303 scheduler_->SetNeedsRedraw(); 303 scheduler_->SetNeedsRedraw();
304 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible(); 304 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible();
305 } 305 }
306 306
307 virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced() 307 virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced()
308 OVERRIDE { 308 OVERRIDE {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 client.SetDrawWillHappen(true); 388 client.SetDrawWillHappen(true);
389 time_source->Tick(); 389 time_source->Tick();
390 EXPECT_EQ(3, client.num_draws()); 390 EXPECT_EQ(3, client.num_draws());
391 EXPECT_TRUE(scheduler->CommitPending()); 391 EXPECT_TRUE(scheduler->CommitPending());
392 EXPECT_FALSE(scheduler->RedrawPending()); 392 EXPECT_FALSE(scheduler->RedrawPending());
393 EXPECT_FALSE(time_source->Active()); 393 EXPECT_FALSE(time_source->Active());
394 } 394 }
395 395
396 class SchedulerClientThatsetNeedsCommitInsideDraw : public FakeSchedulerClient { 396 class SchedulerClientThatsetNeedsCommitInsideDraw : public FakeSchedulerClient {
397 public: 397 public:
398 virtual void ScheduledActionBeginFrame() OVERRIDE {} 398 virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE {}
399 virtual ScheduledActionDrawAndSwapResult 399 virtual ScheduledActionDrawAndSwapResult
400 ScheduledActionDrawAndSwapIfPossible() OVERRIDE { 400 ScheduledActionDrawAndSwapIfPossible() OVERRIDE {
401 // Only SetNeedsCommit the first time this is called 401 // Only SetNeedsCommit the first time this is called
402 if (!num_draws_) 402 if (!num_draws_)
403 scheduler_->SetNeedsCommit(); 403 scheduler_->SetNeedsCommit();
404 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible(); 404 return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible();
405 } 405 }
406 406
407 virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced() 407 virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced()
408 OVERRIDE { 408 OVERRIDE {
(...skipping 22 matching lines...) Expand all
431 431
432 scheduler->SetNeedsRedraw(); 432 scheduler->SetNeedsRedraw();
433 EXPECT_TRUE(scheduler->RedrawPending()); 433 EXPECT_TRUE(scheduler->RedrawPending());
434 EXPECT_EQ(0, client.num_draws()); 434 EXPECT_EQ(0, client.num_draws());
435 EXPECT_TRUE(time_source->Active()); 435 EXPECT_TRUE(time_source->Active());
436 436
437 time_source->Tick(); 437 time_source->Tick();
438 EXPECT_FALSE(time_source->Active()); 438 EXPECT_FALSE(time_source->Active());
439 EXPECT_EQ(1, client.num_draws()); 439 EXPECT_EQ(1, client.num_draws());
440 EXPECT_TRUE(scheduler->CommitPending()); 440 EXPECT_TRUE(scheduler->CommitPending());
441 scheduler->BeginFrameComplete(); 441 scheduler->FinishCommit();
442 442
443 time_source->Tick(); 443 time_source->Tick();
444 EXPECT_EQ(2, client.num_draws()); 444 EXPECT_EQ(2, client.num_draws());
445 EXPECT_FALSE(time_source->Active()); 445 EXPECT_FALSE(time_source->Active());
446 EXPECT_FALSE(scheduler->RedrawPending()); 446 EXPECT_FALSE(scheduler->RedrawPending());
447 } 447 }
448 448
449 // Tests that when a draw fails then the pending commit should not be dropped. 449 // Tests that when a draw fails then the pending commit should not be dropped.
450 TEST(SchedulerTest, RequestCommitInsideFailedDraw) { 450 TEST(SchedulerTest, RequestCommitInsideFailedDraw) {
451 SchedulerClientThatsetNeedsDrawInsideDraw client; 451 SchedulerClientThatsetNeedsDrawInsideDraw client;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 485
486 // Draw successfully. 486 // Draw successfully.
487 client.SetDrawWillHappen(true); 487 client.SetDrawWillHappen(true);
488 time_source->Tick(); 488 time_source->Tick();
489 EXPECT_EQ(3, client.num_draws()); 489 EXPECT_EQ(3, client.num_draws());
490 EXPECT_TRUE(scheduler->CommitPending()); 490 EXPECT_TRUE(scheduler->CommitPending());
491 EXPECT_FALSE(scheduler->RedrawPending()); 491 EXPECT_FALSE(scheduler->RedrawPending());
492 EXPECT_FALSE(time_source->Active()); 492 EXPECT_FALSE(time_source->Active());
493 } 493 }
494 494
495 TEST(SchedulerTest, NoBeginFrameWhenDrawFails) { 495 TEST(SchedulerTest, NoSwapWhenDrawFails) {
496 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource()); 496 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource());
497 SchedulerClientThatsetNeedsCommitInsideDraw client; 497 SchedulerClientThatsetNeedsCommitInsideDraw client;
498 scoped_ptr<FakeFrameRateController> controller( 498 scoped_ptr<FakeFrameRateController> controller(
499 new FakeFrameRateController(time_source)); 499 new FakeFrameRateController(time_source));
500 FakeFrameRateController* controller_ptr = controller.get(); 500 FakeFrameRateController* controller_ptr = controller.get();
501 SchedulerSettings default_scheduler_settings; 501 SchedulerSettings default_scheduler_settings;
502 Scheduler* scheduler = client.CreateScheduler( 502 Scheduler* scheduler = client.CreateScheduler(
503 controller.PassAs<FrameRateController>(), 503 controller.PassAs<FrameRateController>(),
504 default_scheduler_settings); 504 default_scheduler_settings);
505 scheduler->SetCanStart(); 505 scheduler->SetCanStart();
(...skipping 19 matching lines...) Expand all
525 EXPECT_TRUE(scheduler->RedrawPending()); 525 EXPECT_TRUE(scheduler->RedrawPending());
526 EXPECT_TRUE(time_source->Active()); 526 EXPECT_TRUE(time_source->Active());
527 527
528 // Fail to draw, this should not start a frame. 528 // Fail to draw, this should not start a frame.
529 client.SetDrawWillHappen(false); 529 client.SetDrawWillHappen(false);
530 time_source->Tick(); 530 time_source->Tick();
531 EXPECT_EQ(2, client.num_draws()); 531 EXPECT_EQ(2, client.num_draws());
532 EXPECT_EQ(0, controller_ptr->NumFramesPending()); 532 EXPECT_EQ(0, controller_ptr->NumFramesPending());
533 } 533 }
534 534
535 TEST(SchedulerTest, NoBeginFrameWhenSwapFailsDuringForcedCommit) { 535 TEST(SchedulerTest, NoSwapWhenSwapFailsDuringForcedCommit) {
536 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource()); 536 scoped_refptr<FakeTimeSource> time_source(new FakeTimeSource());
537 FakeSchedulerClient client; 537 FakeSchedulerClient client;
538 scoped_ptr<FakeFrameRateController> controller( 538 scoped_ptr<FakeFrameRateController> controller(
539 new FakeFrameRateController(time_source)); 539 new FakeFrameRateController(time_source));
540 FakeFrameRateController* controller_ptr = controller.get(); 540 FakeFrameRateController* controller_ptr = controller.get();
541 SchedulerSettings default_scheduler_settings; 541 SchedulerSettings default_scheduler_settings;
542 Scheduler* scheduler = client.CreateScheduler( 542 Scheduler* scheduler = client.CreateScheduler(
543 controller.PassAs<FrameRateController>(), 543 controller.PassAs<FrameRateController>(),
544 default_scheduler_settings); 544 default_scheduler_settings);
545 545
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 scheduler->DidLoseOutputSurface(); 582 scheduler->DidLoseOutputSurface();
583 // Verifying that it's 1 so that we know that it's reset on recreate. 583 // Verifying that it's 1 so that we know that it's reset on recreate.
584 EXPECT_EQ(1, controller_ptr->NumFramesPending()); 584 EXPECT_EQ(1, controller_ptr->NumFramesPending());
585 585
586 scheduler->DidCreateAndInitializeOutputSurface(); 586 scheduler->DidCreateAndInitializeOutputSurface();
587 EXPECT_EQ(0, controller_ptr->NumFramesPending()); 587 EXPECT_EQ(0, controller_ptr->NumFramesPending());
588 } 588 }
589 589
590 } // namespace 590 } // namespace
591 } // namespace cc 591 } // namespace cc
OLDNEW
« no previous file with comments | « cc/scheduler/scheduler_state_machine_unittest.cc ('k') | cc/test/fake_layer_tree_host_impl_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698