| Index: chrome/browser/android/vr_shell/vr_shell.cc
|
| diff --git a/chrome/browser/android/vr_shell/vr_shell.cc b/chrome/browser/android/vr_shell/vr_shell.cc
|
| index 57ec87c91077ef94eff8c77a98ee358cf9343c96..84a2b0e0d84951baa498938afd4ffb0679304ade 100644
|
| --- a/chrome/browser/android/vr_shell/vr_shell.cc
|
| +++ b/chrome/browser/android/vr_shell/vr_shell.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "chrome/browser/android/vr_shell/vr_gl_util.h"
|
| #include "chrome/browser/android/vr_shell/vr_math.h"
|
| +#include "chrome/browser/android/vr_shell/vr_shell_delegate.h"
|
| #include "chrome/browser/android/vr_shell/vr_shell_renderer.h"
|
| #include "jni/VrShell_jni.h"
|
| #include "ui/gl/gl_bindings.h"
|
| @@ -37,7 +38,8 @@ namespace vr_shell {
|
| VrShell::VrShell(JNIEnv* env, jobject obj)
|
| : desktop_screen_tilt_(kDesktopScreenTiltDefault),
|
| desktop_height_(kDesktopHeightDefault),
|
| - desktop_position_(kDesktopPositionDefault) {
|
| + desktop_position_(kDesktopPositionDefault),
|
| + delegate_(nullptr) {
|
| j_vr_shell_.Reset(env, obj);
|
| ui_rects_.emplace_back(new ContentRectangle());
|
| desktop_plane_ = ui_rects_.back().get();
|
| @@ -63,7 +65,12 @@ bool RegisterVrShell(JNIEnv* env) {
|
| }
|
|
|
| VrShell::~VrShell() {
|
| - device::GvrDelegateManager::GetInstance()->Shutdown();
|
| +}
|
| +
|
| +void VrShell::SetDelegate(JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj,
|
| + jlong native_delegate) {
|
| + delegate_ = reinterpret_cast<VrShellDelegate*>(native_delegate);
|
| }
|
|
|
| void VrShell::GvrInit(JNIEnv* env,
|
| @@ -72,7 +79,8 @@ void VrShell::GvrInit(JNIEnv* env,
|
| gvr_api_ =
|
| gvr::GvrApi::WrapNonOwned(reinterpret_cast<gvr_context*>(native_gvr_api));
|
|
|
| - device::GvrDelegateManager::GetInstance()->Initialize(this);
|
| + if (delegate_)
|
| + delegate_->OnVrShellReady(this);
|
| }
|
|
|
| void VrShell::InitializeGl(JNIEnv* env,
|
| @@ -251,12 +259,10 @@ void VrShell::OnResume(JNIEnv* env, const JavaParamRef<jobject>& obj) {
|
| gvr_api_->ResumeTracking();
|
| }
|
|
|
| -void VrShell::RequestWebVRPresent() {
|
| - webvr_mode_ = true;
|
| -}
|
| -
|
| -void VrShell::ExitWebVRPresent() {
|
| - webvr_mode_ = false;
|
| +void VrShell::SetWebVrMode(JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj,
|
| + bool enabled) {
|
| + webvr_mode_ = enabled;
|
| }
|
|
|
| void VrShell::SubmitWebVRFrame() {
|
|
|