Index: device/vr/android/gvr/gvr_delegate.h |
diff --git a/device/vr/android/gvr/gvr_delegate.h b/device/vr/android/gvr/gvr_delegate.h |
index e0a4bdf9e28e1be68c5a2b2dce4e5cc36004ac5d..27c827451ba7ccc924cbff421552194b80f3f742 100644 |
--- a/device/vr/android/gvr/gvr_delegate.h |
+++ b/device/vr/android/gvr/gvr_delegate.h |
@@ -5,22 +5,29 @@ |
#ifndef DEVICE_VR_ANDROID_GVR_DELEGATE_H |
#define DEVICE_VR_ANDROID_GVR_DELEGATE_H |
+#include "device/vr/android/gvr/gvr_device_provider.h" |
#include "device/vr/vr_export.h" |
-#include "third_party/gvr-android-sdk/src/ndk-beta/include/vr/gvr/capi/include/gvr.h" |
- |
-namespace base { |
-template <typename Type> |
-struct DefaultSingletonTraits; |
-} // namespace base |
+namespace gvr { |
+class GvrApi; |
+} // namespace gvr |
namespace device { |
-class DEVICE_VR_EXPORT GvrDelegate { |
+class DEVICE_VR_EXPORT GvrDelegateProvider { |
public: |
- virtual void RequestWebVRPresent() = 0; |
+ static void SetInstance(GvrDelegateProvider* delegate_provider); |
+ static GvrDelegateProvider* GetInstance(); |
+ |
+ virtual bool RequestWebVRPresent(GvrDeviceProvider* device_provider) = 0; |
virtual void ExitWebVRPresent() = 0; |
+ private: |
+ static GvrDelegateProvider* delegate_provider_; |
+}; |
+ |
+class DEVICE_VR_EXPORT GvrDelegate { |
+ public: |
virtual void SubmitWebVRFrame() = 0; |
virtual void UpdateWebVRTextureBounds(int eye, |
float left, |
@@ -31,36 +38,6 @@ class DEVICE_VR_EXPORT GvrDelegate { |
virtual gvr::GvrApi* gvr_api() = 0; |
}; |
-class DEVICE_VR_EXPORT GvrDelegateClient { |
- public: |
- virtual void OnDelegateInitialized(GvrDelegate* delegate) = 0; |
- virtual void OnDelegateShutdown() = 0; |
-}; |
- |
-class DEVICE_VR_EXPORT GvrDelegateManager { |
- public: |
- static GvrDelegateManager* GetInstance(); |
- |
- void AddClient(GvrDelegateClient* client); |
- void RemoveClient(GvrDelegateClient* client); |
- |
- void Initialize(GvrDelegate* delegate); |
- void Shutdown(); |
- |
- GvrDelegate* delegate() { return delegate_; } |
- |
- private: |
- friend struct base::DefaultSingletonTraits<GvrDelegateManager>; |
- |
- GvrDelegateManager(); |
- ~GvrDelegateManager(); |
- |
- GvrDelegate* delegate_; |
- |
- using ClientList = std::vector<GvrDelegateClient*>; |
- ClientList clients_; |
-}; |
- |
} // namespace device |
#endif // DEVICE_VR_ANDROID_GVR_DELEGATE_H |