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

Side by Side Diff: chrome/browser/resources/settings/people_page/camera.js

Issue 1714043003: Settings People Revamp: Change Picture Minor accessibility upgrades (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix closure compile Created 4 years, 10 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * 'settings-camera' is the Polymer control used to take a picture from the 7 * 'settings-camera' is the Polymer control used to take a picture from the
8 * user webcam to use as a ChromeOS profile picture. 8 * user webcam to use as a ChromeOS profile picture.
9 * 9 *
10 * @group Chrome Settings Elements 10 * @group Chrome Settings Elements
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 }, 127 },
128 128
129 /** 129 /**
130 * Flip the live camera stream. 130 * Flip the live camera stream.
131 * @private 131 * @private
132 */ 132 */
133 onTapFlipPhoto_: function() { 133 onTapFlipPhoto_: function() {
134 this.isFlipped_ = !this.isFlipped_; 134 this.isFlipped_ = !this.isFlipped_;
135 this.$.userImageStreamCrop.classList.toggle('flip-x', this.isFlipped_); 135 this.$.userImageStreamCrop.classList.toggle('flip-x', this.isFlipped_);
136 136
137 // TODO(tommycli): Add announce of accessible message for photo flipping. 137 var flipMessageId = this.isFlipped_ ?
138 'photoFlippedAccessibleText' : 'photoFlippedBackAccessibleText';
139 announceAccessibleMessage(loadTimeData.getString(flipMessageId));
138 }, 140 },
139 141
140 /** 142 /**
141 * Performs photo capture from the live camera stream. 'phototaken' event 143 * Performs photo capture from the live camera stream. 'phototaken' event
142 * will be fired as soon as captured photo is available, with 'dataURL' 144 * will be fired as soon as captured photo is available, with 'dataURL'
143 * property containing the photo encoded as a data URL. 145 * property containing the photo encoded as a data URL.
144 * @private 146 * @private
145 */ 147 */
146 onTapTakePhoto_: function() { 148 onTapTakePhoto_: function() {
147 if (!this.cameraOnline_) 149 if (!this.cameraOnline_)
148 return; 150 return;
149 var canvas = /** @type {HTMLCanvasElement} */( 151 var canvas = /** @type {HTMLCanvasElement} */(
150 document.createElement('canvas')); 152 document.createElement('canvas'));
151 canvas.width = CAPTURE_SIZE.width; 153 canvas.width = CAPTURE_SIZE.width;
152 canvas.height = CAPTURE_SIZE.height; 154 canvas.height = CAPTURE_SIZE.height;
153 this.captureFrame_( 155 this.captureFrame_(
154 this.$.cameraVideo, 156 this.$.cameraVideo,
155 /** @type {!CanvasRenderingContext2D} */(canvas.getContext('2d'))); 157 /** @type {!CanvasRenderingContext2D} */(canvas.getContext('2d')));
156 158
157 var photoDataUrl = this.isFlipped_ ? this.flipFrame_(canvas) : 159 var photoDataUrl = this.isFlipped_ ? this.flipFrame_(canvas) :
158 canvas.toDataURL('image/png'); 160 canvas.toDataURL('image/png');
159 this.fire('phototaken', {photoDataUrl: photoDataUrl}); 161 this.fire('phototaken', {photoDataUrl: photoDataUrl});
162
163 announceAccessibleMessage(
164 loadTimeData.getString('photoCaptureAccessibleText'));
160 }, 165 },
161 166
162 /** 167 /**
163 * Captures a single still frame from a <video> element, placing it at the 168 * Captures a single still frame from a <video> element, placing it at the
164 * current drawing origin of a canvas context. 169 * current drawing origin of a canvas context.
165 * @param {!HTMLVideoElement} video Video element to capture from. 170 * @param {!HTMLVideoElement} video Video element to capture from.
166 * @param {!CanvasRenderingContext2D} ctx Canvas context to draw onto. 171 * @param {!CanvasRenderingContext2D} ctx Canvas context to draw onto.
167 * @private 172 * @private
168 */ 173 */
169 captureFrame_: function(video, ctx) { 174 captureFrame_: function(video, ctx) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 canvas.height = CAPTURE_SIZE.height; 206 canvas.height = CAPTURE_SIZE.height;
202 var ctx = canvas.getContext('2d'); 207 var ctx = canvas.getContext('2d');
203 ctx.translate(CAPTURE_SIZE.width, 0); 208 ctx.translate(CAPTURE_SIZE.width, 0);
204 ctx.scale(-1.0, 1.0); 209 ctx.scale(-1.0, 1.0);
205 ctx.drawImage(source, 0, 0); 210 ctx.drawImage(source, 0, 0);
206 return canvas.toDataURL('image/png'); 211 return canvas.toDataURL('image/png');
207 }, 212 },
208 }); 213 });
209 214
210 })(); 215 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698