OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 'use strict'; | 5 'use strict'; |
6 | 6 |
7 /** | 7 /** |
8 * A namespace class for image encoding functions. All methods are static. | 8 * A namespace class for image encoding functions. All methods are static. |
9 */ | 9 */ |
10 function ImageEncoder() {} | 10 function ImageEncoder() {} |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 /** | 26 /** |
27 * Create a metadata encoder. | 27 * Create a metadata encoder. |
28 * | 28 * |
29 * The encoder will own and modify a copy of the original metadata. | 29 * The encoder will own and modify a copy of the original metadata. |
30 * | 30 * |
31 * @param {Object} metadata Original metadata. | 31 * @param {Object} metadata Original metadata. |
32 * @return {ImageEncoder.MetadataEncoder} Created metadata encoder. | 32 * @return {ImageEncoder.MetadataEncoder} Created metadata encoder. |
33 */ | 33 */ |
34 ImageEncoder.createMetadataEncoder = function(metadata) { | 34 ImageEncoder.createMetadataEncoder = function(metadata) { |
35 var constructor = ImageEncoder.metadataEncoders[metadata.mimeType] || | 35 var constructor = |
| 36 (metadata && ImageEncoder.metadataEncoders[metadata.mimeType]) || |
36 ImageEncoder.MetadataEncoder; | 37 ImageEncoder.MetadataEncoder; |
37 return new constructor(metadata); | 38 return new constructor(metadata); |
38 }; | 39 }; |
39 | 40 |
40 | 41 |
41 /** | 42 /** |
42 * Create a metadata encoder object holding a copy of metadata | 43 * Create a metadata encoder object holding a copy of metadata |
43 * modified according to the properties of the supplied image. | 44 * modified according to the properties of the supplied image. |
44 * | 45 * |
45 * @param {Object} metadata Original metadata. | 46 * @param {Object} metadata Original metadata. |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 }; | 202 }; |
202 | 203 |
203 /** | 204 /** |
204 * @param {HTMLCanvasElement} canvas Canvas to use as thumbnail. | 205 * @param {HTMLCanvasElement} canvas Canvas to use as thumbnail. |
205 * @param {number} quality Thumbnail quality. | 206 * @param {number} quality Thumbnail quality. |
206 */ | 207 */ |
207 ImageEncoder.MetadataEncoder.prototype.setThumbnailData = | 208 ImageEncoder.MetadataEncoder.prototype.setThumbnailData = |
208 function(canvas, quality) { | 209 function(canvas, quality) { |
209 this.metadata_.thumbnailURL = | 210 this.metadata_.thumbnailURL = |
210 canvas.toDataURL(this.metadata_.mimeType, quality); | 211 canvas.toDataURL(this.metadata_.mimeType, quality); |
| 212 delete this.metadata_.thumbnailTransform; |
211 }; | 213 }; |
212 | 214 |
213 /** | 215 /** |
214 * Return a range where the metadata is (or should be) located. | 216 * Return a range where the metadata is (or should be) located. |
215 * @param {string} encodedImage // TODO(JSDOC). | 217 * @param {string} encodedImage // TODO(JSDOC). |
216 * @return {Object} An object with from and to properties. | 218 * @return {Object} An object with from and to properties. |
217 */ | 219 */ |
218 ImageEncoder.MetadataEncoder.prototype. | 220 ImageEncoder.MetadataEncoder.prototype. |
219 findInsertionRange = function(encodedImage) { return {from: 0, to: 0} }; | 221 findInsertionRange = function(encodedImage) { return {from: 0, to: 0}; }; |
220 | 222 |
221 /** | 223 /** |
222 * Return serialized metadata ready to write to an image file. | 224 * Return serialized metadata ready to write to an image file. |
223 * The return type is optimized for passing to Blob.append. | 225 * The return type is optimized for passing to Blob.append. |
224 * @return {ArrayBuffer} // TODO(JSDOC). | 226 * @return {ArrayBuffer} // TODO(JSDOC). |
225 */ | 227 */ |
226 ImageEncoder.MetadataEncoder.prototype.encode = function() { | 228 ImageEncoder.MetadataEncoder.prototype.encode = function() { |
227 return new Uint8Array(0).buffer; | 229 return new Uint8Array(0).buffer; |
228 }; | 230 }; |
OLD | NEW |