| OLD | NEW |
| 1 "use strict"; | 1 "use strict"; |
| 2 | 2 |
| 3 let mockImageCaptureReady = define( | 3 let mockImageCaptureReady = define( |
| 4 'mockImageCapture', | 4 'mockImageCapture', |
| 5 ['media/capture/mojo/image_capture.mojom', | 5 ['media/capture/mojo/image_capture.mojom', |
| 6 'mojo/public/js/bindings', | 6 'mojo/public/js/bindings', |
| 7 'content/public/renderer/interfaces', | 7 'content/public/renderer/interfaces', |
| 8 ], (imageCapture, bindings, interfaces) => { | 8 ], (imageCapture, bindings, interfaces) => { |
| 9 | 9 |
| 10 class MockImageCapture { | 10 class MockImageCapture { |
| 11 constructor() { | 11 constructor() { |
| 12 interfaces.addInterfaceOverrideForTesting( | 12 interfaces.addInterfaceOverrideForTesting( |
| 13 imageCapture.ImageCapture.name, | 13 imageCapture.ImageCapture.name, |
| 14 handle => this.bindingSet_.addBinding(this, handle)); | 14 handle => this.bindingSet_.addBinding(this, handle)); |
| 15 | 15 |
| 16 this.capabilities_ = { capabilities : { | 16 this.state_ = { capabilities : { |
| 17 iso : { min : 100.0, max : 12000.0, current : 400.0, step : 1.0 }, | 17 iso : { min : 100.0, max : 12000.0, current : 400.0, step : 1.0 }, |
| 18 height : { min : 240.0, max : 2448.0, current : 240.0, step : 2.0 }, | 18 height : { min : 240.0, max : 2448.0, current : 240.0, step : 2.0 }, |
| 19 width : { min : 320.0, max : 3264.0, current : 320.0, step : 3.0 }, | 19 width : { min : 320.0, max : 3264.0, current : 320.0, step : 3.0 }, |
| 20 zoom : { min : 0.0, max : 10.0, current : 5.0, step : 5.0 }, | 20 zoom : { min : 0.0, max : 10.0, current : 5.0, step : 5.0 }, |
| 21 focus_mode : imageCapture.MeteringMode.MANUAL, | 21 focus_mode : imageCapture.MeteringMode.MANUAL, |
| 22 exposure_mode : imageCapture.MeteringMode.SINGLE_SHOT, | 22 exposure_mode : imageCapture.MeteringMode.SINGLE_SHOT, |
| 23 exposure_compensation : | 23 exposure_compensation : |
| 24 { min : -200.0, max : 200.0, current : 33.0, step : 33.0}, | 24 { min : -200.0, max : 200.0, current : 33.0, step : 33.0}, |
| 25 white_balance_mode : imageCapture.MeteringMode.CONTINUOUS, | 25 white_balance_mode : imageCapture.MeteringMode.CONTINUOUS, |
| 26 fill_light_mode : imageCapture.FillLightMode.AUTO, | 26 fill_light_mode : imageCapture.FillLightMode.AUTO, |
| 27 red_eye_reduction : true, | 27 red_eye_reduction : true, |
| 28 color_temperature : | 28 color_temperature : |
| 29 { min : 2500.0, max : 6500.0, current : 6000.0, step : 1000.0 }, | 29 { min : 2500.0, max : 6500.0, current : 6000.0, step : 1000.0 }, |
| 30 brightness : { min : 1.0, max : 10.0, current : 5.0, step : 1.0 }, | 30 brightness : { min : 1.0, max : 10.0, current : 5.0, step : 1.0 }, |
| 31 contrast : { min : 2.0, max : 9.0, current : 5.0, step : 1.0 }, | 31 contrast : { min : 2.0, max : 9.0, current : 5.0, step : 1.0 }, |
| 32 saturation : { min : 3.0, max : 8.0, current : 6.0, step : 1.0 }, | 32 saturation : { min : 3.0, max : 8.0, current : 6.0, step : 1.0 }, |
| 33 sharpness : { min : 4.0, max : 7.0, current : 7.0, step : 1.0 }, | 33 sharpness : { min : 4.0, max : 7.0, current : 7.0, step : 1.0 }, |
| 34 points_of_interest : [], |
| 34 }}; | 35 }}; |
| 35 this.settings_ = null; | 36 this.settings_ = null; |
| 36 this.bindingSet_ = new bindings.BindingSet(imageCapture.ImageCapture); | 37 this.bindingSet_ = new bindings.BindingSet(imageCapture.ImageCapture); |
| 37 } | 38 } |
| 38 | 39 |
| 39 getCapabilities(source_id) { | 40 getCapabilities(source_id) { |
| 40 return Promise.resolve(this.capabilities_); | 41 return Promise.resolve(this.state_); |
| 41 } | 42 } |
| 42 | 43 |
| 43 setOptions(source_id, settings) { | 44 setOptions(source_id, settings) { |
| 44 this.settings_ = settings; | 45 this.settings_ = settings; |
| 45 if (settings.has_iso) | 46 if (settings.has_iso) |
| 46 this.capabilities_.capabilities.iso.current = settings.iso; | 47 this.state_.capabilities.iso.current = settings.iso; |
| 47 if (settings.has_height) | 48 if (settings.has_height) |
| 48 this.capabilities_.capabilities.height.current = settings.height; | 49 this.state_.capabilities.height.current = settings.height; |
| 49 if (settings.has_width) | 50 if (settings.has_width) |
| 50 this.capabilities_.capabilities.width.current = settings.width; | 51 this.state_.capabilities.width.current = settings.width; |
| 51 if (settings.has_zoom) | 52 if (settings.has_zoom) |
| 52 this.capabilities_.capabilities.zoom.current = settings.zoom; | 53 this.state_.capabilities.zoom.current = settings.zoom; |
| 53 if (settings.has_focus_mode) { | 54 if (settings.has_focus_mode) |
| 54 this.capabilities_.capabilities.focus_mode = | 55 this.state_.capabilities.focus_mode = settings.focus_mode; |
| 55 settings.focus_mode; | 56 |
| 57 if (settings.points_of_interest.length > 0) { |
| 58 this.state_.capabilities.points_of_interest = |
| 59 settings.points_of_interest; |
| 56 } | 60 } |
| 57 if (settings.has_exposure_mode) { | 61 |
| 58 this.capabilities_.capabilities.exposure_mode = | 62 if (settings.has_exposure_mode) |
| 59 settings.exposure_mode; | 63 this.state_.capabilities.exposure_mode = settings.exposure_mode; |
| 60 } | 64 |
| 61 if (settings.has_exposure_compensation) { | 65 if (settings.has_exposure_compensation) { |
| 62 this.capabilities_.capabilities.exposure_compensation.current = | 66 this.state_.capabilities.exposure_compensation.current = |
| 63 settings.exposure_compensation; | 67 settings.exposure_compensation; |
| 64 } | 68 } |
| 65 if (settings.has_white_balance_mode) { | 69 if (settings.has_white_balance_mode) { |
| 66 this.capabilities_.capabilities.white_balance_mode = | 70 this.state_.capabilities.white_balance_mode = |
| 67 settings.white_balance_mode; | 71 settings.white_balance_mode; |
| 68 } | 72 } |
| 69 if (settings.has_fill_light_mode) { | 73 if (settings.has_fill_light_mode) |
| 70 this.capabilities_.capabilities.fill_light_mode = | 74 this.state_.capabilities.fill_light_mode = settings.fill_light_mode; |
| 71 settings.fill_light_mode; | 75 if (settings.has_red_eye_reduction) |
| 72 } | 76 this.state_.capabilities.red_eye_reduction = settings.red_eye_reduction; |
| 73 if (settings.has_red_eye_reduction) { | |
| 74 this.capabilities_.capabilities.red_eye_reduction = | |
| 75 settings.red_eye_reduction; | |
| 76 } | |
| 77 if (settings.has_color_temperature) { | 77 if (settings.has_color_temperature) { |
| 78 this.capabilities_.capabilities.color_temperature.current = | 78 this.state_.capabilities.color_temperature.current = |
| 79 settings.color_temperature; | 79 settings.color_temperature; |
| 80 } | 80 } |
| 81 if (settings.has_brightness) | 81 if (settings.has_brightness) |
| 82 this.capabilities_.capabilities.brightness.current = settings.brightness
; | 82 this.state_.capabilities.brightness.current = settings.brightness; |
| 83 if (settings.has_contrast) | 83 if (settings.has_contrast) |
| 84 this.capabilities_.capabilities.contrast.current = settings.contrast; | 84 this.state_.capabilities.contrast.current = settings.contrast; |
| 85 if (settings.has_saturation) { | 85 if (settings.has_saturation) |
| 86 this.capabilities_.capabilities.saturation.current = | 86 this.state_.capabilities.saturation.current = settings.saturation; |
| 87 settings.saturation; | |
| 88 } | |
| 89 if (settings.has_sharpness) | 87 if (settings.has_sharpness) |
| 90 this.capabilities_.capabilities.sharpness.current = settings.sharpness; | 88 this.state_.capabilities.sharpness.current = settings.sharpness; |
| 91 | 89 |
| 92 return Promise.resolve({ success : true }); | 90 return Promise.resolve({ success : true }); |
| 93 } | 91 } |
| 94 | 92 |
| 95 takePhoto(source_id) { | 93 takePhoto(source_id) { |
| 96 return Promise.resolve({ blob : { mime_type : 'image/cat', | 94 return Promise.resolve({ blob : { mime_type : 'image/cat', |
| 97 data : new Array(2) } }); | 95 data : new Array(2) } }); |
| 98 } | 96 } |
| 99 | 97 |
| 100 capabilities() { | 98 capabilities() { |
| 101 return this.capabilities_.capabilities; | 99 return this.state_.capabilities; |
| 102 } | 100 } |
| 103 | 101 |
| 104 options() { | 102 options() { |
| 105 return this.settings_; | 103 return this.settings_; |
| 106 } | 104 } |
| 107 | 105 |
| 108 } | 106 } |
| 109 return new MockImageCapture(); | 107 return new MockImageCapture(); |
| 110 }); | 108 }); |
| OLD | NEW |