| Index: cc/surfaces/display_scheduler_unittest.cc
|
| diff --git a/cc/surfaces/display_scheduler_unittest.cc b/cc/surfaces/display_scheduler_unittest.cc
|
| index ab526f8fee569d8d428646197e131b5a587aae93..7fedbc77c64519b0d5146f9b41ce1206b0fda0a2 100644
|
| --- a/cc/surfaces/display_scheduler_unittest.cc
|
| +++ b/cc/surfaces/display_scheduler_unittest.cc
|
| @@ -116,9 +116,13 @@ TEST_F(DisplaySchedulerTest, EntireDisplayDamagedDrawsImmediately) {
|
| }
|
|
|
| TEST_F(DisplaySchedulerTest, SurfaceDamaged) {
|
| + SurfaceId root_surface_id(0);
|
| SurfaceId sid1(1);
|
| SurfaceId sid2(2);
|
|
|
| + // Set the root surface
|
| + scheduler_->EntireDisplayDamaged(root_surface_id);
|
| +
|
| // Get scheduler to detect surface 1 as active by drawing
|
| // two frames in a row with damage from surface 1.
|
| BeginFrameForTest();
|
| @@ -157,6 +161,22 @@ TEST_F(DisplaySchedulerTest, SurfaceDamaged) {
|
| EXPECT_GE(now_src().Now(),
|
| scheduler_->DesiredBeginFrameDeadlineTimeForTest());
|
| scheduler_->BeginFrameDeadlineForTest();
|
| +
|
| + // Make the system idle
|
| + BeginFrameForTest();
|
| + scheduler_->BeginFrameDeadlineForTest();
|
| + BeginFrameForTest();
|
| + scheduler_->BeginFrameDeadlineForTest();
|
| +
|
| + // Deadline should trigger early if child surfaces are idle and
|
| + // we get damage on the root surface.
|
| + BeginFrameForTest();
|
| + EXPECT_LT(now_src().Now(),
|
| + scheduler_->DesiredBeginFrameDeadlineTimeForTest());
|
| + scheduler_->SurfaceDamaged(root_surface_id);
|
| + EXPECT_GE(now_src().Now(),
|
| + scheduler_->DesiredBeginFrameDeadlineTimeForTest());
|
| + scheduler_->BeginFrameDeadlineForTest();
|
| }
|
|
|
| TEST_F(DisplaySchedulerTest, OutputSurfaceLost) {
|
|
|