Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebXR: experimental DOM Overlay support for immersive-ar mode #19013

Merged
merged 1 commit into from Oct 4, 2019

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Sep 11, 2019

This opt-in mode keeps DOM content visible as a transparent overlay while
in an immersive-ar WebXR session. It is activated by requesting an optional
or required feature on session start:

navigator.xr.requestSession(
'immersive-ar',
{optionalFeatures: ['dom-overlay-for-handheld-ar']});

This functionality is only available if the corresponding feature flag
chrome://flags#webxr-ar-dom-overlay is enabled.

On session start, this fullscreens the <body> element. The application can
use the Fullscreen API to change the visible element. Exiting the session ends
fullscreen mode, and calling document.exitFullscreen() exits the immersive-ar
session if there are no remaining fullscreened elements.

(As of this CL, changing the fullscreen element doesn't fully update layer
visibility, so non-fullscreen content can remain visible unexpectedly.
That's being addressed in a followup.)

Change-Id: I77b767b111436b45e2b584e46a390a68473ab118
Bug: 991747
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1741008
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#703074}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already reviewed downstream.

@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-1741008 branch 6 times, most recently from 331dd1c to 94f4332 Compare September 13, 2019 18:11
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-1741008 branch 11 times, most recently from 4fc4327 to 9c7af65 Compare September 25, 2019 21:51
@foolip
Copy link
Member

foolip commented Sep 27, 2019

Taskcluster failing the infrastructure/ tests is likely because of #19362. There's a workaround in place so I'll rebase the branch to retrigger CI.

@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-1741008 branch 6 times, most recently from 4ff0082 to 9b7d709 Compare October 4, 2019 17:44
This opt-in mode keeps DOM content visible as a transparent overlay while
in an immersive-ar WebXR session. It is activated by requesting an optional
or required feature on session start:

  navigator.xr.requestSession(
    'immersive-ar',
    {optionalFeatures: ['dom-overlay-for-handheld-ar']});

This functionality is only available if the corresponding feature flag
chrome://flags#webxr-ar-dom-overlay is enabled.

On session start, this fullscreens the <body> element. The application can
use the Fullscreen API to change the visible element. Exiting the session ends
fullscreen mode, and calling document.exitFullscreen() exits the immersive-ar
session if there are no remaining fullscreened elements.

(As of this CL, changing the fullscreen element doesn't fully update layer
visibility, so non-fullscreen content can remain visible unexpectedly.
That's being addressed in a followup.)

Change-Id: I77b767b111436b45e2b584e46a390a68473ab118
Bug: 991747
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1741008
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#703074}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants