Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2744)

Unified Diff: device/generic_sensor/sensor_provider_impl.cc

Issue 2896583005: Reland: Refactor DeviceMotionEventPump to use //device/generic_sensor instead of //device/sensors (Closed)
Patch Set: fix compile error on Windows Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/generic_sensor/platform_sensor_provider_win.cc ('k') | services/device/device_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3e78e3a174fa6935ad799d53e38f38b4eebc0439..c7a2dfa8c74d56dc2b044aa5351f5aa487c31b4b 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 {
@@ -54,6 +56,17 @@ SensorProviderImpl::~SensorProviderImpl() {}
void SensorProviderImpl::GetSensor(mojom::SensorType type,
mojom::SensorRequest sensor_request,
GetSensorCallback callback) {
+ // TODO(juncai): remove when the GenericSensor feature goes stable.
+ // 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, std::move(callback));
+ return;
+ }
+
auto cloned_handle = provider_->CloneSharedBufferHandle();
if (!cloned_handle.is_valid()) {
NotifySensorCreated(nullptr, nullptr, std::move(callback));
« no previous file with comments | « device/generic_sensor/platform_sensor_provider_win.cc ('k') | services/device/device_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698