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

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

Issue 2387303002: Image Capture Linux/CrOs, implement brightness, contrast, saturation and sharpness (Closed)
Patch Set: Created 4 years, 2 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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 for (const auto& point : photoSettings.pointsOfInterest()) { 178 for (const auto& point : photoSettings.pointsOfInterest()) {
179 auto mojoPoint = media::mojom::blink::Point2D::New(); 179 auto mojoPoint = media::mojom::blink::Point2D::New();
180 mojoPoint->x = point.x(); 180 mojoPoint->x = point.x();
181 mojoPoint->y = point.y(); 181 mojoPoint->y = point.y();
182 settings->points_of_interest.append(std::move(mojoPoint)); 182 settings->points_of_interest.append(std::move(mojoPoint));
183 } 183 }
184 } 184 }
185 settings->has_color_temperature = photoSettings.hasColorTemperature(); 185 settings->has_color_temperature = photoSettings.hasColorTemperature();
186 if (settings->has_color_temperature) 186 if (settings->has_color_temperature)
187 settings->color_temperature = photoSettings.colorTemperature(); 187 settings->color_temperature = photoSettings.colorTemperature();
188 settings->has_brightness = photoSettings.hasBrightness();
189 if (settings->has_brightness)
190 settings->brightness = photoSettings.brightness();
191 settings->has_contrast = photoSettings.hasContrast();
192 if (settings->has_contrast)
193 settings->contrast = photoSettings.contrast();
194 settings->has_saturation = photoSettings.hasSaturation();
195 if (settings->has_saturation)
196 settings->saturation = photoSettings.saturation();
197 settings->has_sharpness = photoSettings.hasSharpness();
198 if (settings->has_sharpness)
199 settings->sharpness = photoSettings.sharpness();
188 200
189 m_service->SetOptions(m_streamTrack->component()->source()->id(), 201 m_service->SetOptions(m_streamTrack->component()->source()->id(),
190 std::move(settings), 202 std::move(settings),
191 convertToBaseCallback(WTF::bind( 203 convertToBaseCallback(WTF::bind(
192 &ImageCapture::onSetOptions, wrapPersistent(this), 204 &ImageCapture::onSetOptions, wrapPersistent(this),
193 wrapPersistent(resolver)))); 205 wrapPersistent(resolver))));
194 return promise; 206 return promise;
195 } 207 }
196 208
197 ScriptPromise ImageCapture::takePhoto(ScriptState* scriptState, 209 ScriptPromise ImageCapture::takePhoto(ScriptState* scriptState,
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 capabilities->zoom->max, capabilities->zoom->min, 301 capabilities->zoom->max, capabilities->zoom->min,
290 capabilities->zoom->current); 302 capabilities->zoom->current);
291 MediaSettingsRange* exposureCompensation = MediaSettingsRange::create( 303 MediaSettingsRange* exposureCompensation = MediaSettingsRange::create(
292 capabilities->exposure_compensation->max, 304 capabilities->exposure_compensation->max,
293 capabilities->exposure_compensation->min, 305 capabilities->exposure_compensation->min,
294 capabilities->exposure_compensation->current); 306 capabilities->exposure_compensation->current);
295 MediaSettingsRange* colorTemperature = 307 MediaSettingsRange* colorTemperature =
296 MediaSettingsRange::create(capabilities->color_temperature->max, 308 MediaSettingsRange::create(capabilities->color_temperature->max,
297 capabilities->color_temperature->min, 309 capabilities->color_temperature->min,
298 capabilities->color_temperature->current); 310 capabilities->color_temperature->current);
311 MediaSettingsRange* brightness = MediaSettingsRange::create(
312 capabilities->brightness->max, capabilities->brightness->min,
313 capabilities->brightness->current);
314 MediaSettingsRange* contrast = MediaSettingsRange::create(
315 capabilities->contrast->max, capabilities->contrast->min,
316 capabilities->contrast->current);
317 MediaSettingsRange* saturation = MediaSettingsRange::create(
318 capabilities->saturation->max, capabilities->saturation->min,
319 capabilities->saturation->current);
320 MediaSettingsRange* sharpness = MediaSettingsRange::create(
321 capabilities->sharpness->max, capabilities->sharpness->min,
322 capabilities->sharpness->current);
299 PhotoCapabilities* caps = PhotoCapabilities::create(); 323 PhotoCapabilities* caps = PhotoCapabilities::create();
300 caps->setIso(iso); 324 caps->setIso(iso);
301 caps->setImageHeight(height); 325 caps->setImageHeight(height);
302 caps->setImageWidth(width); 326 caps->setImageWidth(width);
303 caps->setZoom(zoom); 327 caps->setZoom(zoom);
304 caps->setFocusMode(capabilities->focus_mode); 328 caps->setFocusMode(capabilities->focus_mode);
305 caps->setExposureMode(capabilities->exposure_mode); 329 caps->setExposureMode(capabilities->exposure_mode);
306 caps->setExposureCompensation(exposureCompensation); 330 caps->setExposureCompensation(exposureCompensation);
307 caps->setWhiteBalanceMode(capabilities->white_balance_mode); 331 caps->setWhiteBalanceMode(capabilities->white_balance_mode);
308 caps->setFillLightMode(capabilities->fill_light_mode); 332 caps->setFillLightMode(capabilities->fill_light_mode);
309 caps->setRedEyeReduction(capabilities->red_eye_reduction); 333 caps->setRedEyeReduction(capabilities->red_eye_reduction);
310 caps->setColorTemperature(colorTemperature); 334 caps->setColorTemperature(colorTemperature);
335 caps->setBrightness(brightness);
336 caps->setContrast(contrast);
337 caps->setSaturation(saturation);
338 caps->setSharpness(sharpness);
311 resolver->resolve(caps); 339 resolver->resolve(caps);
312 } 340 }
313 m_serviceRequests.remove(resolver); 341 m_serviceRequests.remove(resolver);
314 } 342 }
315 343
316 void ImageCapture::onSetOptions(ScriptPromiseResolver* resolver, bool result) { 344 void ImageCapture::onSetOptions(ScriptPromiseResolver* resolver, bool result) {
317 if (!m_serviceRequests.contains(resolver)) 345 if (!m_serviceRequests.contains(resolver))
318 return; 346 return;
319 347
320 if (result) 348 if (result)
(...skipping 25 matching lines...) Expand all
346 } 374 }
347 375
348 DEFINE_TRACE(ImageCapture) { 376 DEFINE_TRACE(ImageCapture) {
349 visitor->trace(m_streamTrack); 377 visitor->trace(m_streamTrack);
350 visitor->trace(m_serviceRequests); 378 visitor->trace(m_serviceRequests);
351 EventTargetWithInlineData::trace(visitor); 379 EventTargetWithInlineData::trace(visitor);
352 ContextLifecycleObserver::trace(visitor); 380 ContextLifecycleObserver::trace(visitor);
353 } 381 }
354 382
355 } // namespace blink 383 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698