Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Side by Side Diff: device/vr/android/gvr/gvr_device_provider.cc

Issue 2552443002: WebVR: Add sanity checks for decoded pose index values (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "device/vr/android/gvr/gvr_device_provider.h" 5 #include "device/vr/android/gvr/gvr_device_provider.h"
6 6
7 #include <jni.h> 7 #include <jni.h>
8 8
9 #include "base/android/context_utils.h" 9 #include "base/android/context_utils.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // If we're presenting currently stop. 74 // If we're presenting currently stop.
75 GvrDelegateProvider* delegate_provider = GvrDelegateProvider::GetInstance(); 75 GvrDelegateProvider* delegate_provider = GvrDelegateProvider::GetInstance();
76 if (delegate_provider) 76 if (delegate_provider)
77 delegate_provider->ExitWebVRPresent(); 77 delegate_provider->ExitWebVRPresent();
78 } 78 }
79 79
80 void GvrDeviceProvider::OnGvrDelegateReady( 80 void GvrDeviceProvider::OnGvrDelegateReady(
81 const base::WeakPtr<GvrDelegate>& delegate) { 81 const base::WeakPtr<GvrDelegate>& delegate) {
82 if (!vr_device_) 82 if (!vr_device_)
83 return; 83 return;
84 VLOG(1) << "Switching to presenting delegate";
84 vr_device_->SetDelegate(delegate); 85 vr_device_->SetDelegate(delegate);
85 GamepadDataFetcherManager::GetInstance()->AddFactory( 86 GamepadDataFetcherManager::GetInstance()->AddFactory(
86 new GvrGamepadDataFetcher::Factory(delegate, vr_device_->id())); 87 new GvrGamepadDataFetcher::Factory(delegate, vr_device_->id()));
87 } 88 }
88 89
89 // VR presentation exit requested by the delegate (probably via UI). 90 // VR presentation exit requested by the delegate (probably via UI).
90 void GvrDeviceProvider::OnGvrDelegateRemoved() { 91 void GvrDeviceProvider::OnGvrDelegateRemoved() {
91 if (!vr_device_) 92 if (!vr_device_)
92 return; 93 return;
93 94
(...skipping 17 matching lines...) Expand all
111 if (!vr_device_) 112 if (!vr_device_)
112 return; 113 return;
113 vr_device_->OnActivate(mojom::VRDisplayEventReason::MOUNTED); 114 vr_device_->OnActivate(mojom::VRDisplayEventReason::MOUNTED);
114 } 115 }
115 116
116 void GvrDeviceProvider::SwitchToNonPresentingDelegate() { 117 void GvrDeviceProvider::SwitchToNonPresentingDelegate() {
117 GvrDelegateProvider* delegate_provider = GvrDelegateProvider::GetInstance(); 118 GvrDelegateProvider* delegate_provider = GvrDelegateProvider::GetInstance();
118 if (!vr_device_ || !delegate_provider) 119 if (!vr_device_ || !delegate_provider)
119 return; 120 return;
120 121
122 VLOG(1) << "Switching to non-presenting delegate";
121 vr_device_->SetDelegate(delegate_provider->GetNonPresentingDelegate()); 123 vr_device_->SetDelegate(delegate_provider->GetNonPresentingDelegate());
122 124
123 // Remove GVR gamepad polling. 125 // Remove GVR gamepad polling.
124 GamepadDataFetcherManager::GetInstance()->RemoveSourceFactory( 126 GamepadDataFetcherManager::GetInstance()->RemoveSourceFactory(
125 GAMEPAD_SOURCE_GVR); 127 GAMEPAD_SOURCE_GVR);
126 } 128 }
127 129
128 void GvrDeviceProvider::SetListeningForActivate(bool listening) { 130 void GvrDeviceProvider::SetListeningForActivate(bool listening) {
129 device::GvrDelegateProvider* delegate_provider = 131 device::GvrDelegateProvider* delegate_provider =
130 device::GvrDelegateProvider::GetInstance(); 132 device::GvrDelegateProvider::GetInstance();
131 if (!delegate_provider) 133 if (!delegate_provider)
132 return; 134 return;
133 135
134 delegate_provider->SetListeningForActivate(listening); 136 delegate_provider->SetListeningForActivate(listening);
135 } 137 }
136 138
137 } // namespace device 139 } // namespace device
OLDNEW
« no previous file with comments | « chrome/browser/android/vr_shell/vr_shell.cc ('k') | third_party/WebKit/Source/modules/vr/VRDisplay.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698