Commit 4bc9a3ab authored by Brandon Jones's avatar Brandon Jones Committed by Commit Bot

Remove XRRuntime::SetInlinePosesEnabled

This method only served to pause inline sessions from updating their
poses in VRB. Now that VRB has been removed we no longer need it.

Bug: 1017477
Change-Id: I1d93ce690550b5e8c282c4ceacb731b59799dc0e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2422708Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
Reviewed-by: default avatarKlaus Weidner <klausw@chromium.org>
Reviewed-by: default avatarChris Palmer <palmer@chromium.org>
Reviewed-by: default avatarBrandon Jones <bajones@chromium.org>
Reviewed-by: default avatarAlexander Cooper <alcooper@chromium.org>
Auto-Submit: Brandon Jones <bajones@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#810937}
parent 2dc7fd65
...@@ -32,15 +32,6 @@ namespace vr { ...@@ -32,15 +32,6 @@ namespace vr {
namespace { namespace {
void SetInlineVrEnabled(content::XRRuntimeManager& runtime_manager,
bool enable) {
runtime_manager.ForEachRuntime(base::BindRepeating(
[](bool enable, content::BrowserXRRuntime* runtime) {
runtime->SetInlinePosesEnabled(enable);
},
enable));
}
class VrShellDelegateProviderFactory class VrShellDelegateProviderFactory
: public device::GvrDelegateProviderFactory { : public device::GvrDelegateProviderFactory {
public: public:
...@@ -63,12 +54,10 @@ VrShellDelegate::VrShellDelegate(JNIEnv* env, jobject obj) ...@@ -63,12 +54,10 @@ VrShellDelegate::VrShellDelegate(JNIEnv* env, jobject obj)
: task_runner_(base::ThreadTaskRunnerHandle::Get()) { : task_runner_(base::ThreadTaskRunnerHandle::Get()) {
DVLOG(1) << __FUNCTION__ << "=" << this; DVLOG(1) << __FUNCTION__ << "=" << this;
j_vr_shell_delegate_.Reset(env, obj); j_vr_shell_delegate_.Reset(env, obj);
content::XRRuntimeManager::AddObserver(this);
} }
VrShellDelegate::~VrShellDelegate() { VrShellDelegate::~VrShellDelegate() {
DVLOG(1) << __FUNCTION__ << "=" << this; DVLOG(1) << __FUNCTION__ << "=" << this;
content::XRRuntimeManager::RemoveObserver(this);
device::GvrDevice* gvr_device = GetGvrDevice(); device::GvrDevice* gvr_device = GetGvrDevice();
if (gvr_device) if (gvr_device)
gvr_device->OnExitPresent(); gvr_device->OnExitPresent();
...@@ -94,17 +83,6 @@ VrShellDelegate* VrShellDelegate::GetNativeVrShellDelegate( ...@@ -94,17 +83,6 @@ VrShellDelegate* VrShellDelegate::GetNativeVrShellDelegate(
void VrShellDelegate::SetDelegate(VrShell* vr_shell) { void VrShellDelegate::SetDelegate(VrShell* vr_shell) {
vr_shell_ = vr_shell; vr_shell_ = vr_shell;
// When VrShell is created, we disable magic window mode as the user is inside
// the headset. As currently implemented, orientation-based magic window
// doesn't make sense when the window is fixed and the user is moving.
auto* xr_runtime_manager = content::XRRuntimeManager::GetInstanceIfCreated();
if (xr_runtime_manager) {
// If the XRRuntimeManager singleton currently exists, this will disable
// inline VR. Otherwise, the callback for 'XRRuntimeManager::Observer'
// ('OnRuntimeAdded') will take care of it.
SetInlineVrEnabled(*xr_runtime_manager, false);
}
if (pending_successful_present_request_) { if (pending_successful_present_request_) {
CHECK(!on_present_result_callback_.is_null()); CHECK(!on_present_result_callback_.is_null());
pending_successful_present_request_ = false; pending_successful_present_request_ = false;
...@@ -120,11 +98,6 @@ void VrShellDelegate::RemoveDelegate() { ...@@ -120,11 +98,6 @@ void VrShellDelegate::RemoveDelegate() {
std::move(on_present_result_callback_).Run(false); std::move(on_present_result_callback_).Run(false);
} }
auto* xr_runtime_manager = content::XRRuntimeManager::GetInstanceIfCreated();
if (xr_runtime_manager) {
SetInlineVrEnabled(*xr_runtime_manager, true);
}
device::GvrDevice* gvr_device = GetGvrDevice(); device::GvrDevice* gvr_device = GetGvrDevice();
if (gvr_device) if (gvr_device)
gvr_device->OnExitPresent(); gvr_device->OnExitPresent();
...@@ -230,15 +203,6 @@ void VrShellDelegate::ExitWebVRPresent() { ...@@ -230,15 +203,6 @@ void VrShellDelegate::ExitWebVRPresent() {
gvr_device->OnExitPresent(); gvr_device->OnExitPresent();
} }
void VrShellDelegate::OnRuntimeAdded(content::BrowserXRRuntime* runtime) {
if (vr_shell_) {
// See comment in VrShellDelegate::SetDelegate. This handles the case where
// VrShell is created before the device code is initialized (like when
// entering VR browsing on a non-webVR page).
runtime->SetInlinePosesEnabled(false);
}
}
device::GvrDevice* VrShellDelegate::GetGvrDevice() { device::GvrDevice* VrShellDelegate::GetGvrDevice() {
return device::GvrDelegateProviderFactory::GetDevice(); return device::GvrDelegateProviderFactory::GetDevice();
} }
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include "base/callback.h" #include "base/callback.h"
#include "base/cancelable_callback.h" #include "base/cancelable_callback.h"
#include "base/macros.h" #include "base/macros.h"
#include "content/public/browser/xr_runtime_manager.h"
#include "device/vr/android/gvr/gvr_delegate_provider.h" #include "device/vr/android/gvr/gvr_delegate_provider.h"
#include "device/vr/public/mojom/vr_service.mojom.h" #include "device/vr/public/mojom/vr_service.mojom.h"
#include "device/vr/vr_device.h" #include "device/vr/vr_device.h"
...@@ -27,8 +26,7 @@ namespace vr { ...@@ -27,8 +26,7 @@ namespace vr {
class VrShell; class VrShell;
class VrShellDelegate : public device::GvrDelegateProvider, class VrShellDelegate : public device::GvrDelegateProvider {
content::XRRuntimeManager::Observer {
public: public:
VrShellDelegate(JNIEnv* env, jobject obj); VrShellDelegate(JNIEnv* env, jobject obj);
~VrShellDelegate() override; ~VrShellDelegate() override;
...@@ -66,14 +64,6 @@ class VrShellDelegate : public device::GvrDelegateProvider, ...@@ -66,14 +64,6 @@ class VrShellDelegate : public device::GvrDelegateProvider,
device::mojom::XRRuntimeSessionOptionsPtr options, device::mojom::XRRuntimeSessionOptionsPtr options,
base::OnceCallback<void(device::mojom::XRSessionPtr)> callback) override; base::OnceCallback<void(device::mojom::XRSessionPtr)> callback) override;
// content::XRRuntimeManager::Observer implementation.
// VrShellDelegate implements XRRuntimeManager::Observer to turn off poses (by
// calling SetInlinePosesEnabled) on a runtime that gets initialized and added
// to XRRuntimeManager, while the VrShell is active (user has headset on).
// As for the runtimes that got added to the XRRuntimeManager before the
// VrShell got created, their poses will be turned off too on its
// creation.
void OnRuntimeAdded(content::BrowserXRRuntime* runtime) override;
void OnPresentResult( void OnPresentResult(
device::mojom::VRDisplayInfoPtr display_info, device::mojom::VRDisplayInfoPtr display_info,
device::mojom::XRRuntimeSessionOptionsPtr options, device::mojom::XRRuntimeSessionOptionsPtr options,
......
...@@ -538,10 +538,6 @@ void BrowserXRRuntimeImpl::RemoveObserver(Observer* observer) { ...@@ -538,10 +538,6 @@ void BrowserXRRuntimeImpl::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer); observers_.RemoveObserver(observer);
} }
void BrowserXRRuntimeImpl::SetInlinePosesEnabled(bool enabled) {
runtime_->SetInlinePosesEnabled(enabled);
}
void BrowserXRRuntimeImpl::BeforeRuntimeRemoved() { void BrowserXRRuntimeImpl::BeforeRuntimeRemoved() {
DVLOG(1) << __func__ << ": id=" << id_; DVLOG(1) << __func__ << ": id=" << id_;
......
...@@ -80,7 +80,6 @@ class BrowserXRRuntimeImpl : public content::BrowserXRRuntime, ...@@ -80,7 +80,6 @@ class BrowserXRRuntimeImpl : public content::BrowserXRRuntime,
// BrowserXRRuntime // BrowserXRRuntime
void AddObserver(Observer* observer) override; void AddObserver(Observer* observer) override;
void RemoveObserver(Observer* observer) override; void RemoveObserver(Observer* observer) override;
void SetInlinePosesEnabled(bool enabled) override;
// Called to allow the runtime to conduct any cleanup it needs to do before it // Called to allow the runtime to conduct any cleanup it needs to do before it
// is removed. // is removed.
......
...@@ -36,7 +36,6 @@ class CONTENT_EXPORT BrowserXRRuntime { ...@@ -36,7 +36,6 @@ class CONTENT_EXPORT BrowserXRRuntime {
virtual void AddObserver(Observer* observer) = 0; virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0; virtual void RemoveObserver(Observer* observer) = 0;
virtual void SetInlinePosesEnabled(bool enabled) = 0;
}; };
} // namespace content } // namespace content
......
...@@ -170,10 +170,6 @@ void VROrientationDevice::GetInlineFrameData( ...@@ -170,10 +170,6 @@ void VROrientationDevice::GetInlineFrameData(
mojom::XRFrameDataProvider::GetFrameDataCallback callback) { mojom::XRFrameDataProvider::GetFrameDataCallback callback) {
// Orientation sessions should never be exclusive or presenting. // Orientation sessions should never be exclusive or presenting.
DCHECK(!HasExclusiveSession()); DCHECK(!HasExclusiveSession());
if (!inline_poses_enabled_) {
std::move(callback).Run(nullptr);
return;
}
mojom::VRPosePtr pose = mojom::VRPose::New(); mojom::VRPosePtr pose = mojom::VRPose::New();
......
...@@ -164,10 +164,6 @@ class VROrientationDeviceTest : public testing::Test { ...@@ -164,10 +164,6 @@ class VROrientationDeviceTest : public testing::Test {
} }
} }
void SetInlinePosesEnabled(bool enabled) {
device_->SetInlinePosesEnabled(enabled);
}
std::unique_ptr<VROrientationSession> MakeDisplay() { std::unique_ptr<VROrientationSession> MakeDisplay() {
mojo::PendingRemote<mojom::XRFrameDataProvider> data_provider; mojo::PendingRemote<mojom::XRFrameDataProvider> data_provider;
mojo::PendingRemote<mojom::XRSessionController> controller; mojo::PendingRemote<mojom::XRSessionController> controller;
...@@ -383,14 +379,6 @@ TEST_F(VROrientationDeviceTest, OrientationLandscape270Test) { ...@@ -383,14 +379,6 @@ TEST_F(VROrientationDeviceTest, OrientationLandscape270Test) {
})); }));
} }
TEST_F(VROrientationDeviceTest, NoMagicWindowPosesWhileBrowsing) {
InitializeDevice(FakeInitParams());
AssertInlineFrameDataAvailable(true);
SetInlinePosesEnabled(false);
AssertInlineFrameDataAvailable(false);
}
TEST_F(VROrientationDeviceTest, GetFrameDataHelper) { TEST_F(VROrientationDeviceTest, GetFrameDataHelper) {
InitializeDevice(FakeInitParams()); InitializeDevice(FakeInitParams());
......
...@@ -74,8 +74,6 @@ interface XRRuntime { ...@@ -74,8 +74,6 @@ interface XRRuntime {
ListenToDeviceChanges( ListenToDeviceChanges(
pending_associated_remote<XRRuntimeEventListener> listener) => pending_associated_remote<XRRuntimeEventListener> listener) =>
(VRDisplayInfo? display_info); (VRDisplayInfo? display_info);
SetInlinePosesEnabled(bool enable);
}; };
// Information required for rendering, used by ImmersiveOverlay. // Information required for rendering, used by ImmersiveOverlay.
......
...@@ -93,10 +93,6 @@ mojo::PendingRemote<mojom::XRRuntime> VRDeviceBase::BindXRRuntime() { ...@@ -93,10 +93,6 @@ mojo::PendingRemote<mojom::XRRuntime> VRDeviceBase::BindXRRuntime() {
return runtime_receiver_.BindNewPipeAndPassRemote(); return runtime_receiver_.BindNewPipeAndPassRemote();
} }
void VRDeviceBase::SetInlinePosesEnabled(bool enable) {
inline_poses_enabled_ = enable;
}
void LogViewerType(VrViewerType type) { void LogViewerType(VrViewerType type) {
base::UmaHistogramSparse("VRViewerType", static_cast<int>(type)); base::UmaHistogramSparse("VRViewerType", static_cast<int>(type));
} }
......
...@@ -32,7 +32,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime { ...@@ -32,7 +32,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime {
void ListenToDeviceChanges( void ListenToDeviceChanges(
mojo::PendingAssociatedRemote<mojom::XRRuntimeEventListener> listener, mojo::PendingAssociatedRemote<mojom::XRRuntimeEventListener> listener,
mojom::XRRuntime::ListenToDeviceChangesCallback callback) final; mojom::XRRuntime::ListenToDeviceChangesCallback callback) final;
void SetInlinePosesEnabled(bool enable) override;
void ShutdownSession(mojom::XRRuntime::ShutdownSessionCallback) override; void ShutdownSession(mojom::XRRuntime::ShutdownSessionCallback) override;
device::mojom::XRDeviceId GetId() const; device::mojom::XRDeviceId GetId() const;
...@@ -69,8 +68,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime { ...@@ -69,8 +68,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime {
mojom::VRDisplayInfoPtr display_info_; mojom::VRDisplayInfoPtr display_info_;
bool inline_poses_enabled_ = true;
private: private:
mojo::AssociatedRemote<mojom::XRRuntimeEventListener> listener_; mojo::AssociatedRemote<mojom::XRRuntimeEventListener> listener_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment