namespace content {
DeviceInertialSensorService::DeviceInertialSensorService()
- : num_motion_readers_(0),
+ : num_light_readers_(0),
+ num_motion_readers_(0),
num_orientation_readers_(0),
is_shutdown_(false) {
}
num_orientation_readers_ += delta;
DCHECK_GE(num_orientation_readers_ , 0);
return true;
+ case CONSUMER_TYPE_LIGHT:
+ num_light_readers_ += delta;
+ DCHECK_GE(num_light_readers_, 0);
+ return true;
default:
NOTREACHED();
}
return num_motion_readers_;
case CONSUMER_TYPE_ORIENTATION:
return num_orientation_readers_;
+ case CONSUMER_TYPE_LIGHT:
+ return num_light_readers_;
default:
NOTREACHED();
}
}
void DeviceInertialSensorService::Shutdown() {
- data_fetcher_.reset();
+ if (data_fetcher_) {
+ data_fetcher_->StopFetchingAllDeviceData();
+ data_fetcher_.reset();
+ }
is_shutdown_ = true;
}
void DeviceInertialSensorService::SetDataFetcherForTesting(
DataFetcherSharedMemory* test_data_fetcher) {
+ if (data_fetcher_)
+ data_fetcher_->StopFetchingAllDeviceData();
data_fetcher_.reset(test_data_fetcher);
}