New issue
Advanced search Search tips

Issue 826083 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , Windows
Pri: 3
Type: Bug
Proj-XR



Sign in to add a comment

webvr blur should hand out default data instead of not triggering raf

Project Member Reported by billorr@chromium.org, Mar 27 2018

Issue description

Based on the webvr 1.1 spec, enumerating displays and getting information should return last or default data when a tab is blurred.

We currently don't trigger raf when a tab is blurred. This makes animations difficult to handle, as sites will need to switch between vrdisplay.raf and window.raf to keep the experience animating correctly when visible but not focused.

The WebXR spec doesn't yet specify expected behavior, so follow up to ensure that is specified and we are doing the right thing there as well.
 
reported by @bai on webvr slack
Owner: bajones@chromium.org
Status: Available (was: Untriaged)
Assigning to bajones@ for WebXR spec clarification, but leaving as available.

bajones, when a tab doesn't have focus, should we call raf with stale/default poses or not call raf for webxr?
I see this as WAI. If you want to render without poses, use window raf and pick your favorite default pose. If the display is blurred, why would the display fire raf?
I'm not sure this is WAI - in particular, Firefox does things one way, we do them another, and the spec seems to describe yet another.

Blur means not focused, but doesn't mean not visible.  For mirroring experiences on desktop, animations stop when the display is blurred.
Animations stopping on the mirrored experience also makes total sense when the display is blurred...

I get that blur doesn't mean not visible, but the VrDisplay raf is for getting VR frames with VR frame data. If they VrDisplay is blurred it doesn't make sense to get VR frames or provide VR frame data.

One example of when we want a display to be blurred is when we (Chrome) open up a menu or something. We explicitly don't want the page to be rendering anything in the background, so we blur the display. The page can then switch over to window rAF, which won't fire while presenting on Android, but will fire while presenting on windows, and everything just works.
I think we are conflating two things into one - there is frame focus and device focus.  It may makes sense to stop animations for device focus lost (menu mode), but may not for frame focus lost.

Another spec question for blur/focus - should tab focus be sufficient or do we really require frame focus?
Components: Blink>WebXR
Status: Assigned (was: Available)
Labels: BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Labels: -BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR

Sign in to add a comment