Skip to content

Commit

Permalink
Enable WebXR feature by default
Browse files Browse the repository at this point in the history
This feature is intended to ship in 79, so the feature needs to be
enabled.

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/CHCM_xALBG4/JeQQYkONBwAJ

Bug: 1007537
Change-Id: I3e4dac8da7a24806e652ef3d97f8e1fb7bee6daf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1823881
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705219}
  • Loading branch information
alcooper91 authored and Commit Bot committed Oct 11, 2019
1 parent 6ef1828 commit 17998a4
Show file tree
Hide file tree
Showing 12 changed files with 183 additions and 169 deletions.
2 changes: 2 additions & 0 deletions android_webview/lib/aw_main_delegate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ bool AwMainDelegate::BasicStartupComplete(int* exit_code) {
// TODO(https://crbug.com/963653): SmsReceiver is not yet supported on
// WebView.
features.DisableIfNotSet(::features::kSmsReceiver);

features.DisableIfNotSet(::features::kWebXr);
}

android_webview::RegisterPathProvider();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,14 @@ interface HTMLMediaElement : HTMLElement

# permissions API (crbug.com/490120), presentation API (crbug.com/521319),
# share API (crbug.com/765923), custom scheme handlers (crbug.com/589502),
# media session API (crbug.com/925997), and sms API (crbug.com/963653)
# are not supported in webview.
# media session API (crbug.com/925997), sms API (crbug.com/963653), and WebXr
# API (crbug.com/1012899) are not supported in webview.
interface Navigator
getter mediaSession # crbug.com/925997
getter permissions # crbug.com/490120
getter presentation # crbug.com/521319
getter sms # crbug.com/963653
getter xr # crbug.com/1012899
method registerProtocolHandler # crbug.com/589502
method unregisterProtocolHandler # crbug.com/589502
method share # crbug.com/765923
Expand Down Expand Up @@ -129,6 +130,31 @@ interface OffscreenCanvas : EventTarget
interface HTMLCanvasElement : HTMLElement
method transferControlToOffscreen

# WebXR dependent interfaces are not supported on WebView crbug.com/1012899
interface XRView
interface XRViewport
interface XR : EventTarget
interface XRFrame
interface XRRigidTransform
interface XRSpace : EventTarget
interface XRInputSourcesChangeEvent : Event
interface XRInputSource
interface XRWebGLLayer
interface XRInputSourceEvent : Event
interface XRViewerPose : XRPose
interface XRInputSourceArray
interface XRRenderState
interface XRPose
interface XRSession : EventTarget
interface XRReferenceSpaceEvent : Event
interface XRBoundedReferenceSpace : XRReferenceSpace
interface XRSessionEvent : Event
interface XRReferenceSpace : XRSpace
interface WebGLRenderingContext
method makeXRCompatible
interface WebGL2RenderingContext
method makeXRCompatible

[GLOBAL OBJECT]
method openDatabase
attribute eventSender # test only
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,11 @@ public void testWebVrDisabledWithoutFlagSet() {
*/
@Test
@MediumTest
@CommandLineFlags.Remove({"enable-webvr"})
@XrActivityRestriction({XrActivityRestriction.SupportedActivity.ALL})
public void testWebXrDisabledWithoutFlagSet() {
// TODO(bsheedy): Remove this test once WebXR is on by default without
// requiring an origin trial.
@CommandLineFlags
.Add({"disable-features=WebXR"})
@CommandLineFlags.Remove({"enable-webvr"})
@XrActivityRestriction({XrActivityRestriction.SupportedActivity.ALL})
public void testWebXrDisabledWithoutFlagSet() {
apiDisabledWithoutFlagSetImpl(WebXrVrTestFramework.getFileUrlForHtmlTestFile(
"test_webxr_disabled_without_flag_set"),
mWebXrVrTestFramework);
Expand Down
4 changes: 2 additions & 2 deletions content/child/runtime_features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
if (base::FeatureList::IsEnabled(features::kPeriodicBackgroundSync))
WebRuntimeFeatures::EnablePeriodicBackgroundSync(true);

if (base::FeatureList::IsEnabled(features::kWebXr))
WebRuntimeFeatures::EnableWebXR(true);
WebRuntimeFeatures::EnableWebXR(
base::FeatureList::IsEnabled(features::kWebXr));

if (base::FeatureList::IsEnabled(features::kWebXrArDOMOverlay))
WebRuntimeFeatures::EnableWebXRARDOMOverlay(true);
Expand Down
2 changes: 1 addition & 1 deletion content/public/common/content_features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -693,7 +693,7 @@ const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames{
const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT};

// Controls whether the WebXR Device API is enabled.
const base::Feature kWebXr{"WebXR", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kWebXr{"WebXR", base::FEATURE_ENABLED_BY_DEFAULT};

// Enables access to AR features via the WebXR API.
const base::Feature kWebXrArModule{"WebXRARModule",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1799,8 +1799,7 @@
},
{
name: "WebXR",
origin_trial_feature_name: "WebXRDeviceM76",
status: "experimental",
status: "stable",
},
{
name: "WebXRAnchors",
Expand All @@ -1813,7 +1812,7 @@
},
{
name: "WebXRARModule",
// depends_on: ["WebXR"], // TODO(https://crbug.com/954679): uncomment once bug is fixed
depends_on: ["WebXR"],
status: "experimental",
},
{
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -1951,6 +1951,7 @@ interface WebGL2RenderingContext
method isVertexArray
method lineWidth
method linkProgram
method makeXRCompatible
method pauseTransformFeedback
method pixelStorei
method polygonOffset
Expand Down Expand Up @@ -2443,6 +2444,7 @@ interface WebGLRenderingContext
method isTexture
method lineWidth
method linkProgram
method makeXRCompatible
method pixelStorei
method polygonOffset
method readPixels
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ picture-in-picture
sync-xhr
usb
vr
xr-spatial-tracking

Original file line number Diff line number Diff line change
Expand Up @@ -1973,6 +1973,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method isVertexArray
[Worker] method lineWidth
[Worker] method linkProgram
[Worker] method makeXRCompatible
[Worker] method pauseTransformFeedback
[Worker] method pixelStorei
[Worker] method polygonOffset
Expand Down Expand Up @@ -2465,6 +2466,7 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method isTexture
[Worker] method lineWidth
[Worker] method linkProgram
[Worker] method makeXRCompatible
[Worker] method pixelStorei
[Worker] method polygonOffset
[Worker] method readPixels
Expand Down
Loading

0 comments on commit 17998a4

Please sign in to comment.