Commit a156776c authored by Alexander Cooper's avatar Alexander Cooper Committed by Commit Bot

Add OpenXRExtendedFeatures flag

This flag allows us to configure OpenXR features which, though shipped
on Android/ARCore may not be ready to be shipped on Desktop/OpenXR, due
to the slightly different permissions, or due to an inability for us to
actually test on real hardware.

Change-Id: I985f2e17119185053539f6c2671695c57081c24f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2537584Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
Reviewed-by: default avatarKlaus Weidner <klausw@chromium.org>
Reviewed-by: default avatarBrandon Jones <bajones@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827549}
parent 637d5e72
...@@ -229,9 +229,11 @@ BrowserXRRuntimeImpl* XRRuntimeManagerImpl::GetImmersiveArRuntime() { ...@@ -229,9 +229,11 @@ BrowserXRRuntimeImpl* XRRuntimeManagerImpl::GetImmersiveArRuntime() {
#endif #endif
#if BUILDFLAG(ENABLE_OPENXR) #if BUILDFLAG(ENABLE_OPENXR)
auto* openxr = GetRuntime(device::mojom::XRDeviceId::OPENXR_DEVICE_ID); if (base::FeatureList::IsEnabled(features::kOpenXrExtendedFeatureSupport)) {
if (openxr && openxr->SupportsArBlendMode()) auto* openxr = GetRuntime(device::mojom::XRDeviceId::OPENXR_DEVICE_ID);
return openxr; if (openxr && openxr->SupportsArBlendMode())
return openxr;
}
#endif #endif
return nullptr; return nullptr;
......
...@@ -438,6 +438,14 @@ const base::Feature kOriginIsolationHeader{"OriginIsolationHeader", ...@@ -438,6 +438,14 @@ const base::Feature kOriginIsolationHeader{"OriginIsolationHeader",
const base::Feature kOriginPolicy{"OriginPolicy", const base::Feature kOriginPolicy{"OriginPolicy",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
// Some WebXR features may have been enabled for ARCore, but are not yet ready
// to be plumbed up from the OpenXR backend. This feature provides a mechanism
// to gate such support in a generic way. Note that this feature should not be
// used for features we intend to ship simultaneously on both OpenXR and ArCore.
// For those features, a feature-specific flag should be created if needed.
const base::Feature kOpenXrExtendedFeatureSupport{
"OpenXrExtendedFeatureSupport", base::FEATURE_DISABLED_BY_DEFAULT};
// History navigation in response to horizontal overscroll (aka gesture-nav). // History navigation in response to horizontal overscroll (aka gesture-nav).
const base::Feature kOverscrollHistoryNavigation { const base::Feature kOverscrollHistoryNavigation {
"OverscrollHistoryNavigation", "OverscrollHistoryNavigation",
......
...@@ -99,6 +99,7 @@ CONTENT_EXPORT extern const base::Feature kNotificationContentImage; ...@@ -99,6 +99,7 @@ CONTENT_EXPORT extern const base::Feature kNotificationContentImage;
CONTENT_EXPORT extern const base::Feature kNotificationTriggers; CONTENT_EXPORT extern const base::Feature kNotificationTriggers;
CONTENT_EXPORT extern const base::Feature kOriginIsolationHeader; CONTENT_EXPORT extern const base::Feature kOriginIsolationHeader;
CONTENT_EXPORT extern const base::Feature kOriginPolicy; CONTENT_EXPORT extern const base::Feature kOriginPolicy;
CONTENT_EXPORT extern const base::Feature kOpenXrExtendedFeatureSupport;
CONTENT_EXPORT extern const base::Feature kOverscrollHistoryNavigation; CONTENT_EXPORT extern const base::Feature kOverscrollHistoryNavigation;
CONTENT_EXPORT extern const base::Feature kPeriodicBackgroundSync; CONTENT_EXPORT extern const base::Feature kPeriodicBackgroundSync;
CONTENT_EXPORT extern const base::Feature kPermissionsPolicyHeader; CONTENT_EXPORT extern const base::Feature kPermissionsPolicyHeader;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment