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 {
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
: public device::GvrDelegateProviderFactory {
public:
......@@ -63,12 +54,10 @@ VrShellDelegate::VrShellDelegate(JNIEnv* env, jobject obj)
: task_runner_(base::ThreadTaskRunnerHandle::Get()) {
DVLOG(1) << __FUNCTION__ << "=" << this;
j_vr_shell_delegate_.Reset(env, obj);
content::XRRuntimeManager::AddObserver(this);
}
VrShellDelegate::~VrShellDelegate() {
DVLOG(1) << __FUNCTION__ << "=" << this;
content::XRRuntimeManager::RemoveObserver(this);
device::GvrDevice* gvr_device = GetGvrDevice();
if (gvr_device)
gvr_device->OnExitPresent();
......@@ -94,17 +83,6 @@ VrShellDelegate* VrShellDelegate::GetNativeVrShellDelegate(
void VrShellDelegate::SetDelegate(VrShell* 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_) {
CHECK(!on_present_result_callback_.is_null());
pending_successful_present_request_ = false;
......@@ -120,11 +98,6 @@ void VrShellDelegate::RemoveDelegate() {
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();
if (gvr_device)
gvr_device->OnExitPresent();
......@@ -230,15 +203,6 @@ void VrShellDelegate::ExitWebVRPresent() {
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() {
return device::GvrDelegateProviderFactory::GetDevice();
}
......
......@@ -14,7 +14,6 @@
#include "base/callback.h"
#include "base/cancelable_callback.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/public/mojom/vr_service.mojom.h"
#include "device/vr/vr_device.h"
......@@ -27,8 +26,7 @@ namespace vr {
class VrShell;
class VrShellDelegate : public device::GvrDelegateProvider,
content::XRRuntimeManager::Observer {
class VrShellDelegate : public device::GvrDelegateProvider {
public:
VrShellDelegate(JNIEnv* env, jobject obj);
~VrShellDelegate() override;
......@@ -66,14 +64,6 @@ class VrShellDelegate : public device::GvrDelegateProvider,
device::mojom::XRRuntimeSessionOptionsPtr options,
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(
device::mojom::VRDisplayInfoPtr display_info,
device::mojom::XRRuntimeSessionOptionsPtr options,
......
......@@ -538,10 +538,6 @@ void BrowserXRRuntimeImpl::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
void BrowserXRRuntimeImpl::SetInlinePosesEnabled(bool enabled) {
runtime_->SetInlinePosesEnabled(enabled);
}
void BrowserXRRuntimeImpl::BeforeRuntimeRemoved() {
DVLOG(1) << __func__ << ": id=" << id_;
......
......@@ -80,7 +80,6 @@ class BrowserXRRuntimeImpl : public content::BrowserXRRuntime,
// BrowserXRRuntime
void AddObserver(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
// is removed.
......
......@@ -36,7 +36,6 @@ class CONTENT_EXPORT BrowserXRRuntime {
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
virtual void SetInlinePosesEnabled(bool enabled) = 0;
};
} // namespace content
......
......@@ -170,10 +170,6 @@ void VROrientationDevice::GetInlineFrameData(
mojom::XRFrameDataProvider::GetFrameDataCallback callback) {
// Orientation sessions should never be exclusive or presenting.
DCHECK(!HasExclusiveSession());
if (!inline_poses_enabled_) {
std::move(callback).Run(nullptr);
return;
}
mojom::VRPosePtr pose = mojom::VRPose::New();
......
......@@ -164,10 +164,6 @@ class VROrientationDeviceTest : public testing::Test {
}
}
void SetInlinePosesEnabled(bool enabled) {
device_->SetInlinePosesEnabled(enabled);
}
std::unique_ptr<VROrientationSession> MakeDisplay() {
mojo::PendingRemote<mojom::XRFrameDataProvider> data_provider;
mojo::PendingRemote<mojom::XRSessionController> controller;
......@@ -383,14 +379,6 @@ TEST_F(VROrientationDeviceTest, OrientationLandscape270Test) {
}));
}
TEST_F(VROrientationDeviceTest, NoMagicWindowPosesWhileBrowsing) {
InitializeDevice(FakeInitParams());
AssertInlineFrameDataAvailable(true);
SetInlinePosesEnabled(false);
AssertInlineFrameDataAvailable(false);
}
TEST_F(VROrientationDeviceTest, GetFrameDataHelper) {
InitializeDevice(FakeInitParams());
......
......@@ -74,8 +74,6 @@ interface XRRuntime {
ListenToDeviceChanges(
pending_associated_remote<XRRuntimeEventListener> listener) =>
(VRDisplayInfo? display_info);
SetInlinePosesEnabled(bool enable);
};
// Information required for rendering, used by ImmersiveOverlay.
......
......@@ -93,10 +93,6 @@ mojo::PendingRemote<mojom::XRRuntime> VRDeviceBase::BindXRRuntime() {
return runtime_receiver_.BindNewPipeAndPassRemote();
}
void VRDeviceBase::SetInlinePosesEnabled(bool enable) {
inline_poses_enabled_ = enable;
}
void LogViewerType(VrViewerType type) {
base::UmaHistogramSparse("VRViewerType", static_cast<int>(type));
}
......
......@@ -32,7 +32,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime {
void ListenToDeviceChanges(
mojo::PendingAssociatedRemote<mojom::XRRuntimeEventListener> listener,
mojom::XRRuntime::ListenToDeviceChangesCallback callback) final;
void SetInlinePosesEnabled(bool enable) override;
void ShutdownSession(mojom::XRRuntime::ShutdownSessionCallback) override;
device::mojom::XRDeviceId GetId() const;
......@@ -69,8 +68,6 @@ class COMPONENT_EXPORT(DEVICE_VR_BASE) VRDeviceBase : public mojom::XRRuntime {
mojom::VRDisplayInfoPtr display_info_;
bool inline_poses_enabled_ = true;
private:
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