Commit 959d8d3f authored by Luis G Garcia's avatar Luis G Garcia Committed by Commit Bot

WebXR: Limit camera access feature availability

Allow camera access feature to be available only to devices with the
WebXRIncubations feature flag and with support for buffers.

Fixed: 1101140
Change-Id: I44a15f8ad53e2fff425618f58d74f4ccfaac998d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2300365
Commit-Queue: Luis Garcia <luisggarcia@google.com>
Reviewed-by: default avatarKlaus Weidner <klausw@chromium.org>
Reviewed-by: default avatarPiotr Bialecki <bialpio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790224}
parent cb63f3b2
......@@ -8,6 +8,10 @@
#include <memory>
#include <utility>
#if defined(OS_ANDROID)
#include "base/android/android_hardware_buffer_compat.h"
#endif
#include "base/bind_helpers.h"
#include "base/numerics/ranges.h"
#include "build/build_config.h"
......@@ -163,7 +167,6 @@ constexpr device::mojom::XRSessionFeature kARCoreDeviceFeatures[] = {
device::mojom::XRSessionFeature::DOM_OVERLAY,
device::mojom::XRSessionFeature::LIGHT_ESTIMATION,
device::mojom::XRSessionFeature::ANCHORS,
device::mojom::XRSessionFeature::CAMERA_ACCESS,
};
#if BUILDFLAG(ENABLE_OPENVR)
......@@ -266,6 +269,15 @@ bool BrowserXRRuntimeImpl::SupportsFeature(
return base::FeatureList::IsEnabled(features::kWebXrHitTest);
}
#if defined(OS_ANDROID)
// Only support camera access if the feature flag is enabled & the device
// supports shared buffers.
if (feature == device::mojom::XRSessionFeature::CAMERA_ACCESS) {
return base::FeatureList::IsEnabled(features::kWebXrIncubations) &&
base::AndroidHardwareBufferCompat::IsSupportAvailable();
}
#endif
return ContainsFeature(kARCoreDeviceFeatures, feature);
case device::mojom::XRDeviceId::ORIENTATION_DEVICE_ID:
return ContainsFeature(kOrientationDeviceFeatures, feature);
......
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