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 74672df28853710172195b191624a5ed0c87459b..2e1170ba7d5907d5505d6d73f67c89a2fda03337 100644 |
--- a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
+++ b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp |
@@ -16,7 +16,6 @@ |
#include "modules/imagecapture/PhotoSettings.h" |
#include "modules/mediastream/MediaStreamTrack.h" |
#include "modules/mediastream/MediaTrackCapabilities.h" |
-#include "modules/mediastream/MediaTrackConstraintSet.h" |
#include "platform/WaitableEvent.h" |
#include "platform/mojo/MojoHelper.h" |
#include "public/platform/InterfaceProvider.h" |
@@ -300,12 +299,14 @@ void ImageCapture::setMediaTrackConstraints( |
settings->has_white_balance_mode = constraints.hasWhiteBalanceMode() && |
constraints.whiteBalanceMode().isString(); |
if (settings->has_white_balance_mode) { |
+ m_currentConstraints.setWhiteBalanceMode(constraints.whiteBalanceMode()); |
settings->white_balance_mode = |
parseMeteringMode(constraints.whiteBalanceMode().getAsString()); |
} |
settings->has_exposure_mode = |
constraints.hasExposureMode() && constraints.exposureMode().isString(); |
if (settings->has_exposure_mode) { |
+ m_currentConstraints.setExposureMode(constraints.exposureMode()); |
settings->exposure_mode = |
parseMeteringMode(constraints.exposureMode().getAsString()); |
} |
@@ -313,6 +314,7 @@ void ImageCapture::setMediaTrackConstraints( |
settings->has_focus_mode = |
constraints.hasFocusMode() && constraints.focusMode().isString(); |
if (settings->has_focus_mode) { |
+ m_currentConstraints.setFocusMode(constraints.focusMode()); |
settings->focus_mode = |
parseMeteringMode(constraints.focusMode().getAsString()); |
} |
@@ -322,37 +324,53 @@ void ImageCapture::setMediaTrackConstraints( |
constraints.hasExposureCompensation() && |
constraints.exposureCompensation().isDouble(); |
if (settings->has_exposure_compensation) { |
+ m_currentConstraints.setExposureCompensation( |
+ constraints.exposureCompensation()); |
settings->exposure_compensation = |
constraints.exposureCompensation().getAsDouble(); |
} |
settings->has_color_temperature = constraints.hasColorTemperature() && |
constraints.colorTemperature().isDouble(); |
- if (settings->has_color_temperature) |
+ if (settings->has_color_temperature) { |
+ m_currentConstraints.setColorTemperature(constraints.colorTemperature()); |
settings->color_temperature = constraints.colorTemperature().getAsDouble(); |
+ } |
settings->has_iso = constraints.hasIso() && constraints.iso().isDouble(); |
- if (settings->has_iso) |
+ if (settings->has_iso) { |
+ m_currentConstraints.setIso(constraints.iso()); |
settings->iso = constraints.iso().getAsDouble(); |
+ } |
settings->has_brightness = |
constraints.hasBrightness() && constraints.brightness().isDouble(); |
- if (settings->has_brightness) |
+ if (settings->has_brightness) { |
+ m_currentConstraints.setBrightness(constraints.brightness()); |
settings->brightness = constraints.brightness().getAsDouble(); |
+ } |
settings->has_contrast = |
constraints.hasContrast() && constraints.contrast().isDouble(); |
- if (settings->has_contrast) |
+ if (settings->has_contrast) { |
+ m_currentConstraints.setContrast(constraints.contrast()); |
settings->contrast = constraints.contrast().getAsDouble(); |
+ } |
settings->has_saturation = |
constraints.hasSaturation() && constraints.saturation().isDouble(); |
- if (settings->has_saturation) |
+ if (settings->has_saturation) { |
+ m_currentConstraints.setSaturation(constraints.saturation()); |
settings->saturation = constraints.saturation().getAsDouble(); |
+ } |
settings->has_sharpness = |
constraints.hasSharpness() && constraints.sharpness().isDouble(); |
- if (settings->has_sharpness) |
+ if (settings->has_sharpness) { |
+ m_currentConstraints.setSharpness(constraints.sharpness()); |
settings->sharpness = constraints.sharpness().getAsDouble(); |
+ } |
settings->has_zoom = constraints.hasZoom() && constraints.zoom().isDouble(); |
- if (settings->has_zoom) |
+ if (settings->has_zoom) { |
+ m_currentConstraints.setZoom(constraints.zoom()); |
settings->zoom = constraints.zoom().getAsDouble(); |
+ } |
// TODO(mcasas): add |torch| when the mojom interface is updated, |
// https://crbug.com/700607. |
@@ -364,6 +382,10 @@ void ImageCapture::setMediaTrackConstraints( |
wrapPersistent(resolver)))); |
} |
+const MediaTrackConstraintSet& ImageCapture::getMediaTrackConstraints() const { |
+ return m_currentConstraints; |
+} |
+ |
ImageCapture::ImageCapture(ExecutionContext* context, MediaStreamTrack* track) |
: ContextLifecycleObserver(context), m_streamTrack(track) { |
DCHECK(m_streamTrack); |