Index: content/renderer/renderer_blink_platform_impl.cc |
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc |
index 2ac75e6a7b8d357af2e1b661b8cc4eac144cfff2..9b4c8639f26c37fd4ce0dafb7d13770eb8b70f06 100644 |
--- a/content/renderer/renderer_blink_platform_impl.cc |
+++ b/content/renderer/renderer_blink_platform_impl.cc |
@@ -54,6 +54,7 @@ |
#include "content/renderer/scheduler/web_scheduler_impl.h" |
#include "content/renderer/scheduler/webthread_impl_for_scheduler.h" |
#include "content/renderer/screen_orientation/screen_orientation_observer.h" |
+#include "content/renderer/vr_dispatcher.h" |
#include "content/renderer/webclipboard_impl.h" |
#include "content/renderer/webgraphicscontext3d_provider_impl.h" |
#include "content/renderer/webpublicsuffixlist_impl.h" |
@@ -78,6 +79,7 @@ |
#include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h" |
#include "third_party/WebKit/public/platform/WebPluginListBuilder.h" |
#include "third_party/WebKit/public/platform/WebURL.h" |
+#include "third_party/WebKit/public/platform/WebVR.h" |
#include "third_party/WebKit/public/platform/WebVector.h" |
#include "ui/gfx/color_profile.h" |
#include "url/gurl.h" |
@@ -841,6 +843,51 @@ void RendererBlinkPlatformImpl::sampleGamepads(WebGamepads& gamepads) { |
//------------------------------------------------------------------------------ |
+void RendererBlinkPlatformImpl::getVRDevices( |
+ blink::WebVector<blink::WebVRDevice>* devices) { |
+ RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
+ DCHECK(render_thread); |
+ if (!render_thread) |
+ return; |
+ |
+ render_thread->vr_dispatcher()->GetVRDevices(devices); |
+} |
+ |
+void RendererBlinkPlatformImpl::getHMDSensorState( |
+ unsigned index, blink::WebHMDSensorState& into) { |
+ RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
+ DCHECK(render_thread); |
+ if (!render_thread) |
+ return; |
+ |
+ render_thread->vr_dispatcher()->GetSensorState(index, into); |
+} |
+ |
+void RendererBlinkPlatformImpl::resetVRSensor(unsigned index) { |
+ RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
+ DCHECK(render_thread); |
+ if (!render_thread) |
+ return; |
+ |
+ render_thread->vr_dispatcher()->ResetSensor(index); |
+} |
+ |
+void RendererBlinkPlatformImpl::getVRRenderTargetRects(unsigned index, |
+ blink::WebVRFieldOfView leftFov, |
+ blink::WebVRFieldOfView rightFov, |
+ blink::WebVRVector4* leftRect, |
+ blink::WebVRVector4* rightRect) { |
+ RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
+ DCHECK(render_thread); |
+ if (!render_thread) |
+ return; |
+ |
+ render_thread->vr_dispatcher()->GetRenderTargetRects( |
+ index, leftFov, rightFov, leftRect, rightRect); |
+} |
+ |
+//------------------------------------------------------------------------------ |
+ |
WebRTCPeerConnectionHandler* |
RendererBlinkPlatformImpl::createRTCPeerConnectionHandler( |
WebRTCPeerConnectionHandlerClient* client) { |