Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index b44691dc57a9f4df6a18592fbf89559507476de8..e17a3129c95cbae09d2c804e6cfa5d4074dcfbde 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -103,6 +103,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/vr_dispatcher.h" |
#include "content/renderer/web_ui_extension.h" |
#include "content/renderer/websharedworker_proxy.h" |
#include "gin/modules/module_registry.h" |
@@ -699,6 +700,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)); |
@@ -3780,6 +3782,15 @@ blink::WebAppBannerClient* RenderFrameImpl::appBannerClient() { |
return app_banner_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(), |