| 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 |