OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/surfaces/display_scheduler.h" | 5 #include "cc/surfaces/display_scheduler.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/test/null_task_runner.h" | 8 #include "base/test/null_task_runner.h" |
9 #include "base/test/simple_test_tick_clock.h" | 9 #include "base/test/simple_test_tick_clock.h" |
10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
102 FakeDisplaySchedulerClient client_; | 102 FakeDisplaySchedulerClient client_; |
103 TestDisplayScheduler scheduler_; | 103 TestDisplayScheduler scheduler_; |
104 }; | 104 }; |
105 | 105 |
106 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) { | 106 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilNewRootSurface) { |
107 SurfaceId root_surface_id1(0, 1, 0); | 107 SurfaceId root_surface_id1(0, 1, 0); |
108 SurfaceId root_surface_id2(0, 2, 0); | 108 SurfaceId root_surface_id2(0, 2, 0); |
109 SurfaceId sid1(0, 3, 0); | 109 SurfaceId sid1(0, 3, 0); |
110 base::TimeTicks late_deadline; | 110 base::TimeTicks late_deadline; |
111 | 111 |
112 scheduler_.SetVisible(true); | |
113 | |
112 // Go trough an initial BeginFrame cycle with the root surface. | 114 // Go trough an initial BeginFrame cycle with the root surface. |
113 BeginFrameForTest(); | 115 BeginFrameForTest(); |
114 scheduler_.SetNewRootSurface(root_surface_id1); | 116 scheduler_.SetNewRootSurface(root_surface_id1); |
115 scheduler_.BeginFrameDeadlineForTest(); | 117 scheduler_.BeginFrameDeadlineForTest(); |
116 | 118 |
117 // Resize on the next begin frame cycle should cause the deadline to wait | 119 // Resize on the next begin frame cycle should cause the deadline to wait |
118 // for a new root surface. | 120 // for a new root surface. |
119 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval(); | 121 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval(); |
120 BeginFrameForTest(); | 122 BeginFrameForTest(); |
121 scheduler_.SurfaceDamaged(sid1); | 123 scheduler_.SurfaceDamaged(sid1); |
(...skipping 14 matching lines...) Expand all Loading... | |
136 EXPECT_GE(now_src().NowTicks(), | 138 EXPECT_GE(now_src().NowTicks(), |
137 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 139 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
138 scheduler_.BeginFrameDeadlineForTest(); | 140 scheduler_.BeginFrameDeadlineForTest(); |
139 } | 141 } |
140 | 142 |
141 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilDamagedSurface) { | 143 TEST_F(DisplaySchedulerTest, ResizeHasLateDeadlineUntilDamagedSurface) { |
142 SurfaceId root_surface_id(0, 1, 0); | 144 SurfaceId root_surface_id(0, 1, 0); |
143 SurfaceId sid1(0, 2, 0); | 145 SurfaceId sid1(0, 2, 0); |
144 base::TimeTicks late_deadline; | 146 base::TimeTicks late_deadline; |
145 | 147 |
148 scheduler_.SetVisible(true); | |
149 | |
146 // Go trough an initial BeginFrame cycle with the root surface. | 150 // Go trough an initial BeginFrame cycle with the root surface. |
147 BeginFrameForTest(); | 151 BeginFrameForTest(); |
148 scheduler_.SetNewRootSurface(root_surface_id); | 152 scheduler_.SetNewRootSurface(root_surface_id); |
149 scheduler_.BeginFrameDeadlineForTest(); | 153 scheduler_.BeginFrameDeadlineForTest(); |
150 | 154 |
151 // Resize on the next begin frame cycle should cause the deadline to wait | 155 // Resize on the next begin frame cycle should cause the deadline to wait |
152 // for a new root surface. | 156 // for a new root surface. |
153 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval(); | 157 late_deadline = now_src().NowTicks() + BeginFrameArgs::DefaultInterval(); |
154 BeginFrameForTest(); | 158 BeginFrameForTest(); |
155 scheduler_.SurfaceDamaged(sid1); | 159 scheduler_.SurfaceDamaged(sid1); |
(...skipping 14 matching lines...) Expand all Loading... | |
170 EXPECT_GE(now_src().NowTicks(), | 174 EXPECT_GE(now_src().NowTicks(), |
171 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 175 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
172 scheduler_.BeginFrameDeadlineForTest(); | 176 scheduler_.BeginFrameDeadlineForTest(); |
173 } | 177 } |
174 | 178 |
175 TEST_F(DisplaySchedulerTest, SurfaceDamaged) { | 179 TEST_F(DisplaySchedulerTest, SurfaceDamaged) { |
176 SurfaceId root_surface_id(0, 0, 0); | 180 SurfaceId root_surface_id(0, 0, 0); |
177 SurfaceId sid1(0, 1, 0); | 181 SurfaceId sid1(0, 1, 0); |
178 SurfaceId sid2(0, 2, 0); | 182 SurfaceId sid2(0, 2, 0); |
179 | 183 |
184 scheduler_.SetVisible(true); | |
185 | |
180 // Set the root surface | 186 // Set the root surface |
181 scheduler_.SetNewRootSurface(root_surface_id); | 187 scheduler_.SetNewRootSurface(root_surface_id); |
182 | 188 |
183 // Get scheduler to detect surface 1 as active by drawing | 189 // Get scheduler to detect surface 1 as active by drawing |
184 // two frames in a row with damage from surface 1. | 190 // two frames in a row with damage from surface 1. |
185 BeginFrameForTest(); | 191 BeginFrameForTest(); |
186 scheduler_.SurfaceDamaged(sid1); | 192 scheduler_.SurfaceDamaged(sid1); |
187 scheduler_.BeginFrameDeadlineForTest(); | 193 scheduler_.BeginFrameDeadlineForTest(); |
188 BeginFrameForTest(); | 194 BeginFrameForTest(); |
189 scheduler_.SurfaceDamaged(sid1); | 195 scheduler_.SurfaceDamaged(sid1); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
233 scheduler_.SurfaceDamaged(root_surface_id); | 239 scheduler_.SurfaceDamaged(root_surface_id); |
234 EXPECT_GE(now_src().NowTicks(), | 240 EXPECT_GE(now_src().NowTicks(), |
235 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 241 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
236 scheduler_.BeginFrameDeadlineForTest(); | 242 scheduler_.BeginFrameDeadlineForTest(); |
237 } | 243 } |
238 | 244 |
239 TEST_F(DisplaySchedulerTest, OutputSurfaceLost) { | 245 TEST_F(DisplaySchedulerTest, OutputSurfaceLost) { |
240 SurfaceId root_surface_id(0, 0, 0); | 246 SurfaceId root_surface_id(0, 0, 0); |
241 SurfaceId sid1(0, 1, 0); | 247 SurfaceId sid1(0, 1, 0); |
242 | 248 |
249 scheduler_.SetVisible(true); | |
250 | |
243 // Set the root surface | 251 // Set the root surface |
244 scheduler_.SetNewRootSurface(root_surface_id); | 252 scheduler_.SetNewRootSurface(root_surface_id); |
245 | 253 |
246 // DrawAndSwap normally. | 254 // DrawAndSwap normally. |
247 BeginFrameForTest(); | 255 BeginFrameForTest(); |
248 EXPECT_LT(now_src().NowTicks(), | 256 EXPECT_LT(now_src().NowTicks(), |
249 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 257 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
250 EXPECT_EQ(0, client_.draw_and_swap_count()); | 258 EXPECT_EQ(0, client_.draw_and_swap_count()); |
251 scheduler_.SurfaceDamaged(sid1); | 259 scheduler_.SurfaceDamaged(sid1); |
252 scheduler_.BeginFrameDeadlineForTest(); | 260 scheduler_.BeginFrameDeadlineForTest(); |
253 EXPECT_EQ(1, client_.draw_and_swap_count()); | 261 EXPECT_EQ(1, client_.draw_and_swap_count()); |
254 | 262 |
255 // Deadline triggers immediately on OutputSurfaceLost. | 263 // Deadline triggers immediately on OutputSurfaceLost. |
256 BeginFrameForTest(); | 264 BeginFrameForTest(); |
257 EXPECT_LT(now_src().NowTicks(), | 265 EXPECT_LT(now_src().NowTicks(), |
258 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 266 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
259 scheduler_.OutputSurfaceLost(); | 267 scheduler_.OutputSurfaceLost(); |
260 EXPECT_GE(now_src().NowTicks(), | 268 EXPECT_GE(now_src().NowTicks(), |
261 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 269 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
262 | 270 |
263 // Deadline does not DrawAndSwap after OutputSurfaceLost. | 271 // Deadline does not DrawAndSwap after OutputSurfaceLost. |
264 EXPECT_EQ(1, client_.draw_and_swap_count()); | 272 EXPECT_EQ(1, client_.draw_and_swap_count()); |
265 scheduler_.SurfaceDamaged(sid1); | 273 scheduler_.SurfaceDamaged(sid1); |
266 scheduler_.BeginFrameDeadlineForTest(); | 274 scheduler_.BeginFrameDeadlineForTest(); |
267 EXPECT_EQ(1, client_.draw_and_swap_count()); | 275 EXPECT_EQ(1, client_.draw_and_swap_count()); |
268 } | 276 } |
269 | 277 |
278 TEST_F(DisplaySchedulerTest, VisibleWithoutDamageNoTicks) { | |
279 SurfaceId root_surface_id(0, 0, 0); | |
280 SurfaceId sid1(0, 1, 0); | |
281 | |
282 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
283 scheduler_.SetVisible(true); | |
284 | |
285 // When becoming visible, don't start listening for begin frames until there | |
286 // is some damage. | |
287 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
288 scheduler_.SetNewRootSurface(root_surface_id); | |
289 | |
290 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); | |
291 } | |
292 | |
293 TEST_F(DisplaySchedulerTest, VisibleWithDamageTicks) { | |
294 SurfaceId root_surface_id(0, 0, 0); | |
295 SurfaceId sid1(0, 1, 0); | |
296 | |
297 scheduler_.SetNewRootSurface(root_surface_id); | |
298 | |
299 // When there is damage, start listening for begin frames once becoming | |
300 // visible. | |
301 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
302 scheduler_.SetVisible(true); | |
303 | |
304 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); | |
305 } | |
306 | |
307 TEST_F(DisplaySchedulerTest, Visibility) { | |
308 SurfaceId root_surface_id(0, 0, 0); | |
309 SurfaceId sid1(0, 1, 0); | |
310 | |
311 scheduler_.SetNewRootSurface(root_surface_id); | |
312 scheduler_.SetVisible(true); | |
313 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); | |
314 | |
315 // DrawAndSwap normally. | |
316 BeginFrameForTest(); | |
317 EXPECT_LT(now_src().NowTicks(), | |
318 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | |
319 EXPECT_EQ(0, client_.draw_and_swap_count()); | |
320 scheduler_.SurfaceDamaged(sid1); | |
321 scheduler_.BeginFrameDeadlineForTest(); | |
322 EXPECT_EQ(1, client_.draw_and_swap_count()); | |
323 | |
324 BeginFrameForTest(); | |
325 EXPECT_LT(now_src().NowTicks(), | |
326 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | |
327 | |
328 // Become not visible. | |
329 scheduler_.SetVisible(false); | |
330 | |
331 // It will stop listening for begin frames after the current deadline. | |
332 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); | |
333 | |
334 // Deadline does not DrawAndSwap when not visible. | |
335 EXPECT_EQ(1, client_.draw_and_swap_count()); | |
336 scheduler_.BeginFrameDeadlineForTest(); | |
337 EXPECT_EQ(1, client_.draw_and_swap_count()); | |
338 // Now it stops listening for begin frames. | |
339 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
340 | |
341 // Does not start listening for begin frames when becoming visible without | |
342 // damage. | |
343 scheduler_.SetVisible(true); | |
344 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
345 scheduler_.SetVisible(false); | |
346 | |
347 // Does not start listening for begin frames when damage arrives. | |
348 scheduler_.SurfaceDamaged(sid1); | |
349 EXPECT_EQ(0u, fake_begin_frame_source_.num_observers()); | |
350 | |
351 // But does when becoming visible with damage again. | |
352 scheduler_.SetVisible(true); | |
353 EXPECT_EQ(1u, fake_begin_frame_source_.num_observers()); | |
354 } | |
355 | |
270 TEST_F(DisplaySchedulerTest, ResizeCausesSwap) { | 356 TEST_F(DisplaySchedulerTest, ResizeCausesSwap) { |
271 SurfaceId root_surface_id(0, 0, 0); | 357 SurfaceId root_surface_id(0, 0, 0); |
272 SurfaceId sid1(0, 1, 0); | 358 SurfaceId sid1(0, 1, 0); |
273 | 359 |
360 scheduler_.SetVisible(true); | |
361 | |
274 // Set the root surface | 362 // Set the root surface |
275 scheduler_.SetNewRootSurface(root_surface_id); | 363 scheduler_.SetNewRootSurface(root_surface_id); |
276 | 364 |
277 // DrawAndSwap normally. | 365 // DrawAndSwap normally. |
278 BeginFrameForTest(); | 366 BeginFrameForTest(); |
279 EXPECT_LT(now_src().NowTicks(), | 367 EXPECT_LT(now_src().NowTicks(), |
280 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 368 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
281 EXPECT_EQ(0, client_.draw_and_swap_count()); | 369 EXPECT_EQ(0, client_.draw_and_swap_count()); |
282 scheduler_.SurfaceDamaged(sid1); | 370 scheduler_.SurfaceDamaged(sid1); |
283 scheduler_.BeginFrameDeadlineForTest(); | 371 scheduler_.BeginFrameDeadlineForTest(); |
284 EXPECT_EQ(1, client_.draw_and_swap_count()); | 372 EXPECT_EQ(1, client_.draw_and_swap_count()); |
285 | 373 |
286 scheduler_.DisplayResized(); | 374 scheduler_.DisplayResized(); |
287 BeginFrameForTest(); | 375 BeginFrameForTest(); |
288 // DisplayResized should trigger a swap to happen. | 376 // DisplayResized should trigger a swap to happen. |
289 scheduler_.BeginFrameDeadlineForTest(); | 377 scheduler_.BeginFrameDeadlineForTest(); |
290 EXPECT_EQ(2, client_.draw_and_swap_count()); | 378 EXPECT_EQ(2, client_.draw_and_swap_count()); |
291 } | 379 } |
292 | 380 |
293 TEST_F(DisplaySchedulerTest, RootSurfaceResourcesLocked) { | 381 TEST_F(DisplaySchedulerTest, RootSurfaceResourcesLocked) { |
294 SurfaceId root_surface_id(0, 0, 0); | 382 SurfaceId root_surface_id(0, 0, 0); |
295 SurfaceId sid1(0, 1, 0); | 383 SurfaceId sid1(0, 1, 0); |
296 base::TimeTicks late_deadline; | 384 base::TimeTicks late_deadline; |
297 | 385 |
386 scheduler_.SetVisible(true); | |
387 | |
298 // Set the root surface | 388 // Set the root surface |
299 scheduler_.SetNewRootSurface(root_surface_id); | 389 scheduler_.SetNewRootSurface(root_surface_id); |
300 | 390 |
301 // DrawAndSwap normally. | 391 // DrawAndSwap normally. |
302 BeginFrameForTest(); | 392 BeginFrameForTest(); |
303 EXPECT_LT(now_src().NowTicks(), | 393 EXPECT_LT(now_src().NowTicks(), |
304 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 394 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
305 EXPECT_EQ(0, client_.draw_and_swap_count()); | 395 EXPECT_EQ(0, client_.draw_and_swap_count()); |
306 scheduler_.SurfaceDamaged(sid1); | 396 scheduler_.SurfaceDamaged(sid1); |
307 scheduler_.BeginFrameDeadlineForTest(); | 397 scheduler_.BeginFrameDeadlineForTest(); |
(...skipping 26 matching lines...) Expand all Loading... | |
334 EXPECT_EQ(1, client_.draw_and_swap_count()); | 424 EXPECT_EQ(1, client_.draw_and_swap_count()); |
335 scheduler_.BeginFrameDeadlineForTest(); | 425 scheduler_.BeginFrameDeadlineForTest(); |
336 EXPECT_EQ(2, client_.draw_and_swap_count()); | 426 EXPECT_EQ(2, client_.draw_and_swap_count()); |
337 } | 427 } |
338 | 428 |
339 TEST_F(DisplaySchedulerTest, DidSwapBuffers) { | 429 TEST_F(DisplaySchedulerTest, DidSwapBuffers) { |
340 SurfaceId root_surface_id(0, 0, 0); | 430 SurfaceId root_surface_id(0, 0, 0); |
341 SurfaceId sid1(0, 1, 0); | 431 SurfaceId sid1(0, 1, 0); |
342 SurfaceId sid2(0, 2, 0); | 432 SurfaceId sid2(0, 2, 0); |
343 | 433 |
434 scheduler_.SetVisible(true); | |
435 | |
344 // Set the root surface | 436 // Set the root surface |
345 scheduler_.SetNewRootSurface(root_surface_id); | 437 scheduler_.SetNewRootSurface(root_surface_id); |
346 | 438 |
347 // Get scheduler to detect surface 1 and 2 as active. | 439 // Get scheduler to detect surface 1 and 2 as active. |
348 BeginFrameForTest(); | 440 BeginFrameForTest(); |
349 scheduler_.SurfaceDamaged(sid1); | 441 scheduler_.SurfaceDamaged(sid1); |
350 scheduler_.SurfaceDamaged(sid2); | 442 scheduler_.SurfaceDamaged(sid2); |
351 scheduler_.BeginFrameDeadlineForTest(); | 443 scheduler_.BeginFrameDeadlineForTest(); |
352 BeginFrameForTest(); | 444 BeginFrameForTest(); |
353 scheduler_.SurfaceDamaged(sid1); | 445 scheduler_.SurfaceDamaged(sid1); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
398 scheduler_.BeginFrameDeadlineForTest(); | 490 scheduler_.BeginFrameDeadlineForTest(); |
399 EXPECT_EQ(4, client_.draw_and_swap_count()); | 491 EXPECT_EQ(4, client_.draw_and_swap_count()); |
400 } | 492 } |
401 | 493 |
402 // This test verfies that we try to reschedule the deadline | 494 // This test verfies that we try to reschedule the deadline |
403 // after any event that may change what deadline we want. | 495 // after any event that may change what deadline we want. |
404 TEST_F(DisplaySchedulerTest, ScheduleBeginFrameDeadline) { | 496 TEST_F(DisplaySchedulerTest, ScheduleBeginFrameDeadline) { |
405 SurfaceId root_surface_id(0, 1, 0); | 497 SurfaceId root_surface_id(0, 1, 0); |
406 SurfaceId sid1(0, 2, 0); | 498 SurfaceId sid1(0, 2, 0); |
407 int count = 1; | 499 int count = 1; |
408 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 500 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count()); |
sunnyps
2016/08/16 20:18:13
This isn't related to your CL but I think this tes
danakj
2016/08/16 20:33:06
Ya it's just making sure each function calls Sched
| |
409 | 501 |
410 // Set the root surface | 502 scheduler_.SetVisible(true); |
503 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | |
504 | |
505 scheduler_.SetVisible(true); | |
506 EXPECT_EQ(count, scheduler_.scheduler_begin_frame_deadline_count()); | |
507 | |
508 scheduler_.SetVisible(false); | |
509 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | |
510 | |
511 // Set the root surface while not visible. | |
411 scheduler_.SetNewRootSurface(root_surface_id); | 512 scheduler_.SetNewRootSurface(root_surface_id); |
412 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 513 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
514 | |
515 scheduler_.SetVisible(true); | |
516 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | |
517 | |
518 // Set the root surface while visible. | |
519 scheduler_.SetNewRootSurface(root_surface_id); | |
520 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | |
413 | 521 |
414 BeginFrameForTest(); | 522 BeginFrameForTest(); |
415 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 523 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
416 | 524 |
417 scheduler_.BeginFrameDeadlineForTest(); | 525 scheduler_.BeginFrameDeadlineForTest(); |
418 scheduler_.DidSwapBuffers(); | 526 scheduler_.DidSwapBuffers(); |
419 BeginFrameForTest(); | 527 BeginFrameForTest(); |
420 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 528 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
421 | 529 |
422 scheduler_.DidSwapBuffersComplete(); | 530 scheduler_.DidSwapBuffersComplete(); |
423 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 531 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
424 | 532 |
425 scheduler_.DisplayResized(); | 533 scheduler_.DisplayResized(); |
426 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 534 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
427 | 535 |
428 scheduler_.SetNewRootSurface(root_surface_id); | 536 scheduler_.SetNewRootSurface(root_surface_id); |
429 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 537 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
430 | 538 |
431 scheduler_.SurfaceDamaged(sid1); | 539 scheduler_.SurfaceDamaged(sid1); |
432 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 540 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
433 | 541 |
434 scheduler_.SetRootSurfaceResourcesLocked(true); | 542 scheduler_.SetRootSurfaceResourcesLocked(true); |
435 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 543 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
436 | 544 |
437 scheduler_.OutputSurfaceLost(); | 545 scheduler_.OutputSurfaceLost(); |
438 EXPECT_EQ(count++, scheduler_.scheduler_begin_frame_deadline_count()); | 546 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
439 } | 547 } |
440 | 548 |
441 } // namespace | 549 } // namespace |
442 } // namespace cc | 550 } // namespace cc |
OLD | NEW |