We need somewhere to put ARCoreDevice and have it be accessible alongside GVRDevice depending on the XRSessionCreationOptions that are given.
This depends on some spec progress for creation options.
This depends on refactoring tracked in issue 842025 .
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7853d61132b0c2f7a6d44c7a30e5e8c1919b2c66 commit 7853d61132b0c2f7a6d44c7a30e5e8c1919b2c66 Author: David Dorwin <ddorwin@chromium.org> Date: Mon May 21 05:26:01 2018 Temporarily change WebXRHitTest feature status to "test" This feature breaks non-exclusive WebXR sessions so it should not be enabled as part of Experimental Web Platform Features. We will still need it enabled when running the hit-test Layout Tests. Bug: 844228 , 833633 , 828321 Change-Id: Id59268fae445f67c01c34f4b2e381988157387ae Reviewed-on: https://chromium-review.googlesource.com/1066812 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Commit-Queue: David Dorwin <ddorwin@chromium.org> Cr-Commit-Position: refs/heads/master@{#560231} [modify] https://crrev.com/7853d61132b0c2f7a6d44c7a30e5e8c1919b2c66/third_party/blink/renderer/platform/runtime_enabled_features.json5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c commit 2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c Author: Anna Offenwanger <offenwanger@chromium.org> Date: Fri Jun 01 02:54:08 2018 Add xr SupportsSession mojo interface Adding a SupportsSession mojo call to allow the backend to supply the available device information based on session creation options. Also added session options to the RequestSession call. Bug: 828321 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr Change-Id: I5b6f0266428936ec89aea9672c39557a6b7e86b6 Reviewed-on: https://chromium-review.googlesource.com/1074223 Commit-Queue: Anna Offenwanger <offenwanger@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Bill Orr <billorr@chromium.org> Cr-Commit-Position: refs/heads/master@{#563503} [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/chrome/browser/vr/service/browser_xr_device.cc [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/chrome/browser/vr/service/browser_xr_device.h [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/chrome/browser/vr/service/vr_display_host.cc [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/chrome/browser/vr/service/vr_display_host.h [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/device/vr/public/mojom/vr_service.mojom [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/device/vr/vr_display_impl.h [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/third_party/WebKit/LayoutTests/xr/resources/xr-device-mocking.js [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/third_party/blink/renderer/modules/xr/xr_device.cc [modify] https://crrev.com/2a3f0f375738c6a4cd3e6e59e1caad5fb6d3355c/third_party/blink/renderer/modules/xr/xr_device.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8dd17f5072641056b1d7160372c4f7e89ff9d15a commit 8dd17f5072641056b1d7160372c4f7e89ff9d15a Author: Anna Offenwanger <offenwanger@chromium.org> Date: Mon Jun 25 22:13:41 2018 Unify function names for getting WebXR Session data Unifying the function names for getting WebXR data as a step towards merging the mojo interfaces for sessions into a single interface. This will help make it so that when requesting a session in the renderer process, we don't need to know anything about how supplying the interface is implemented. Bug: 828321 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: I56a7d02189bc8c15acca7c8b5893a6ae8b795057 Reviewed-on: https://chromium-review.googlesource.com/1106294 Commit-Queue: Anna Offenwanger <offenwanger@chromium.org> Reviewed-by: Klaus Weidner <klausw@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Bill Orr <billorr@chromium.org> Cr-Commit-Position: refs/heads/master@{#570197} [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/chrome/browser/android/vr/arcore_device/arcore_gl.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/chrome/browser/android/vr/arcore_device/arcore_gl.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/chrome/browser/android/vr/vr_shell_gl.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/chrome/browser/android/vr/vr_shell_gl.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/android/gvr/gvr_device.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/android/gvr/gvr_device.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/oculus/oculus_device.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/oculus/oculus_device.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/oculus/oculus_render_loop.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/oculus/oculus_render_loop.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/openvr/openvr_device.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/openvr/openvr_device.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/openvr/openvr_render_loop.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/openvr/openvr_render_loop.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/orientation/orientation_device.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/orientation/orientation_device.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/orientation/orientation_device_unittest.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/public/mojom/vr_service.mojom [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/test/fake_vr_device.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/test/fake_vr_device.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_device_base.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_device_base.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_device_base_unittest.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_display_impl.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_display_impl.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/device/vr/vr_display_impl_unittest.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/WebKit/LayoutTests/xr/resources/xr-device-mocking.js [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/blink/renderer/modules/vr/vr_display.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/blink/renderer/modules/vr/vr_display.h [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/blink/renderer/modules/xr/xr_frame_provider.cc [modify] https://crrev.com/8dd17f5072641056b1d7160372c4f7e89ff9d15a/third_party/blink/renderer/modules/xr/xr_frame_provider.h
Spec discussion: https://github.com/immersive-web/webxr/pull/376
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb commit 1ff845160e9b667d0c43bc5f4c761d46d12fd9bb Author: Bill Orr <billorr@chromium.org> Date: Wed Jul 18 02:33:36 2018 Add an option to XRSessionCreationOptions to specify AR sessions environmentIntegration is the new flag, which is now queried when requesting sessions. Plumbing to the browser process will happen in a followup. Now that both AR and VR can be supported simultaneously in tests, WebXRHitTest is made experimental and the ar_hittest layout test passes. BUG= 828321 Change-Id: I4d8f13cc7c836c608d1f4d69d07813d163cea18f Reviewed-on: https://chromium-review.googlesource.com/1132427 Commit-Queue: Bill Orr <billorr@chromium.org> Reviewed-by: David Dorwin <ddorwin@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Ian Vollick <vollick@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#575911} [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/chrome/test/data/xr/e2e_test_files/resources/webxr_boilerplate.js [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [delete] https://crrev.com/677ac15fe1c26a9301e8355aa29c128d6d1c2b16/third_party/WebKit/LayoutTests/xr/ar_hittest-expected.txt [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/WebKit/LayoutTests/xr/xrDevice_requestSession_exclusive_unsupported.html [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_device.cc [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_frame_provider.cc [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_frame_provider.h [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_session.cc [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_session.h [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/modules/xr/xr_session_creation_options.idl [modify] https://crrev.com/1ff845160e9b667d0c43bc5f4c761d46d12fd9bb/third_party/blink/renderer/platform/runtime_enabled_features.json5
Is there anything further to do?
There is still cleanup/refactoring/todos, but functionally everything is there now. Resolving now, and will address cleanup in separate bugs.
Comment 1 by ddorwin@chromium.org
, Apr 23 2018