| Index: device/generic_sensor/sensor_provider_impl.cc
|
| diff --git a/device/generic_sensor/sensor_provider_impl.cc b/device/generic_sensor/sensor_provider_impl.cc
|
| index 8f36c47f0de32415364a4321fa4b1d49cfe1afbd..d6acfdbb104f809b6fbe600823ffd98bfcc65d9a 100644
|
| --- a/device/generic_sensor/sensor_provider_impl.cc
|
| +++ b/device/generic_sensor/sensor_provider_impl.cc
|
| @@ -6,11 +6,13 @@
|
|
|
| #include <utility>
|
|
|
| +#include "base/feature_list.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "device/generic_sensor/platform_sensor_provider.h"
|
| #include "device/generic_sensor/sensor_impl.h"
|
| #include "mojo/public/cpp/bindings/strong_binding.h"
|
| +#include "services/device/public/cpp/device_features.h"
|
|
|
| namespace device {
|
|
|
| @@ -55,6 +57,16 @@ SensorProviderImpl::~SensorProviderImpl() {}
|
| void SensorProviderImpl::GetSensor(mojom::SensorType type,
|
| mojom::SensorRequest sensor_request,
|
| const GetSensorCallback& callback) {
|
| + // For sensors that are used by DeviceMotionEvent, don't check the
|
| + // features::kGenericSensor flag.
|
| + if (!base::FeatureList::IsEnabled(features::kGenericSensor) &&
|
| + !(type == mojom::SensorType::ACCELEROMETER ||
|
| + type == mojom::SensorType::LINEAR_ACCELERATION ||
|
| + type == mojom::SensorType::GYROSCOPE)) {
|
| + NotifySensorCreated(nullptr, nullptr, callback);
|
| + return;
|
| + }
|
| +
|
| auto cloned_handle = provider_->CloneSharedBufferHandle();
|
| if (!cloned_handle.is_valid()) {
|
| NotifySensorCreated(nullptr, nullptr, callback);
|
|
|