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

Unified Diff: content/browser/device_orientation/data_fetcher_shared_memory_default.cc

Issue 152893002: [DeviceLight API] Content Side Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix in Java file, stop() Created 6 years, 9 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
Index: content/browser/device_orientation/data_fetcher_shared_memory_default.cc
diff --git a/content/browser/device_orientation/data_fetcher_shared_memory_default.cc b/content/browser/device_orientation/data_fetcher_shared_memory_default.cc
index ce7b5676e6686ad75d4f5cb4299aaca634a50767..f2dfb299a33ff45f4ac30dc57be7917c18ee7fcb 100644
--- a/content/browser/device_orientation/data_fetcher_shared_memory_default.cc
+++ b/content/browser/device_orientation/data_fetcher_shared_memory_default.cc
@@ -9,6 +9,15 @@
namespace {
+static bool SetLightBuffer(content::DeviceLightHardwareBuffer* buffer,
+ bool enabled) {
+ if (!buffer)
+ return false;
+ buffer->seqlock.WriteBegin();
+ buffer->seqlock.WriteEnd();
+ return true;
+}
+
static bool SetMotionBuffer(content::DeviceMotionHardwareBuffer* buffer,
bool enabled) {
if (!buffer)
@@ -29,12 +38,12 @@ static bool SetOrientationBuffer(
return true;
}
-}
+} // namespace
namespace content {
DataFetcherSharedMemory::DataFetcherSharedMemory()
- : motion_buffer_(NULL), orientation_buffer_(NULL) {
+ : light_buffer_(NULL), motion_buffer_(NULL), orientation_buffer_(NULL) {
}
DataFetcherSharedMemory::~DataFetcherSharedMemory() {
@@ -44,6 +53,10 @@ bool DataFetcherSharedMemory::Start(ConsumerType consumer_type, void* buffer) {
DCHECK(buffer);
switch (consumer_type) {
+ case CONSUMER_TYPE_LIGHT:
+ light_buffer_ = static_cast<DeviceLightHardwareBuffer*>(buffer);
+ UMA_HISTOGRAM_BOOLEAN("InertialSensor.LightDefaultAvailable", false);
+ return SetLightBuffer(light_buffer_, true);
case CONSUMER_TYPE_MOTION:
motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(buffer);
UMA_HISTOGRAM_BOOLEAN("InertialSensor.MotionDefaultAvailable", false);
@@ -61,8 +74,9 @@ bool DataFetcherSharedMemory::Start(ConsumerType consumer_type, void* buffer) {
}
bool DataFetcherSharedMemory::Stop(ConsumerType consumer_type) {
-
switch (consumer_type) {
+ case CONSUMER_TYPE_LIGHT:
+ return SetLightBuffer(light_buffer_, false);
case CONSUMER_TYPE_MOTION:
return SetMotionBuffer(motion_buffer_, false);
case CONSUMER_TYPE_ORIENTATION:

Powered by Google App Engine
This is Rietveld 408576698