Chromium Code Reviews| Index: third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
| diff --git a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
| index cbf441f258c67d68247c467845a1b6c6623572da..0433ee9c19247e311e8036118a053188f1eae4c3 100644 |
| --- a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
| +++ b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
| @@ -35,6 +35,17 @@ bool trackIsInactive(const MediaStreamTrack& track) |
| return track.readyState() != "live" || !track.enabled() || track.muted(); |
| } |
| +media::mojom::blink::MeteringMode MeteringModeBlinkToMojo(const String& blinkMode) |
|
Reilly Grant (use Gerrit)
2016/08/24 18:14:03
This isn't really Blink's metering mode. I'd name
mcasas
2016/08/24 18:36:23
Done.
|
| +{ |
| + if (blinkMode == "manual") |
| + return media::mojom::blink::MeteringMode::MANUAL; |
| + if (blinkMode == "single-shot") |
| + return media::mojom::blink::MeteringMode::SINGLE_SHOT; |
| + if (blinkMode == "continuous") |
| + return media::mojom::blink::MeteringMode::CONTINUOUS; |
| + return media::mojom::blink::MeteringMode::UNAVAILABLE; |
| +} |
| + |
| } // anonymous namespace |
| ImageCapture* ImageCapture::create(ExecutionContext* context, MediaStreamTrack* track, ExceptionState& exceptionState) |
| @@ -125,16 +136,11 @@ ScriptPromise ImageCapture::setOptions(ScriptState* scriptState, const PhotoSett |
| if (settings->has_width) |
| settings->width = photoSettings.imageWidth(); |
| settings->has_focus_mode = photoSettings.hasFocusMode(); |
| - if (settings->has_focus_mode) { |
| - if (photoSettings.focusMode() == "manual") |
| - settings->focus_mode = media::mojom::blink::FocusMode::MANUAL; |
| - else if (photoSettings.focusMode() == "single-shot") |
| - settings->focus_mode = media::mojom::blink::FocusMode::SINGLE_SHOT; |
| - else if (photoSettings.focusMode() == "continuous") |
| - settings->focus_mode = media::mojom::blink::FocusMode::CONTINUOUS; |
| - else |
| - settings->has_focus_mode = false; |
| - } |
| + if (settings->has_focus_mode) |
| + settings->focus_mode = MeteringModeBlinkToMojo(photoSettings.focusMode()); |
| + settings->has_exposure_mode = photoSettings.hasExposureMode(); |
| + if (settings->has_exposure_mode) |
| + settings->exposure_mode = MeteringModeBlinkToMojo(photoSettings.exposureMode()); |
| if (photoSettings.hasPointsOfInterest()) { |
| for (const auto& point : photoSettings.pointsOfInterest()) { |
| auto mojoPoint = media::mojom::blink::Point2D::New(); |
| @@ -232,6 +238,7 @@ void ImageCapture::onCapabilities(ScriptPromiseResolver* resolver, media::mojom: |
| caps->setImageWidth(width); |
| caps->setZoom(zoom); |
| caps->setFocusMode(capabilities->focus_mode); |
| + caps->setExposureMode(capabilities->exposure_mode); |
| resolver->resolve(caps); |
| } |
| m_serviceRequests.remove(resolver); |