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

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

Issue 1418273002: cc: Move draw params from SetExternalDrawConstraints to OnDraw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tests fixed Created 5 years, 1 month 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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 321
322 scheduler_->NotifyBeginMainFrameStarted(); 322 scheduler_->NotifyBeginMainFrameStarted();
323 scheduler_->NotifyReadyToCommit(); 323 scheduler_->NotifyReadyToCommit();
324 scheduler_->NotifyReadyToActivate(); 324 scheduler_->NotifyReadyToActivate();
325 scheduler_->NotifyReadyToDraw(); 325 scheduler_->NotifyReadyToDraw();
326 326
327 EXPECT_FALSE(scheduler_->CommitPending()); 327 EXPECT_FALSE(scheduler_->CommitPending());
328 328
329 if (scheduler_settings_.using_synchronous_renderer_compositor) { 329 if (scheduler_settings_.using_synchronous_renderer_compositor) {
330 scheduler_->SetNeedsRedraw(); 330 scheduler_->SetNeedsRedraw();
331 scheduler_->OnDrawForOutputSurface(); 331 bool resourceless_software_draw = false;
332 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
332 } else { 333 } else {
333 // Run the posted deadline task. 334 // Run the posted deadline task.
334 EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); 335 EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending());
335 task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true)); 336 task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true));
336 } 337 }
337 338
338 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 339 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
339 } 340 }
340 341
341 client_->Reset(); 342 client_->Reset();
(...skipping 2761 matching lines...) Expand 10 before | Expand all | Expand 10 after
3103 // Next vsync. 3104 // Next vsync.
3104 AdvanceFrame(); 3105 AdvanceFrame();
3105 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3106 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3106 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3107 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3107 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3108 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3108 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3109 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3109 client_->Reset(); 3110 client_->Reset();
3110 3111
3111 // Android onDraw. This doesn't consume the animate tick. 3112 // Android onDraw. This doesn't consume the animate tick.
3112 scheduler_->SetNeedsRedraw(); 3113 scheduler_->SetNeedsRedraw();
3113 scheduler_->OnDrawForOutputSurface(); 3114 bool resourceless_software_draw = false;
3115 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3114 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); 3116 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
3115 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3117 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3116 client_->Reset(); 3118 client_->Reset();
3117 3119
3118 // The animate changes stuff on the screen, but ends here, so does not 3120 // The animate changes stuff on the screen, but ends here, so does not
3119 // cause another animate step. 3121 // cause another animate step.
3120 client_->SetAnimateCausesRedraw(true); 3122 client_->SetAnimateCausesRedraw(true);
3121 3123
3122 // Next vsync. 3124 // Next vsync.
3123 AdvanceFrame(); 3125 AdvanceFrame();
3124 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3126 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3125 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3127 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3126 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3128 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3127 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3129 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3128 client_->Reset(); 3130 client_->Reset();
3129 3131
3130 // Android onDraw. 3132 // Android onDraw.
3131 scheduler_->SetNeedsRedraw(); 3133 scheduler_->SetNeedsRedraw();
3132 scheduler_->OnDrawForOutputSurface(); 3134 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3133 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); 3135 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
3134 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3136 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3135 client_->Reset(); 3137 client_->Reset();
3136 3138
3137 // Idle on next vsync, as the animate has completed. 3139 // Idle on next vsync, as the animate has completed.
3138 AdvanceFrame(); 3140 AdvanceFrame();
3139 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3141 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3140 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); 3142 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3);
3141 EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); 3143 EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3);
3142 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3144 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3143 client_->Reset(); 3145 client_->Reset();
3144 } 3146 }
3145 3147
3146 TEST_F(SchedulerTest, SynchronousCompositorOnDrawDuringIdle) { 3148 TEST_F(SchedulerTest, SynchronousCompositorOnDrawDuringIdle) {
3147 scheduler_settings_.using_synchronous_renderer_compositor = true; 3149 scheduler_settings_.using_synchronous_renderer_compositor = true;
3148 scheduler_settings_.use_external_begin_frame_source = true; 3150 scheduler_settings_.use_external_begin_frame_source = true;
3149 SetUpScheduler(true); 3151 SetUpScheduler(true);
3150 3152
3151 scheduler_->SetNeedsRedraw(); 3153 scheduler_->SetNeedsRedraw();
3152 scheduler_->OnDrawForOutputSurface(); 3154 bool resourceless_software_draw = false;
3155 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3153 EXPECT_ACTION("SetNeedsBeginFrames(true)", client_, 0, 3); 3156 EXPECT_ACTION("SetNeedsBeginFrames(true)", client_, 0, 3);
3154 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3157 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3155 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 2, 3); 3158 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 2, 3);
3156 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3159 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3157 client_->Reset(); 3160 client_->Reset();
3158 3161
3159 // Idle on next vsync. 3162 // Idle on next vsync.
3160 AdvanceFrame(); 3163 AdvanceFrame();
3161 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3164 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3162 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); 3165 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
3201 // Next vsync. 3204 // Next vsync.
3202 AdvanceFrame(); 3205 AdvanceFrame();
3203 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3206 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3204 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3207 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3205 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3208 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3206 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3209 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3207 client_->Reset(); 3210 client_->Reset();
3208 3211
3209 // Android onDraw. 3212 // Android onDraw.
3210 scheduler_->SetNeedsRedraw(); 3213 scheduler_->SetNeedsRedraw();
3211 scheduler_->OnDrawForOutputSurface(); 3214 bool resourceless_software_draw = false;
3215 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3212 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); 3216 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
3213 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3217 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3214 client_->Reset(); 3218 client_->Reset();
3215 3219
3216 // Idle on next vsync. 3220 // Idle on next vsync.
3217 AdvanceFrame(); 3221 AdvanceFrame();
3218 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3222 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3219 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); 3223 EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3);
3220 EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); 3224 EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3);
3221 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3225 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
3294 3298
3295 // Next vsync. 3299 // Next vsync.
3296 EXPECT_SCOPED(AdvanceFrame()); 3300 EXPECT_SCOPED(AdvanceFrame());
3297 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3301 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3298 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3302 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3299 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3303 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3300 client_->Reset(); 3304 client_->Reset();
3301 3305
3302 // Android onDraw. 3306 // Android onDraw.
3303 scheduler_->SetNeedsRedraw(); 3307 scheduler_->SetNeedsRedraw();
3304 scheduler_->OnDrawForOutputSurface(); 3308 bool resourceless_software_draw = false;
3309 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3305 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 2); 3310 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 2);
3306 EXPECT_ACTION("ScheduledActionPrepareTiles", client_, 1, 2); 3311 EXPECT_ACTION("ScheduledActionPrepareTiles", client_, 1, 2);
3307 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3312 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3308 EXPECT_FALSE(scheduler_->PrepareTilesPending()); 3313 EXPECT_FALSE(scheduler_->PrepareTilesPending());
3309 client_->Reset(); 3314 client_->Reset();
3310 3315
3311 // Android onDraw. 3316 // Android onDraw.
3312 scheduler_->SetNeedsRedraw(); 3317 scheduler_->SetNeedsRedraw();
3313 scheduler_->OnDrawForOutputSurface(); 3318 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3314 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 2); 3319 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 2);
3315 EXPECT_ACTION("ScheduledActionPrepareTiles", client_, 1, 2); 3320 EXPECT_ACTION("ScheduledActionPrepareTiles", client_, 1, 2);
3316 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3321 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3317 EXPECT_FALSE(scheduler_->PrepareTilesPending()); 3322 EXPECT_FALSE(scheduler_->PrepareTilesPending());
3318 client_->Reset(); 3323 client_->Reset();
3319 3324
3320 // Next vsync. 3325 // Next vsync.
3321 EXPECT_SCOPED(AdvanceFrame()); 3326 EXPECT_SCOPED(AdvanceFrame());
3322 EXPECT_FALSE(scheduler_->PrepareTilesPending()); 3327 EXPECT_FALSE(scheduler_->PrepareTilesPending());
3323 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3328 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
(...skipping 15 matching lines...) Expand all
3339 3344
3340 // Next vsync. 3345 // Next vsync.
3341 EXPECT_SCOPED(AdvanceFrame()); 3346 EXPECT_SCOPED(AdvanceFrame());
3342 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3347 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3343 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3348 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3344 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3349 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3345 client_->Reset(); 3350 client_->Reset();
3346 3351
3347 // Android onDraw. 3352 // Android onDraw.
3348 scheduler_->SetNeedsRedraw(); 3353 scheduler_->SetNeedsRedraw();
3349 scheduler_->OnDrawForOutputSurface(); 3354 bool resourceless_software_draw = false;
3355 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3350 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); 3356 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
3351 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3357 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3352 EXPECT_FALSE(scheduler_->PrepareTilesPending()); 3358 EXPECT_FALSE(scheduler_->PrepareTilesPending());
3353 client_->Reset(); 3359 client_->Reset();
3354 3360
3355 // Simulate SetNeedsBeginMainFrame due to input event. 3361 // Simulate SetNeedsBeginMainFrame due to input event.
3356 scheduler_->SetNeedsBeginMainFrame(); 3362 scheduler_->SetNeedsBeginMainFrame();
3357 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_); 3363 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_);
3358 client_->Reset(); 3364 client_->Reset();
3359 3365
3360 scheduler_->NotifyBeginMainFrameStarted(); 3366 scheduler_->NotifyBeginMainFrameStarted();
3361 scheduler_->NotifyReadyToCommit(); 3367 scheduler_->NotifyReadyToCommit();
3362 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client_); 3368 EXPECT_SINGLE_ACTION("ScheduledActionCommit", client_);
3363 client_->Reset(); 3369 client_->Reset();
3364 3370
3365 scheduler_->NotifyReadyToActivate(); 3371 scheduler_->NotifyReadyToActivate();
3366 EXPECT_SINGLE_ACTION("ScheduledActionActivateSyncTree", client_); 3372 EXPECT_SINGLE_ACTION("ScheduledActionActivateSyncTree", client_);
3367 client_->Reset(); 3373 client_->Reset();
3368 3374
3369 // Next vsync. 3375 // Next vsync.
3370 EXPECT_SCOPED(AdvanceFrame()); 3376 EXPECT_SCOPED(AdvanceFrame());
3371 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); 3377 EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3);
3372 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); 3378 EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3);
3373 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); 3379 EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3);
3374 client_->Reset(); 3380 client_->Reset();
3375 3381
3376 // Android onDraw. 3382 // Android onDraw.
3377 scheduler_->SetNeedsRedraw(); 3383 scheduler_->SetNeedsRedraw();
3378 scheduler_->OnDrawForOutputSurface(); 3384 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3379 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); 3385 EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
3380 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3386 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3381 EXPECT_FALSE(scheduler_->PrepareTilesPending()); 3387 EXPECT_FALSE(scheduler_->PrepareTilesPending());
3382 client_->Reset(); 3388 client_->Reset();
3383 3389
3384 // Simulate SetNeedsBeginMainFrame due to input event. 3390 // Simulate SetNeedsBeginMainFrame due to input event.
3385 scheduler_->SetNeedsBeginMainFrame(); 3391 scheduler_->SetNeedsBeginMainFrame();
3386 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_); 3392 EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_);
3387 client_->Reset(); 3393 client_->Reset();
3388 } 3394 }
3389 3395
3390 TEST_F(SchedulerTest, SynchronousCompositorResourcelessOnDrawWhenInvisible) { 3396 TEST_F(SchedulerTest, SynchronousCompositorResourcelessOnDrawWhenInvisible) {
3391 scheduler_settings_.using_synchronous_renderer_compositor = true; 3397 scheduler_settings_.using_synchronous_renderer_compositor = true;
3392 scheduler_settings_.use_external_begin_frame_source = true; 3398 scheduler_settings_.use_external_begin_frame_source = true;
3393 SetUpScheduler(true); 3399 SetUpScheduler(true);
3394 3400
3395 scheduler_->SetVisible(false); 3401 scheduler_->SetVisible(false);
3396 scheduler_->SetResourcelessSoftareDraw(true);
3397 3402
3398 scheduler_->SetNeedsRedraw(); 3403 scheduler_->SetNeedsRedraw();
3399 scheduler_->OnDrawForOutputSurface(); 3404 bool resourceless_software_draw = true;
3405 scheduler_->OnDrawForOutputSurface(resourceless_software_draw);
3400 // Action animate is the result of SetNeedsRedraw. 3406 // Action animate is the result of SetNeedsRedraw.
3401 EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); 3407 EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2);
3402 // SynchronousCompositor has to draw regardless of visibility. 3408 // SynchronousCompositor has to draw regardless of visibility.
3403 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); 3409 EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2);
3404 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); 3410 EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
3405 client_->Reset(); 3411 client_->Reset();
3406 } 3412 }
3407 3413
3408 TEST_F(SchedulerTest, AuthoritativeVSyncInterval) { 3414 TEST_F(SchedulerTest, AuthoritativeVSyncInterval) {
3409 SetUpScheduler(true); 3415 SetUpScheduler(true);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
3459 scheduler_->SetImplLatencyTakesPriority(true); 3465 scheduler_->SetImplLatencyTakesPriority(true);
3460 scheduler_->SetChildrenNeedBeginFrames(true); 3466 scheduler_->SetChildrenNeedBeginFrames(true);
3461 3467
3462 EXPECT_SCOPED(AdvanceFrame()); 3468 EXPECT_SCOPED(AdvanceFrame());
3463 EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); 3469 EXPECT_TRUE(client_->begin_frame_is_sent_to_children());
3464 EXPECT_FALSE(client_->begin_frame_args_sent_to_children().on_critical_path); 3470 EXPECT_FALSE(client_->begin_frame_args_sent_to_children().on_critical_path);
3465 } 3471 }
3466 3472
3467 } // namespace 3473 } // namespace
3468 } // namespace cc 3474 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698