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

Side by Side Diff: content/browser/device_sensors/data_fetcher_shared_memory_mac.cc

Issue 2116643002: Revert of Remove calls to MessageLoop::current() in content. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/device_sensors/data_fetcher_shared_memory.h" 5 #include "content/browser/device_sensors/data_fetcher_shared_memory.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/single_thread_task_runner.h"
12 #include "content/browser/device_sensors/ambient_light_mac.h" 11 #include "content/browser/device_sensors/ambient_light_mac.h"
13 #include "third_party/sudden_motion_sensor/sudden_motion_sensor_mac.h" 12 #include "third_party/sudden_motion_sensor/sudden_motion_sensor_mac.h"
14 13
15 namespace { 14 namespace {
16 15
17 const double kMeanGravity = 9.80665; 16 const double kMeanGravity = 9.80665;
18 17
19 double LMUvalueToLux(uint64_t raw_value) { 18 double LMUvalueToLux(uint64_t raw_value) {
20 // Conversion formula from regression. 19 // Conversion formula from regression.
21 // https://bugzilla.mozilla.org/show_bug.cgi?id=793728 20 // https://bugzilla.mozilla.org/show_bug.cgi?id=793728
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 134
136 namespace content { 135 namespace content {
137 136
138 DataFetcherSharedMemory::DataFetcherSharedMemory() { 137 DataFetcherSharedMemory::DataFetcherSharedMemory() {
139 } 138 }
140 139
141 DataFetcherSharedMemory::~DataFetcherSharedMemory() { 140 DataFetcherSharedMemory::~DataFetcherSharedMemory() {
142 } 141 }
143 142
144 void DataFetcherSharedMemory::Fetch(unsigned consumer_bitmask) { 143 void DataFetcherSharedMemory::Fetch(unsigned consumer_bitmask) {
145 DCHECK(GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread()); 144 DCHECK(base::MessageLoop::current() == GetPollingMessageLoop());
146 DCHECK(consumer_bitmask & CONSUMER_TYPE_ORIENTATION || 145 DCHECK(consumer_bitmask & CONSUMER_TYPE_ORIENTATION ||
147 consumer_bitmask & CONSUMER_TYPE_MOTION || 146 consumer_bitmask & CONSUMER_TYPE_MOTION ||
148 consumer_bitmask & CONSUMER_TYPE_LIGHT); 147 consumer_bitmask & CONSUMER_TYPE_LIGHT);
149 148
150 if (consumer_bitmask & CONSUMER_TYPE_ORIENTATION) 149 if (consumer_bitmask & CONSUMER_TYPE_ORIENTATION)
151 FetchOrientation(sudden_motion_sensor_.get(), orientation_buffer_); 150 FetchOrientation(sudden_motion_sensor_.get(), orientation_buffer_);
152 if (consumer_bitmask & CONSUMER_TYPE_MOTION) 151 if (consumer_bitmask & CONSUMER_TYPE_MOTION)
153 FetchMotion(sudden_motion_sensor_.get(), motion_buffer_); 152 FetchMotion(sudden_motion_sensor_.get(), motion_buffer_);
154 if (consumer_bitmask & CONSUMER_TYPE_LIGHT) 153 if (consumer_bitmask & CONSUMER_TYPE_LIGHT)
155 FetchLight(ambient_light_sensor_.get(), light_buffer_); 154 FetchLight(ambient_light_sensor_.get(), light_buffer_);
156 } 155 }
157 156
158 DataFetcherSharedMemory::FetcherType DataFetcherSharedMemory::GetType() const { 157 DataFetcherSharedMemory::FetcherType DataFetcherSharedMemory::GetType() const {
159 return FETCHER_TYPE_POLLING_CALLBACK; 158 return FETCHER_TYPE_POLLING_CALLBACK;
160 } 159 }
161 160
162 bool DataFetcherSharedMemory::Start(ConsumerType consumer_type, void* buffer) { 161 bool DataFetcherSharedMemory::Start(ConsumerType consumer_type, void* buffer) {
163 DCHECK(GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread()); 162 DCHECK(base::MessageLoop::current() == GetPollingMessageLoop());
164 DCHECK(buffer); 163 DCHECK(buffer);
165 164
166 switch (consumer_type) { 165 switch (consumer_type) {
167 case CONSUMER_TYPE_MOTION: { 166 case CONSUMER_TYPE_MOTION: {
168 if (!sudden_motion_sensor_) 167 if (!sudden_motion_sensor_)
169 sudden_motion_sensor_.reset(SuddenMotionSensor::Create()); 168 sudden_motion_sensor_.reset(SuddenMotionSensor::Create());
170 bool sudden_motion_sensor_available = 169 bool sudden_motion_sensor_available =
171 sudden_motion_sensor_.get() != nullptr; 170 sudden_motion_sensor_.get() != nullptr;
172 171
173 motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(buffer); 172 motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(buffer);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 } 228 }
230 return ambient_light_sensor_available; 229 return ambient_light_sensor_available;
231 } 230 }
232 default: 231 default:
233 NOTREACHED(); 232 NOTREACHED();
234 } 233 }
235 return false; 234 return false;
236 } 235 }
237 236
238 bool DataFetcherSharedMemory::Stop(ConsumerType consumer_type) { 237 bool DataFetcherSharedMemory::Stop(ConsumerType consumer_type) {
239 DCHECK(GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread()); 238 DCHECK(base::MessageLoop::current() == GetPollingMessageLoop());
240 239
241 switch (consumer_type) { 240 switch (consumer_type) {
242 case CONSUMER_TYPE_MOTION: 241 case CONSUMER_TYPE_MOTION:
243 if (motion_buffer_) { 242 if (motion_buffer_) {
244 motion_buffer_->seqlock.WriteBegin(); 243 motion_buffer_->seqlock.WriteBegin();
245 motion_buffer_->data.allAvailableSensorsAreActive = false; 244 motion_buffer_->data.allAvailableSensorsAreActive = false;
246 motion_buffer_->seqlock.WriteEnd(); 245 motion_buffer_->seqlock.WriteEnd();
247 motion_buffer_ = nullptr; 246 motion_buffer_ = nullptr;
248 } 247 }
249 return true; 248 return true;
(...skipping 21 matching lines...) Expand all
271 light_buffer_ = nullptr; 270 light_buffer_ = nullptr;
272 } 271 }
273 return true; 272 return true;
274 default: 273 default:
275 NOTREACHED(); 274 NOTREACHED();
276 } 275 }
277 return false; 276 return false;
278 } 277 }
279 278
280 } // namespace content 279 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698