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); |