Issues 849568 and 907591 discuss the general problem. This handles just OpenVR and Oculus devices.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fef79a6d04a852a939f8edcfba2d00feca8de898 commit fef79a6d04a852a939f8edcfba2d00feca8de898 Author: Bill Orr <billorr@chromium.org> Date: Tue Jan 08 18:34:47 2019 Initialize desktop VRDevices on first successful RequestSession Prior to this change, navigating to a page that uses WebXR or WebVR APIs would automatically start the runtimes, triggering windows to show and some wasted resources. After this change, a website needs to request a session for the runtimes to start. BUG= 911329 Change-Id: Ieb039a36bb98e3af83793fff1f4884bacad8f824 Reviewed-on: https://chromium-review.googlesource.com/c/1359467 Commit-Queue: Bill Orr <billorr@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Klaus Weidner <klausw@chromium.org> Cr-Commit-Position: refs/heads/master@{#620809} [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/service/browser_xr_runtime.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/service/browser_xr_runtime.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/service/isolated_device_provider.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/service/isolated_device_provider.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/service/vr_ui_host.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/ui_host/vr_ui_host_impl.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/browser/vr/ui_host/vr_ui_host_impl.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/chrome/services/isolated_xr_device/xr_runtime_provider.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/oculus/oculus_device.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/oculus/oculus_device.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/oculus/oculus_device_provider.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/openvr/openvr_device.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/openvr/openvr_device.h [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/openvr/openvr_device_provider.cc [modify] https://crrev.com/fef79a6d04a852a939f8edcfba2d00feca8de898/device/vr/public/mojom/isolated_xr_service.mojom
Comment 1 by billorr@chromium.org
, Dec 3