| 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 d38b64c30c5d4a6c24b600e926850cdbb092e675..9d8849f39fb0a92ec06a62e80aec42f0451ddd65 100644
|
| --- a/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
|
| +++ b/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp
|
| @@ -527,20 +527,36 @@ void ImageCapture::onCapabilitiesUpdate(
|
|
|
| void ImageCapture::onCapabilitiesUpdateInternal(
|
| const media::mojom::blink::PhotoCapabilities& capabilities) {
|
| - // TODO(mcasas): adapt the mojo interface to return a list of supported Modes
|
| - // when moving these out of PhotoCapabilities, https://crbug.com/700607.
|
| - m_capabilities.setWhiteBalanceMode(
|
| - WTF::Vector<WTF::String>({toString(capabilities.white_balance_mode)}));
|
| - if (m_capabilities.hasWhiteBalanceMode())
|
| - m_settings.setWhiteBalanceMode(m_capabilities.whiteBalanceMode()[0]);
|
| - m_capabilities.setExposureMode(
|
| - WTF::Vector<WTF::String>({toString(capabilities.exposure_mode)}));
|
| - if (m_capabilities.hasExposureMode())
|
| - m_settings.setExposureMode(m_capabilities.exposureMode()[0]);
|
| - m_capabilities.setFocusMode(
|
| - WTF::Vector<WTF::String>({toString(capabilities.focus_mode)}));
|
| - if (m_capabilities.hasFocusMode())
|
| - m_settings.setFocusMode(m_capabilities.focusMode()[0]);
|
| + WTF::Vector<WTF::String> supportedWhiteBalanceModes;
|
| + supportedWhiteBalanceModes.reserveInitialCapacity(
|
| + capabilities.supported_white_balance_modes.size());
|
| + for (const auto& supported_mode : capabilities.supported_white_balance_modes)
|
| + supportedWhiteBalanceModes.push_back(toString(supported_mode));
|
| + if (!supportedWhiteBalanceModes.isEmpty()) {
|
| + m_capabilities.setWhiteBalanceMode(std::move(supportedWhiteBalanceModes));
|
| + m_settings.setWhiteBalanceMode(
|
| + toString(capabilities.current_white_balance_mode));
|
| + }
|
| +
|
| + WTF::Vector<WTF::String> supportedExposureModes;
|
| + supportedExposureModes.reserveInitialCapacity(
|
| + capabilities.supported_exposure_modes.size());
|
| + for (const auto& supported_mode : capabilities.supported_exposure_modes)
|
| + supportedExposureModes.push_back(toString(supported_mode));
|
| + if (!supportedExposureModes.isEmpty()) {
|
| + m_capabilities.setExposureMode(std::move(supportedExposureModes));
|
| + m_settings.setExposureMode(toString(capabilities.current_exposure_mode));
|
| + }
|
| +
|
| + WTF::Vector<WTF::String> supportedFocusModes;
|
| + supportedFocusModes.reserveInitialCapacity(
|
| + capabilities.supported_focus_modes.size());
|
| + for (const auto& supported_mode : capabilities.supported_focus_modes)
|
| + supportedFocusModes.push_back(toString(supported_mode));
|
| + if (!supportedFocusModes.isEmpty()) {
|
| + m_capabilities.setFocusMode(std::move(supportedFocusModes));
|
| + m_settings.setFocusMode(toString(capabilities.current_focus_mode));
|
| + }
|
|
|
| HeapVector<Point2D> currentPointsOfInterest;
|
| if (!capabilities.points_of_interest.isEmpty()) {
|
|
|