void Sensor::startListening() { DCHECK(m_sensorProxy); updateState(Sensor::SensorState::ACTIVATING); m_sensorProxy->addObserver(this); if (!m_sensorProxy->isInitialized()) { m_sensorProxy->initialize(); return; } if (!m_configuration) { m_configuration = createSensorConfig(m_sensorOptions, *m_sensorProxy->defaultConfig()); DCHECK(m_configuration); } auto startCallback = WTF::bind(&Sensor::onStartRequestCompleted, wrapWeakPersistent(this)); m_sensorProxy->addConfiguration(m_configuration->Clone(), std::move(startCallback)); }
void Sensor::startListening() { DCHECK(m_sensorProxy); updateState(Sensor::SensorState::Activating); m_sensorProxy->addObserver(this); if (!m_sensorProxy->isInitialized()) { m_sensorProxy->initialize(); return; } if (!m_configuration) { m_configuration = createSensorConfig(); DCHECK(m_configuration); DCHECK(m_configuration->frequency > 0 && m_configuration->frequency <= m_sensorProxy->maximumFrequency()); } auto startCallback = WTF::bind(&Sensor::onStartRequestCompleted, wrapWeakPersistent(this)); m_sensorProxy->addConfiguration(m_configuration->Clone(), std::move(startCallback)); }