New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 842025 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 28
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task
Proj-VR
Proj-XR

Blocked on:
issue 842042

Blocking:
issue 843374
issue 695937
issue 795764
issue 828321



Sign in to add a comment

Refactor VR device interfaces to better reflect WebXR

Project Member Reported by ddorwin@chromium.org, May 11 2018

Issue description

The Mojo interfaces in vr_service.mojom and related classes like VRDeviceBase and VRDevice resemble WebVR and/or are otherwise showing their age. We should refactor them to make them reflect WebXR, which itself includes API improvements, and be easier to understand.
 

Comment 1 Deleted

Blockedon: 842042
Blocking: 828321
Blocking: 695937
Cc: lincolnfrog@chromium.org vollick@chromium.org
 Issue 824914  has been merged into this issue.
Blocking: 843374
may want to only have one "session" type, merging VRMagicWindowProvider and VRPresentationProvider because RequestHitTest makes sense for both types of sessions.
Labels: -M-68 M-69
Labels: XR-Device
Components: Internals>XR
Components: Blink>WebXR
Cc: -billorr@chromium.org
Components: -Blink>WebVR -Internals>VR
Owner: billorr@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f17ab2f0a5a62af13f62ad365431e292d93264c

commit 9f17ab2f0a5a62af13f62ad365431e292d93264c
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Tue Jul 24 16:20:21 2018

Refactoring XR mojo interfaces

Merging presentation provider and magic window provider to get rid of
duplicate code that fetches data. Changing request session so that it
must always return at least one interface for getting data, allowing
some uniformity of getting sessions across devices.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I587b314daf177619440a82f12471ea567b346caf
Reviewed-on: https://chromium-review.googlesource.com/1135831
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577572}
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/arcore_device/arcore_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/arcore_device/arcore_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/arcore_device/arcore_gl.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/arcore_device/arcore_gl.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/gl_browser_interface.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_gl_thread.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_gl_thread.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell_delegate.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell_delegate.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell_gl.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/android/vr/vr_shell_gl.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/vr/service/browser_xr_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/vr/service/browser_xr_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/vr/service/vr_display_host.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/chrome/browser/vr/service/vr_display_host.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/BUILD.gn
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/android/gvr/gvr_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/android/gvr/gvr_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/oculus/oculus_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/oculus/oculus_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/oculus/oculus_render_loop.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/oculus/oculus_render_loop.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/openvr/openvr_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/openvr/openvr_render_loop.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/openvr/openvr_render_loop.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/orientation/orientation_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/orientation/orientation_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/public/mojom/README.md
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/public/mojom/isolated_xr_service.mojom
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/public/mojom/vr_service.mojom
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/test/fake_vr_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/test/fake_vr_device.h
[delete] https://crrev.com/fab5510cbf8165739f2d228ba6d4c25c5b5530f8/device/vr/test/mock_vr_display_impl.cc
[delete] https://crrev.com/fab5510cbf8165739f2d228ba6d4c25c5b5530f8/device/vr/test/mock_vr_display_impl.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_device_base.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_device_base.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_device_base_unittest.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_display_impl.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_display_impl.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/device/vr/vr_display_impl_unittest.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/WebKit/LayoutTests/external/wpt/resources/chromium/webxr-test.js
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/WebKit/LayoutTests/xr/resources/xr-device-mocking.js
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/vr/vr_display.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/vr/vr_display.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/xr/xr_device.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/xr/xr_device.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/xr/xr_frame_provider.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/xr/xr_frame_provider.h
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/modules/xr/xr_session.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/platform/graphics/gpu/xr_frame_transport.cc
[modify] https://crrev.com/9f17ab2f0a5a62af13f62ad365431e292d93264c/third_party/blink/renderer/platform/graphics/gpu/xr_frame_transport.h

Labels: -M-69 Target-70
Project Member

Comment 15 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/570b663dc012a7409453259445d08bfe4f3f32fa

commit 570b663dc012a7409453259445d08bfe4f3f32fa
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Fri Aug 03 15:28:57 2018

Remove Device from XRDeviceRuntimeSessionOptions

Renaming XRDeviceRuntimeSessionOptions to XRRuntimeSessionOptions to
to shorten the name, and because these options are passed to an
XRRuntime to get a session for a physical device.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Id3d344ba9e4f8d5acd13cdae326d479ab83e7b2e
Reviewed-on: https://chromium-review.googlesource.com/1161506
Reviewed-by: Bill Orr <billorr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580556}
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/arcore_device/arcore_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/arcore_device/arcore_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell_delegate.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell_delegate.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell_gl.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/android/vr/vr_shell_gl.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/vr/service/browser_xr_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/vr/service/browser_xr_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/chrome/browser/vr/service/vr_display_host.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/android/gvr/gvr_delegate_provider.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/android/gvr/gvr_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/android/gvr/gvr_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/oculus/oculus_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/oculus/oculus_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/oculus/oculus_render_loop.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/oculus/oculus_render_loop.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/openvr/openvr_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/openvr/openvr_render_loop.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/openvr/openvr_render_loop.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/orientation/orientation_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/orientation/orientation_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/public/mojom/isolated_xr_service.mojom
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/test/fake_vr_device.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/test/fake_vr_device.h
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/vr_device_base_unittest.cc
[modify] https://crrev.com/570b663dc012a7409453259445d08bfe4f3f32fa/device/vr/vr_display_impl_unittest.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11ebe167418a18333355dbdf7205d935d7037a94

commit 11ebe167418a18333355dbdf7205d935d7037a94
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Fri Aug 03 17:29:15 2018

Rename BrowserXRDevice to BrowserXRRuntime

Renaming BrowserXRDevice to BrowserXRRuntime, and all variables
associated with it to runtime as well, to reduce the amount of confusion
with blink's XRDevice. Also renaming vr_device_manager to
xr_runtime_manager, becaues it managed BrowserXRRuntimes and their
providers, not the blink XRDevices.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ie177d5c778526ed1ecc25b8577c1d3bf51da1b76
Reviewed-on: https://chromium-review.googlesource.com/1161495
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580582}
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/android/vr/arcore_device/arcore_java_utils.cc
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/android/vr/vr_shell_delegate.cc
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/BUILD.gn
[rename] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/browser_xr_runtime.cc
[rename] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/browser_xr_runtime.h
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/vr_display_host.cc
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/vr_display_host.h
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/vr_service_impl.cc
[modify] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/vr_service_impl.h
[rename] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/xr_runtime_manager.cc
[rename] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/xr_runtime_manager.h
[rename] https://crrev.com/11ebe167418a18333355dbdf7205d935d7037a94/chrome/browser/vr/service/xr_runtime_manager_unittest.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11dcb6548d45ff65717a816dff533a505eb248d7

commit 11dcb6548d45ff65717a816dff533a505eb248d7
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Fri Aug 03 23:21:37 2018

Rename VRDisplayHost to XRDeviceImpl

VRDisplayHost serves as the browser side implementation of the XRDevice
mojo interface, so renaming it to make that explicit.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I24fc584f06cfcc50c942e2df8bc451badb67e20f
Reviewed-on: https://chromium-review.googlesource.com/1162693
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580697}
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/browser_xr_runtime.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/browser_xr_runtime.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/vr_service_impl.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/vr_service_impl.h
[rename] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/xr_device_impl.cc
[rename] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/chrome/browser/vr/service/xr_device_impl.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/device/vr/public/mojom/README.md
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/device/vr/public/mojom/isolated_xr_service.mojom
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/device/vr/public/mojom/vr_service.mojom
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/device/vr/test/fake_vr_service_client.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/device/vr/test/fake_vr_service_client.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/WebKit/LayoutTests/external/wpt/resources/chromium/webxr-test.js
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/vr/vr_controller.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/vr/vr_controller.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/vr/vr_display.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/vr/vr_display.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/xr/xr.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/xr/xr.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/xr/xr_device.cc
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/xr/xr_device.h
[modify] https://crrev.com/11dcb6548d45ff65717a816dff533a505eb248d7/third_party/blink/renderer/modules/xr/xr_frame_provider.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f

commit e2f982f7b5feb5e78f0fc43b57ead604ee041b6f
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Wed Aug 15 19:43:28 2018

Refactor vr_display_host into xr_device_impl

Refactoring vr_display_host into xr_device_impl, and making it so that
there is only one XRDeviceImpl, inline with what the WebXR spec expects.
The xr_device_impl is not returned until requested, which is a step
towards making the renderer not expect runtimes to be available until
requested.

Bug:  842025 ,  701027 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Iedb7dd4956ae1d98a9ae7811948ae645899df423
Reviewed-on: https://chromium-review.googlesource.com/1159468
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583362}
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/android/vr/arcore_device/arcore_device.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/android/vr/vr_shell_gl.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/vr_service_impl.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/vr_service_impl.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/xr_device_impl.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/xr_device_impl.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/xr_runtime_manager.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/xr_runtime_manager.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/chrome/browser/vr/service/xr_runtime_manager_unittest.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/oculus/oculus_device.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/oculus/oculus_device.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/openvr/openvr_device.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/public/mojom/isolated_xr_service.mojom
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/public/mojom/vr_service.mojom
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/test/fake_vr_display_impl_client.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/test/fake_vr_service_client.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/test/fake_vr_service_client.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/vr_device_base.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/device/vr/vr_device_base.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/external/wpt/resources/chromium/webxr-test.js
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/vr/events_vrdisplayactivate.html
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/vr/events_vrdisplayconnect.html
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/vr/getEyeParameters_null.html
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/vr/getVRDisplays_one_display.html
[delete] https://crrev.com/b22ea1fa7081741279cfffeed61c0c19da4c0a23/third_party/WebKit/LayoutTests/vr/getVRDisplays_two_display.html
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/vr/resources/vr-test-utils.js
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/xr/events_deviceconnect.html
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/WebKit/LayoutTests/xr/resources/xr-internal-device-mocking.js
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/vr/vr_controller.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/vr/vr_controller.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/vr/vr_display.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/vr/vr_display.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_device.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_device.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_frame_of_reference.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_frame_provider.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_session.cc
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_session.h
[modify] https://crrev.com/e2f982f7b5feb5e78f0fc43b57ead604ee041b6f/third_party/blink/renderer/modules/xr/xr_webgl_layer.cc

Blocking: 795764
Project Member

Comment 20 by bugdroid1@chromium.org, Aug 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4

commit ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Mon Aug 20 20:23:37 2018

Move runtime management logic out of XRDeviceImpl

Runtimes should only be handled by the XRRuntimeManager. Moving the
logic which handles getting current display info as well as checking for
session supports out of XRDeviceImpl is a step in that direction.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I95bd331a30c91deb665aa12853f8a80d79c0e51b
Reviewed-on: https://chromium-review.googlesource.com/1181535
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584550}
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/browser_xr_runtime.cc
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/vr_service_impl.cc
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/xr_device_impl.cc
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/xr_device_impl.h
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/xr_runtime_manager.cc
[modify] https://crrev.com/ec73e6eff9a62ce8485cb93b5a9dd00ed059cee4/chrome/browser/vr/service/xr_runtime_manager.h

Project Member

Comment 21 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ec2090095202916b7f75aacb7a00f76bd21ac3f

commit 7ec2090095202916b7f75aacb7a00f76bd21ac3f
Author: Anna Offenwanger <offenwanger@chromium.org>
Date: Tue Aug 21 17:20:31 2018

Move runtime management logic to XRRuntimeManager

Runtimes should only be handled by the XRRuntimeManager. VRServiceImpl
needs to know if capabilities have changed, but does not need to know if
runtimes were added or removed, so we can merge those functions into one
and remove XRRuntime from VRServiceImpl, which will forward this end.
Also moved logic to check in the runtimes if an XRDeviceImpl is
presenting to the manager.

Bug:  842025 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I4e155dbb4ff603572338a0d543ca030cd574ffb8
Reviewed-on: https://chromium-review.googlesource.com/1181685
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584808}
[modify] https://crrev.com/7ec2090095202916b7f75aacb7a00f76bd21ac3f/chrome/browser/vr/service/vr_service_impl.cc
[modify] https://crrev.com/7ec2090095202916b7f75aacb7a00f76bd21ac3f/chrome/browser/vr/service/vr_service_impl.h
[modify] https://crrev.com/7ec2090095202916b7f75aacb7a00f76bd21ac3f/chrome/browser/vr/service/xr_device_impl.cc
[modify] https://crrev.com/7ec2090095202916b7f75aacb7a00f76bd21ac3f/chrome/browser/vr/service/xr_runtime_manager.cc
[modify] https://crrev.com/7ec2090095202916b7f75aacb7a00f76bd21ac3f/chrome/browser/vr/service/xr_runtime_manager.h

Status: Fixed (was: Assigned)
I'm going to resolve this as fixed.  The current mojo shape mirrors webxr better and we aren't blocked from implementing any of the currently spec'd behavior with the current mojo interface.

That said, there is still more cleanup to do, but I'd rather have small targeted bugs for specific issues so we don't approach it as "lets redesign everything".  Moreover, given the still ongoing spec changes in webxr, I'd like the service to be somewhat more general than the current spec so we don't need mojo changes when the spec changes - in particular we shouldn't necessarily need to use the same names for mojo and webxr.

Sign in to add a comment