Index: third_party/WebKit/Source/modules/vr/VRDisplay.h |
diff --git a/third_party/WebKit/Source/modules/vr/VRDisplay.h b/third_party/WebKit/Source/modules/vr/VRDisplay.h |
index 4927e6190e2b0ea2a6d756562d7cd094d803e1cc..7721331a1c1e0ea83c021711ef7fe758496263fa 100644 |
--- a/third_party/WebKit/Source/modules/vr/VRDisplay.h |
+++ b/third_party/WebKit/Source/modules/vr/VRDisplay.h |
@@ -41,7 +41,8 @@ enum VREye { VREyeNone, VREyeLeft, VREyeRight }; |
class VRDisplay final : public EventTargetWithInlineData, |
public ActiveScriptWrappable<VRDisplay>, |
public ContextLifecycleObserver, |
- public device::mojom::blink::VRDisplayClient { |
+ public device::mojom::blink::VRDisplayClient, |
+ public device::mojom::blink::VRVSyncProviderClient { |
DEFINE_WRAPPERTYPEINFO(); |
USING_GARBAGE_COLLECTED_MIXIN(VRDisplay); |
USING_PRE_FINALIZER(VRDisplay, dispose); |
@@ -72,7 +73,6 @@ class VRDisplay final : public EventTargetWithInlineData, |
int requestAnimationFrame(FrameRequestCallback*); |
void cancelAnimationFrame(int id); |
- void serviceScriptedAnimations(double monotonicAnimationStartTime); |
ScriptPromise requestPresent(ScriptState*, const HeapVector<VRLayer>& layers); |
ScriptPromise exitPresent(ScriptState*); |
@@ -130,42 +130,49 @@ class VRDisplay final : public EventTargetWithInlineData, |
void OnFocus() override; |
void OnActivate(device::mojom::blink::VRDisplayEventReason) override; |
void OnDeactivate(device::mojom::blink::VRDisplayEventReason) override; |
+ void OnVRVsyncProviderReady(const OnVRVsyncProviderReadyCallback&) override; |
+ |
+ // VRVSyncProviderClient |
+ void OnVSync(device::mojom::blink::VRPosePtr, |
+ double timeSeconds, |
+ const OnVSyncCallback&) override; |
ScriptedAnimationController& ensureScriptedAnimationController(Document*); |
Member<NavigatorVR> m_navigatorVR; |
- unsigned m_displayId; |
+ unsigned m_displayId = 0; |
String m_displayName; |
- bool m_isConnected; |
- bool m_isPresenting; |
- bool m_isValidDeviceForPresenting; |
- bool m_canUpdateFramePose; |
+ bool m_isConnected = false; |
+ bool m_isPresenting = false; |
+ bool m_isValidDeviceForPresenting = true; |
+ bool m_canUpdateFramePose = true; |
Member<VRDisplayCapabilities> m_capabilities; |
Member<VRStageParameters> m_stageParameters; |
Member<VREyeParameters> m_eyeParametersLeft; |
Member<VREyeParameters> m_eyeParametersRight; |
device::mojom::blink::VRPosePtr m_framePose; |
VRLayer m_layer; |
- double m_depthNear; |
- double m_depthFar; |
+ double m_depthNear = 0.01; |
+ double m_depthFar = 10000.0; |
void dispose(); |
Timer<VRDisplay> m_fullscreenCheckTimer; |
String m_fullscreenOrigWidth; |
String m_fullscreenOrigHeight; |
- gpu::gles2::GLES2Interface* m_contextGL; |
+ gpu::gles2::GLES2Interface* m_contextGL = nullptr; |
Member<WebGLRenderingContextBase> m_renderingContext; |
Member<ScriptedAnimationController> m_scriptedAnimationController; |
- bool m_animationCallbackRequested; |
- bool m_inAnimationFrame; |
- bool m_displayBlurred; |
- bool m_reenteredFullscreen; |
+ bool m_inAnimationFrame = false; |
+ bool m_displayBlurred = false; |
+ bool m_reenteredFullscreen = false; |
device::mojom::blink::VRDisplayPtr m_display; |
- mojo::Binding<device::mojom::blink::VRDisplayClient> m_binding; |
+ mojo::Binding<device::mojom::blink::VRDisplayClient> m_displayClientBinding; |
+ mojo::Binding<device::mojom::blink::VRVSyncProviderClient> |
+ m_vsyncProviderClientBinding; |
HeapDeque<Member<ScriptPromiseResolver>> m_pendingPresentResolvers; |
}; |