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/surfaces/display_scheduler_unittest.cc

Issue 2238693002: Plumb SetVisible from ui::Compositor to the DirectRenderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: setvisible-browser: fix-new-cc-test Created 4 years, 4 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 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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698