Index: chrome/browser/android/vr_shell/vr_shell_gl.cc |
diff --git a/chrome/browser/android/vr_shell/vr_shell_gl.cc b/chrome/browser/android/vr_shell/vr_shell_gl.cc |
index d91f22a0d554d1514abbeef42500f35639faa0c7..26753d538d7031816e78a0d098d4cf41136a301c 100644 |
--- a/chrome/browser/android/vr_shell/vr_shell_gl.cc |
+++ b/chrome/browser/android/vr_shell/vr_shell_gl.cc |
@@ -430,6 +430,11 @@ void VrShellGl::GvrInit(gvr_context* gvr_api) { |
} |
UMA_HISTOGRAM_ENUMERATION("VRViewerType", static_cast<int>(viewerType), |
static_cast<int>(ViewerType::VIEWER_TYPE_MAX)); |
+ |
+ cardboard_ = (viewerType == ViewerType::CARDBOARD); |
+ if (cardboard_ && web_vr_mode_) { |
+ browser_->ToggleCardboardGamepad(true); |
+ } |
} |
void VrShellGl::InitializeRenderer() { |
@@ -513,7 +518,8 @@ void VrShellGl::UpdateController(const gfx::Vector3dF& head_direction) { |
controller_->UpdateState(head_direction); |
pointer_start_ = controller_->GetPointerStart(); |
- browser_->UpdateGamepadData(controller_->GetGamepadData()); |
+ device::GvrGamepadData controller_data = controller_->GetGamepadData(); |
+ browser_->UpdateGamepadData(controller_data); |
} |
void VrShellGl::HandleControllerInput(const gfx::Vector3dF& head_direction) { |
@@ -1338,6 +1344,11 @@ void VrShellGl::OnResume() { |
void VrShellGl::SetWebVrMode(bool enabled) { |
web_vr_mode_ = enabled; |
+ |
+ if (cardboard_) { |
+ browser_->ToggleCardboardGamepad(enabled); |
+ } |
+ |
if (!enabled) { |
submit_client_.reset(); |
} |