Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp

Issue 2301053004: Image Capture: adding fillLightMode getting/setting (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 25 matching lines...) Expand all
36 } 36 }
37 37
38 media::mojom::blink::MeteringMode parseMeteringMode(const String& blinkMode) 38 media::mojom::blink::MeteringMode parseMeteringMode(const String& blinkMode)
39 { 39 {
40 if (blinkMode == "manual") 40 if (blinkMode == "manual")
41 return media::mojom::blink::MeteringMode::MANUAL; 41 return media::mojom::blink::MeteringMode::MANUAL;
42 if (blinkMode == "single-shot") 42 if (blinkMode == "single-shot")
43 return media::mojom::blink::MeteringMode::SINGLE_SHOT; 43 return media::mojom::blink::MeteringMode::SINGLE_SHOT;
44 if (blinkMode == "continuous") 44 if (blinkMode == "continuous")
45 return media::mojom::blink::MeteringMode::CONTINUOUS; 45 return media::mojom::blink::MeteringMode::CONTINUOUS;
46 return media::mojom::blink::MeteringMode::UNAVAILABLE; 46 return media::mojom::blink::MeteringMode::NONE;
47 }
48
49 media::mojom::blink::FillLightMode parseFillLightMode(const String& blinkMode)
50 {
51 if (blinkMode == "off")
52 return media::mojom::blink::FillLightMode::OFF;
53 if (blinkMode == "auto")
54 return media::mojom::blink::FillLightMode::AUTO;
55 if (blinkMode == "flash")
56 return media::mojom::blink::FillLightMode::FLASH;
57 if (blinkMode == "torch")
58 return media::mojom::blink::FillLightMode::TORCH;
59 return media::mojom::blink::FillLightMode::NONE;
47 } 60 }
48 61
49 } // anonymous namespace 62 } // anonymous namespace
50 63
51 ImageCapture* ImageCapture::create(ExecutionContext* context, MediaStreamTrack* track, ExceptionState& exceptionState) 64 ImageCapture* ImageCapture::create(ExecutionContext* context, MediaStreamTrack* track, ExceptionState& exceptionState)
52 { 65 {
53 if (track->kind() != "video") { 66 if (track->kind() != "video") {
54 exceptionState.throwDOMException(NotSupportedError, "Cannot create an Im ageCapturer from a non-video Track."); 67 exceptionState.throwDOMException(NotSupportedError, "Cannot create an Im ageCapturer from a non-video Track.");
55 return nullptr; 68 return nullptr;
56 } 69 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 settings->exposure_compensation = photoSettings.exposureCompensation(); 159 settings->exposure_compensation = photoSettings.exposureCompensation();
147 settings->has_white_balance_mode = photoSettings.hasWhiteBalanceMode(); 160 settings->has_white_balance_mode = photoSettings.hasWhiteBalanceMode();
148 if (settings->has_white_balance_mode) 161 if (settings->has_white_balance_mode)
149 settings->white_balance_mode = parseMeteringMode(photoSettings.whiteBala nceMode()); 162 settings->white_balance_mode = parseMeteringMode(photoSettings.whiteBala nceMode());
150 settings->has_iso = photoSettings.hasIso(); 163 settings->has_iso = photoSettings.hasIso();
151 if (settings->has_iso) 164 if (settings->has_iso)
152 settings->iso = photoSettings.iso(); 165 settings->iso = photoSettings.iso();
153 settings->has_red_eye_reduction = photoSettings.hasRedEyeReduction(); 166 settings->has_red_eye_reduction = photoSettings.hasRedEyeReduction();
154 if (settings->has_red_eye_reduction) 167 if (settings->has_red_eye_reduction)
155 settings->red_eye_reduction = photoSettings.redEyeReduction(); 168 settings->red_eye_reduction = photoSettings.redEyeReduction();
169 settings->has_fill_light_mode = photoSettings.hasExposureMode();
170 if (settings->has_fill_light_mode)
171 settings->fill_light_mode = parseFillLightMode(photoSettings.fillLightMo de());
156 if (photoSettings.hasPointsOfInterest()) { 172 if (photoSettings.hasPointsOfInterest()) {
157 for (const auto& point : photoSettings.pointsOfInterest()) { 173 for (const auto& point : photoSettings.pointsOfInterest()) {
158 auto mojoPoint = media::mojom::blink::Point2D::New(); 174 auto mojoPoint = media::mojom::blink::Point2D::New();
159 mojoPoint->x = point.x(); 175 mojoPoint->x = point.x();
160 mojoPoint->y = point.y(); 176 mojoPoint->y = point.y();
161 settings->points_of_interest.append(std::move(mojoPoint)); 177 settings->points_of_interest.append(std::move(mojoPoint));
162 } 178 }
163 } 179 }
164 180
165 m_service->SetOptions(m_streamTrack->component()->source()->id(), std::move( settings), convertToBaseCallback(WTF::bind(&ImageCapture::onSetOptions, wrapPers istent(this), wrapPersistent(resolver)))); 181 m_service->SetOptions(m_streamTrack->component()->source()->id(), std::move( settings), convertToBaseCallback(WTF::bind(&ImageCapture::onSetOptions, wrapPers istent(this), wrapPersistent(resolver))));
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 MediaSettingsRange* exposureCompensation = MediaSettingsRange::create(ca pabilities->exposure_compensation->max, capabilities->exposure_compensation->min , capabilities->exposure_compensation->current); 263 MediaSettingsRange* exposureCompensation = MediaSettingsRange::create(ca pabilities->exposure_compensation->max, capabilities->exposure_compensation->min , capabilities->exposure_compensation->current);
248 PhotoCapabilities* caps = PhotoCapabilities::create(); 264 PhotoCapabilities* caps = PhotoCapabilities::create();
249 caps->setIso(iso); 265 caps->setIso(iso);
250 caps->setImageHeight(height); 266 caps->setImageHeight(height);
251 caps->setImageWidth(width); 267 caps->setImageWidth(width);
252 caps->setZoom(zoom); 268 caps->setZoom(zoom);
253 caps->setFocusMode(capabilities->focus_mode); 269 caps->setFocusMode(capabilities->focus_mode);
254 caps->setExposureMode(capabilities->exposure_mode); 270 caps->setExposureMode(capabilities->exposure_mode);
255 caps->setExposureCompensation(exposureCompensation); 271 caps->setExposureCompensation(exposureCompensation);
256 caps->setWhiteBalanceMode(capabilities->white_balance_mode); 272 caps->setWhiteBalanceMode(capabilities->white_balance_mode);
273 caps->setFillLightMode(capabilities->fill_light_mode);
257 resolver->resolve(caps); 274 resolver->resolve(caps);
258 } 275 }
259 m_serviceRequests.remove(resolver); 276 m_serviceRequests.remove(resolver);
260 } 277 }
261 278
262 void ImageCapture::onSetOptions(ScriptPromiseResolver* resolver, bool result) 279 void ImageCapture::onSetOptions(ScriptPromiseResolver* resolver, bool result)
263 { 280 {
264 if (!m_serviceRequests.contains(resolver)) 281 if (!m_serviceRequests.contains(resolver))
265 return; 282 return;
266 283
(...skipping 27 matching lines...) Expand all
294 311
295 DEFINE_TRACE(ImageCapture) 312 DEFINE_TRACE(ImageCapture)
296 { 313 {
297 visitor->trace(m_streamTrack); 314 visitor->trace(m_streamTrack);
298 visitor->trace(m_serviceRequests); 315 visitor->trace(m_serviceRequests);
299 EventTargetWithInlineData::trace(visitor); 316 EventTargetWithInlineData::trace(visitor);
300 ContextLifecycleObserver::trace(visitor); 317 ContextLifecycleObserver::trace(visitor);
301 } 318 }
302 319
303 } // namespace blink 320 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698