Index: device/vr/android/gvr/gvr_device_provider.cc |
diff --git a/device/vr/android/gvr/gvr_device_provider.cc b/device/vr/android/gvr/gvr_device_provider.cc |
index 2581f7b6ef55de14c79ae82b9b16a31f453a9c24..f3e34acb87fb03775295e55fccf6dad783c23a5f 100644 |
--- a/device/vr/android/gvr/gvr_device_provider.cc |
+++ b/device/vr/android/gvr/gvr_device_provider.cc |
@@ -26,12 +26,15 @@ namespace device { |
GvrDeviceProvider::GvrDeviceProvider() : weak_ptr_factory_(this) {} |
GvrDeviceProvider::~GvrDeviceProvider() { |
+ GamepadDataFetcherManager::GetInstance()->RemoveSourceFactory( |
+ GAMEPAD_SOURCE_GVR); |
+ |
device::GvrDelegateProvider* delegate_provider = |
device::GvrDelegateProvider::GetInstance(); |
- if (delegate_provider) |
+ if (delegate_provider) { |
+ delegate_provider->ExitWebVRPresent(); |
delegate_provider->DestroyNonPresentingDelegate(); |
- |
- ExitPresent(); |
+ } |
} |
void GvrDeviceProvider::GetDevices(std::vector<VRDevice*>* devices) { |