| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "modules/sensor/AmbientLightSensor.h" |
| |
| #include "bindings/core/v8/ScriptPromise.h" |
| #include "bindings/core/v8/ScriptPromiseResolver.h" |
| #include "modules/sensor/AmbientLightSensorReading.h" |
| |
| using device::mojom::blink::SensorType; |
| |
| namespace blink { |
| |
| // static |
| AmbientLightSensor* AmbientLightSensor::create(ScriptState* scriptState, |
| const SensorOptions& options, |
| ExceptionState& exceptionState) { |
| return new AmbientLightSensor(scriptState, options, exceptionState); |
| } |
| |
| // static |
| AmbientLightSensor* AmbientLightSensor::create(ScriptState* scriptState, |
| ExceptionState& exceptionState) { |
| return create(scriptState, SensorOptions(), exceptionState); |
| } |
| |
| AmbientLightSensor::AmbientLightSensor(ScriptState* scriptState, |
| const SensorOptions& options, |
| ExceptionState& exceptionState) |
| : Sensor(scriptState, options, exceptionState, SensorType::AMBIENT_LIGHT) {} |
| |
| AmbientLightSensorReading* AmbientLightSensor::reading() const { |
| return static_cast<AmbientLightSensorReading*>(Sensor::reading()); |
| } |
| |
| std::unique_ptr<SensorReadingFactory> |
| AmbientLightSensor::createSensorReadingFactory() { |
| return std::unique_ptr<SensorReadingFactory>( |
| new SensorReadingFactoryImpl<AmbientLightSensorReading>()); |
| } |
| |
| auto AmbientLightSensor::createSensorConfig( |
| const SensorOptions& options, |
| const SensorConfiguration& defaultConfig) -> SensorConfigurationPtr { |
| auto result = device::mojom::blink::SensorConfiguration::New(); |
| result->frequency = |
| options.hasFrequency() ? options.frequency() : defaultConfig.frequency; |
| return result; |
| } |
| |
| DEFINE_TRACE(AmbientLightSensor) { |
| Sensor::trace(visitor); |
| } |
| |
| } // namespace blink |