| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/imagecapture/ImageCapture.h" | 5 #include "modules/imagecapture/ImageCapture.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/CallbackPromiseAdapter.h" | 7 #include "bindings/core/v8/CallbackPromiseAdapter.h" |
| 8 #include "bindings/core/v8/ScriptPromiseResolver.h" | 8 #include "bindings/core/v8/ScriptPromiseResolver.h" |
| 9 #include "core/dom/DOMException.h" | 9 #include "core/dom/DOMException.h" |
| 10 #include "core/dom/ExceptionCode.h" | 10 #include "core/dom/ExceptionCode.h" |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 } | 520 } |
| 521 | 521 |
| 522 void ImageCapture::onCapabilitiesUpdate( | 522 void ImageCapture::onCapabilitiesUpdate( |
| 523 media::mojom::blink::PhotoCapabilitiesPtr capabilities) { | 523 media::mojom::blink::PhotoCapabilitiesPtr capabilities) { |
| 524 if (!capabilities.is_null()) | 524 if (!capabilities.is_null()) |
| 525 onCapabilitiesUpdateInternal(*capabilities); | 525 onCapabilitiesUpdateInternal(*capabilities); |
| 526 } | 526 } |
| 527 | 527 |
| 528 void ImageCapture::onCapabilitiesUpdateInternal( | 528 void ImageCapture::onCapabilitiesUpdateInternal( |
| 529 const media::mojom::blink::PhotoCapabilities& capabilities) { | 529 const media::mojom::blink::PhotoCapabilities& capabilities) { |
| 530 // TODO(mcasas): adapt the mojo interface to return a list of supported Modes | 530 WTF::Vector<WTF::String> supportedWhiteBalanceModes; |
| 531 // when moving these out of PhotoCapabilities, https://crbug.com/700607. | 531 supportedWhiteBalanceModes.reserveInitialCapacity( |
| 532 m_capabilities.setWhiteBalanceMode( | 532 capabilities.supported_white_balance_modes.size()); |
| 533 WTF::Vector<WTF::String>({toString(capabilities.white_balance_mode)})); | 533 for (const auto& supported_mode : capabilities.supported_white_balance_modes) |
| 534 if (m_capabilities.hasWhiteBalanceMode()) | 534 supportedWhiteBalanceModes.push_back(toString(supported_mode)); |
| 535 m_settings.setWhiteBalanceMode(m_capabilities.whiteBalanceMode()[0]); | 535 if (!supportedWhiteBalanceModes.isEmpty()) { |
| 536 m_capabilities.setExposureMode( | 536 m_capabilities.setWhiteBalanceMode(std::move(supportedWhiteBalanceModes)); |
| 537 WTF::Vector<WTF::String>({toString(capabilities.exposure_mode)})); | 537 m_settings.setWhiteBalanceMode( |
| 538 if (m_capabilities.hasExposureMode()) | 538 toString(capabilities.current_white_balance_mode)); |
| 539 m_settings.setExposureMode(m_capabilities.exposureMode()[0]); | 539 } |
| 540 m_capabilities.setFocusMode( | 540 |
| 541 WTF::Vector<WTF::String>({toString(capabilities.focus_mode)})); | 541 WTF::Vector<WTF::String> supportedExposureModes; |
| 542 if (m_capabilities.hasFocusMode()) | 542 supportedExposureModes.reserveInitialCapacity( |
| 543 m_settings.setFocusMode(m_capabilities.focusMode()[0]); | 543 capabilities.supported_exposure_modes.size()); |
| 544 for (const auto& supported_mode : capabilities.supported_exposure_modes) |
| 545 supportedExposureModes.push_back(toString(supported_mode)); |
| 546 if (!supportedExposureModes.isEmpty()) { |
| 547 m_capabilities.setExposureMode(std::move(supportedExposureModes)); |
| 548 m_settings.setExposureMode(toString(capabilities.current_exposure_mode)); |
| 549 } |
| 550 |
| 551 WTF::Vector<WTF::String> supportedFocusModes; |
| 552 supportedFocusModes.reserveInitialCapacity( |
| 553 capabilities.supported_focus_modes.size()); |
| 554 for (const auto& supported_mode : capabilities.supported_focus_modes) |
| 555 supportedFocusModes.push_back(toString(supported_mode)); |
| 556 if (!supportedFocusModes.isEmpty()) { |
| 557 m_capabilities.setFocusMode(std::move(supportedFocusModes)); |
| 558 m_settings.setFocusMode(toString(capabilities.current_focus_mode)); |
| 559 } |
| 544 | 560 |
| 545 HeapVector<Point2D> currentPointsOfInterest; | 561 HeapVector<Point2D> currentPointsOfInterest; |
| 546 if (!capabilities.points_of_interest.isEmpty()) { | 562 if (!capabilities.points_of_interest.isEmpty()) { |
| 547 for (const auto& point : capabilities.points_of_interest) { | 563 for (const auto& point : capabilities.points_of_interest) { |
| 548 Point2D webPoint; | 564 Point2D webPoint; |
| 549 webPoint.setX(point->x); | 565 webPoint.setX(point->x); |
| 550 webPoint.setY(point->y); | 566 webPoint.setY(point->y); |
| 551 currentPointsOfInterest.push_back(mojo::Clone(webPoint)); | 567 currentPointsOfInterest.push_back(mojo::Clone(webPoint)); |
| 552 } | 568 } |
| 553 } | 569 } |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 visitor->trace(m_streamTrack); | 632 visitor->trace(m_streamTrack); |
| 617 visitor->trace(m_capabilities); | 633 visitor->trace(m_capabilities); |
| 618 visitor->trace(m_settings); | 634 visitor->trace(m_settings); |
| 619 visitor->trace(m_currentConstraints); | 635 visitor->trace(m_currentConstraints); |
| 620 visitor->trace(m_serviceRequests); | 636 visitor->trace(m_serviceRequests); |
| 621 EventTargetWithInlineData::trace(visitor); | 637 EventTargetWithInlineData::trace(visitor); |
| 622 ContextLifecycleObserver::trace(visitor); | 638 ContextLifecycleObserver::trace(visitor); |
| 623 } | 639 } |
| 624 | 640 |
| 625 } // namespace blink | 641 } // namespace blink |
| OLD | NEW |