Index: ui/android/window_android.h |
diff --git a/ui/android/window_android.h b/ui/android/window_android.h |
index b7763acf5824dc495afbf9cc68183f45b11feaa0..54b57fc89fd32abfaa12a482e28615ab6e8635de 100644 |
--- a/ui/android/window_android.h |
+++ b/ui/android/window_android.h |
@@ -6,6 +6,7 @@ |
#define UI_ANDROID_WINDOW_ANDROID_H_ |
#include <jni.h> |
+#include <memory> |
#include <string> |
#include <vector> |
@@ -18,9 +19,13 @@ |
#include "ui/android/view_android.h" |
#include "ui/gfx/geometry/vector2d_f.h" |
+namespace cc { |
+class BeginFrameSource; |
+} // namespace cc |
+ |
namespace display { |
class DisplayAndroidManager; |
-} |
+} // namespace display |
namespace ui { |
@@ -59,8 +64,8 @@ class UI_ANDROID_EXPORT WindowAndroid : public ViewAndroid { |
void RemoveObserver(WindowAndroidObserver* observer); |
WindowAndroidCompositor* GetCompositor() { return compositor_; } |
+ cc::BeginFrameSource* GetBeginFrameSource(); |
- void RequestVSyncUpdate(); |
void SetNeedsAnimate(); |
void Animate(base::TimeTicks begin_frame_time); |
void OnVSync(JNIEnv* env, |
@@ -86,10 +91,15 @@ class UI_ANDROID_EXPORT WindowAndroid : public ViewAndroid { |
void DestroyForTesting(); |
private: |
+ class WindowBeginFrameSource; |
friend class DisplayAndroidManager; |
+ friend class WindowBeginFrameSource; |
~WindowAndroid() override; |
+ void SetNeedsBeginFrames(bool needs_begin_frames); |
+ void RequestVSyncUpdate(); |
+ |
// ViewAndroid overrides. |
WindowAndroid* GetWindowAndroid() const override; |
@@ -103,6 +113,9 @@ class UI_ANDROID_EXPORT WindowAndroid : public ViewAndroid { |
base::ObserverList<WindowAndroidObserver> observer_list_; |
+ std::unique_ptr<WindowBeginFrameSource> begin_frame_source_; |
+ bool needs_begin_frames_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WindowAndroid); |
}; |