| Index: device/vr/vr_device.cc
|
| diff --git a/device/vr/vr_device.cc b/device/vr/vr_device.cc
|
| index efcd0a393c32728f71f830ef6cc652a129aa8593..59abe735e72a5aae48fc94dcf57035139cfe4ca1 100644
|
| --- a/device/vr/vr_device.cc
|
| +++ b/device/vr/vr_device.cc
|
| @@ -18,7 +18,7 @@ VRDevice::VRDevice() : presenting_service_(nullptr), id_(next_id_) {
|
|
|
| VRDevice::~VRDevice() {}
|
|
|
| -bool VRDevice::RequestPresent(VRServiceImpl* service, bool secure_origin) {
|
| +bool VRDevice::RequestPresent(bool secure_origin) {
|
| return true;
|
| };
|
|
|
| @@ -29,7 +29,8 @@ void VRDevice::AddService(VRServiceImpl* service) {
|
| }
|
|
|
| void VRDevice::RemoveService(VRServiceImpl* service) {
|
| - ExitPresent(service);
|
| + if (IsPresentingService(service))
|
| + ExitPresent();
|
| displays_.erase(service);
|
| }
|
|
|
| @@ -50,10 +51,12 @@ void VRDevice::OnDisplayChanged() {
|
| display.second->client()->OnDisplayChanged(vr_device_info.Clone());
|
| }
|
|
|
| -void VRDevice::OnExitPresent(VRServiceImpl* service) {
|
| - DisplayClientMap::iterator it = displays_.find(service);
|
| +void VRDevice::OnExitPresent() {
|
| + DisplayClientMap::iterator it = displays_.find(presenting_service_);
|
| if (it != displays_.end())
|
| it->second->client()->OnExitPresent();
|
| +
|
| + SetPresentingService(nullptr);
|
| }
|
|
|
| void VRDevice::OnDisplayBlur() {
|
| @@ -66,4 +69,8 @@ void VRDevice::OnDisplayFocus() {
|
| display.second->client()->OnDisplayFocus();
|
| }
|
|
|
| +void VRDevice::SetPresentingService(VRServiceImpl* service) {
|
| + presenting_service_ = service;
|
| +}
|
| +
|
| } // namespace device
|
|
|