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/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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |