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 |