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

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

Issue 2410123002: Remove content::BrowserThread knowledge from Device Sensors (Closed)
Patch Set: Rebase, avoid object creation on startup Created 4 years, 1 month 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/device_sensor_service.h" 5 #include "content/browser/device_sensors/device_sensor_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/singleton.h" 9 #include "base/memory/singleton.h"
10 #include "content/browser/device_sensors/data_fetcher_shared_memory.h" 10 #include "content/browser/device_sensors/data_fetcher_shared_memory.h"
(...skipping 28 matching lines...) Expand all
39 void DeviceSensorService::RemoveConsumer(ConsumerType consumer_type) { 39 void DeviceSensorService::RemoveConsumer(ConsumerType consumer_type) {
40 if (!ChangeNumberConsumers(consumer_type, -1)) 40 if (!ChangeNumberConsumers(consumer_type, -1))
41 return; 41 return;
42 42
43 if (GetNumberConsumers(consumer_type) == 0) 43 if (GetNumberConsumers(consumer_type) == 0)
44 data_fetcher_->StopFetchingDeviceData(consumer_type); 44 data_fetcher_->StopFetchingDeviceData(consumer_type);
45 } 45 }
46 46
47 bool DeviceSensorService::ChangeNumberConsumers(ConsumerType consumer_type, 47 bool DeviceSensorService::ChangeNumberConsumers(ConsumerType consumer_type,
48 int delta) { 48 int delta) {
49 DCHECK(thread_checker_.CalledOnValidThread()); 49 DCHECK(io_thread_checker_.CalledOnValidThread());
50 if (is_shutdown_) 50 if (is_shutdown_)
51 return false; 51 return false;
52 52
53 switch (consumer_type) { 53 switch (consumer_type) {
54 case CONSUMER_TYPE_MOTION: 54 case CONSUMER_TYPE_MOTION:
55 num_motion_readers_ += delta; 55 num_motion_readers_ += delta;
56 DCHECK_GE(num_motion_readers_, 0); 56 DCHECK_GE(num_motion_readers_, 0);
57 return true; 57 return true;
58 case CONSUMER_TYPE_ORIENTATION: 58 case CONSUMER_TYPE_ORIENTATION:
59 num_orientation_readers_ += delta; 59 num_orientation_readers_ += delta;
(...skipping 24 matching lines...) Expand all
84 case CONSUMER_TYPE_LIGHT: 84 case CONSUMER_TYPE_LIGHT:
85 return num_light_readers_; 85 return num_light_readers_;
86 default: 86 default:
87 NOTREACHED(); 87 NOTREACHED();
88 } 88 }
89 return 0; 89 return 0;
90 } 90 }
91 91
92 mojo::ScopedSharedBufferHandle DeviceSensorService::GetSharedMemoryHandle( 92 mojo::ScopedSharedBufferHandle DeviceSensorService::GetSharedMemoryHandle(
93 ConsumerType consumer_type) { 93 ConsumerType consumer_type) {
94 DCHECK(thread_checker_.CalledOnValidThread()); 94 DCHECK(io_thread_checker_.CalledOnValidThread());
95 return data_fetcher_->GetSharedMemoryHandle(consumer_type); 95 return data_fetcher_->GetSharedMemoryHandle(consumer_type);
96 } 96 }
97 97
98 void DeviceSensorService::Shutdown() { 98 void DeviceSensorService::ShutDownOnUIThread() {
99 if (data_fetcher_) { 99 if (data_fetcher_) {
100 data_fetcher_->Shutdown(); 100 data_fetcher_->ShutDownOnUIThread();
101 data_fetcher_.reset(); 101 data_fetcher_.reset();
102 } 102 }
103 is_shutdown_ = true; 103 is_shutdown_ = true;
104 } 104 }
105 105
106 void DeviceSensorService::SetDataFetcherForTesting( 106 void DeviceSensorService::SetDataFetcherForTesting(
107 DataFetcherSharedMemory* test_data_fetcher) { 107 DataFetcherSharedMemory* test_data_fetcher) {
108 if (data_fetcher_) 108 if (data_fetcher_)
109 data_fetcher_->Shutdown(); 109 data_fetcher_->ShutDownOnUIThread();
110 data_fetcher_.reset(test_data_fetcher); 110 data_fetcher_.reset(test_data_fetcher);
111 } 111 }
112 112
113 } // namespace content 113 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/device_sensors/device_sensor_service.h ('k') | content/browser/device_sensors/sensor_manager_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698