| Index: content/public/android/javatests/src/org/chromium/content/browser/VSyncMonitorTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/VSyncMonitorTest.java b/content/public/android/javatests/src/org/chromium/content/browser/VSyncMonitorTest.java
|
| index 65153f71824148895982a7b5ddc08e9c1292c15b..7b34461316b3fcac311907fe7269a45144d2a635 100644
|
| --- a/content/public/android/javatests/src/org/chromium/content/browser/VSyncMonitorTest.java
|
| +++ b/content/public/android/javatests/src/org/chromium/content/browser/VSyncMonitorTest.java
|
| @@ -127,4 +127,21 @@
|
| assertTrue(monitor.getVSyncPeriodInMicroseconds() < 1000000 / 30);
|
| }
|
| }
|
| +
|
| + @MediumTest
|
| + public void testVSyncActivationFromIdle() throws InterruptedException {
|
| + // Check that the vsync period roughly matches the timestamps that the monitor generates.
|
| + VSyncDataCollector collector = new VSyncDataCollector(1);
|
| + VSyncMonitor monitor = createVSyncMonitor(collector);
|
| +
|
| + requestVSyncMonitorUpdate(monitor);
|
| + collector.waitTillDone();
|
| + assertTrue(collector.isDone());
|
| +
|
| + long period = monitor.getVSyncPeriodInMicroseconds() / 1000;
|
| + long delay = SystemClock.uptimeMillis() - collector.mLastVSyncCpuTimeMillis;
|
| +
|
| + // The VSync should have activated immediately instead of at the next real vsync.
|
| + assertTrue(delay < period);
|
| + }
|
| }
|
|
|