Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 1e7ead77c322959ec7507d72fa9a3ff93b87fd8b..0b23d7332b89ed998c59a225c28a5c01f0652404 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -102,6 +102,7 @@ |
#include "content/renderer/shared_worker_repository.h" |
#include "content/renderer/skia_benchmarking_extension.h" |
#include "content/renderer/stats_collection_controller.h" |
+#include "content/renderer/vr_dispatcher.h" |
#include "content/renderer/web_ui_extension.h" |
#include "content/renderer/websharedworker_proxy.h" |
#include "gin/modules/module_registry.h" |
@@ -689,6 +690,7 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
manifest_manager_(NULL), |
accessibility_mode_(AccessibilityModeOff), |
renderer_accessibility_(NULL), |
+ vr_dispatcher_(NULL), |
weak_factory_(this) { |
std::pair<RoutingIDFrameMap::iterator, bool> result = |
g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
@@ -3817,6 +3819,15 @@ blink::WebPermissionClient* RenderFrameImpl::permissionClient() { |
return permission_client_.get(); |
} |
+blink::WebVRClient* RenderFrameImpl::webVRClient() { |
+ // vr_dispatcher_ is a RenderFrameObserver and will be deleted when the frame |
+ // is destroyed, as described in render_frame_observer.h |
+ if (!vr_dispatcher_) |
+ vr_dispatcher_ = new VRDispatcher(this); |
+ |
+ return vr_dispatcher_; |
+} |
+ |
void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) { |
Send(new FrameHostMsg_MediaPlayingNotification( |
routing_id_, reinterpret_cast<int64>(player), player->hasVideo(), |