Index: content/public/android/java/src/org/chromium/content/browser/VSyncManager.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/VSyncManager.java b/content/public/android/java/src/org/chromium/content/browser/VSyncManager.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1df30994ae1bdb2ed75e78c2a0f112d431d6b823 |
--- /dev/null |
+++ b/content/public/android/java/src/org/chromium/content/browser/VSyncManager.java |
@@ -0,0 +1,34 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.content.browser; |
+ |
+public abstract class VSyncManager { |
+ /** |
+ * Interface for requesting notification of the display vsync signal. |
+ * The provider will call Listener.onVSync() to notify about vsync. |
+ */ |
+ public static interface Provider { |
+ void setVSyncNotificationEnabled(Listener listener, boolean enable); |
+ } |
+ |
+ /** |
+ * Interface for receiving vsync notifications and information about the display refresh |
+ * interval. |
+ */ |
+ public static interface Listener { |
+ /** |
+ * Notification of a vsync event. |
+ * @param frameTimeMicros The latest vsync frame time in microseconds. |
+ */ |
+ void onVSync(long frameTimeMicros); |
+ |
+ /** |
+ * Update with the latest vsync parameters. |
+ * @param tickTimeMicros The latest vsync tick time in microseconds. |
+ * @param intervalMicros The vsync interval in microseconds. |
+ */ |
+ void updateVSync(long tickTimeMicros, long intervalMicros); |
+ } |
+} |