| Index: third_party/WebKit/Source/modules/vr/VRController.h
|
| diff --git a/third_party/WebKit/Source/modules/vr/VRController.h b/third_party/WebKit/Source/modules/vr/VRController.h
|
| index eb4e0eaa41bc5c2d2b779aefcdcf36cc6977296f..abc9b80378ba838ea030e06f88e28e625b2101e3 100644
|
| --- a/third_party/WebKit/Source/modules/vr/VRController.h
|
| +++ b/third_party/WebKit/Source/modules/vr/VRController.h
|
| @@ -7,12 +7,27 @@
|
|
|
| #include "core/frame/LocalFrameLifecycleObserver.h"
|
| #include "modules/ModulesExport.h"
|
| +#include "modules/vr/VRTypeConverters.h"
|
| #include "platform/Supplementable.h"
|
| -#include "public/platform/modules/vr/WebVR.h"
|
| -#include "public/platform/modules/vr/WebVRClient.h"
|
| +#include "wtf/HashSet.h"
|
|
|
| namespace blink {
|
|
|
| +class ServiceRegistry;
|
| +class VRGetDevicesCallback;
|
| +
|
| +class VRGetDevicesRequest {
|
| + USING_FAST_MALLOC(VRGetDevicesRequest);
|
| + WTF_MAKE_NONCOPYABLE(VRGetDevicesRequest);
|
| +public:
|
| + explicit VRGetDevicesRequest(VRGetDevicesCallback*);
|
| + ~VRGetDevicesRequest();
|
| + VRGetDevicesCallback* getDevicesCallback() const;
|
| +
|
| +private:
|
| + OwnPtr<VRGetDevicesCallback> m_getDevicesCallback;
|
| +};
|
| +
|
| class MODULES_EXPORT VRController final
|
| : public GarbageCollectedFinalized<VRController>
|
| , public Supplement<LocalFrame>
|
| @@ -22,25 +37,30 @@ class MODULES_EXPORT VRController final
|
| public:
|
| virtual ~VRController();
|
|
|
| - void getDevices(WebVRGetDevicesCallback*);
|
| + void getDevices(VRGetDevicesCallback*);
|
|
|
| void getSensorState(unsigned index, WebHMDSensorState& into);
|
|
|
| void resetSensor(unsigned index);
|
|
|
| - static void provideTo(LocalFrame&, WebVRClient*);
|
| + static void provideTo(LocalFrame&, ServiceRegistry*);
|
| static VRController* from(LocalFrame&);
|
| static const char* supplementName();
|
|
|
| DECLARE_VIRTUAL_TRACE();
|
|
|
| private:
|
| - VRController(LocalFrame&, WebVRClient*);
|
| + VRController(LocalFrame&, ServiceRegistry*);
|
|
|
| // Inherited from LocalFrameLifecycleObserver.
|
| void willDetachFrameHost() override;
|
|
|
| - WebVRClient* m_client;
|
| + // Binding callbacks.
|
| + void OnGetDevices(VRGetDevicesRequest*, const mojo::Array<mojom::VRDeviceInfoPtr>&);
|
| + void OnGetSensorState(WebHMDSensorState*, const mojom::VRSensorStatePtr&);
|
| +
|
| + WTF::HashSet<OwnPtr<VRGetDevicesRequest>> m_pendingRequests;
|
| + mojom::VRServicePtr m_service;
|
| };
|
|
|
| } // namespace blink
|
|
|