| Index: ui/file_manager/gallery/js/image_editor/image_encoder.js
|
| diff --git a/ui/file_manager/gallery/js/image_editor/image_encoder.js b/ui/file_manager/gallery/js/image_editor/image_encoder.js
|
| index 0cc5e654fc8e85d655ce261639a8aaa29ac525bd..14fc13cbc756fc4b84224c0418e48cd5939b1a32 100644
|
| --- a/ui/file_manager/gallery/js/image_editor/image_encoder.js
|
| +++ b/ui/file_manager/gallery/js/image_editor/image_encoder.js
|
| @@ -8,14 +8,17 @@
|
| function ImageEncoder() {}
|
|
|
| /**
|
| - * @type {Array.<Object>}
|
| + * Metadata encoders.
|
| + * @type {!Object.<string,function(new:ImageEncoder.MetadataEncoder,!Object)>}
|
| + * @const
|
| */
|
| ImageEncoder.metadataEncoders = {};
|
|
|
| /**
|
| - * @param {function(new:ImageEncoder.MetadataEncoder)} constructor
|
| - * // TODO(JSDOC).
|
| - * @param {string} mimeType // TODO(JSDOC).
|
| + * Registers metadata encoder.
|
| + * @param {function(new:ImageEncoder.MetadataEncoder,!Object)} constructor
|
| + * Constructor of a metadata encoder.
|
| + * @param {string} mimeType Mime type of the metadata encoder.
|
| */
|
| ImageEncoder.registerMetadataEncoder = function(constructor, mimeType) {
|
| ImageEncoder.metadataEncoders[mimeType] = constructor;
|
| @@ -26,8 +29,8 @@ ImageEncoder.registerMetadataEncoder = function(constructor, mimeType) {
|
| *
|
| * The encoder will own and modify a copy of the original metadata.
|
| *
|
| - * @param {Object} metadata Original metadata.
|
| - * @return {ImageEncoder.MetadataEncoder} Created metadata encoder.
|
| + * @param {!Object} metadata Original metadata.
|
| + * @return {!ImageEncoder.MetadataEncoder} Created metadata encoder.
|
| */
|
| ImageEncoder.createMetadataEncoder = function(metadata) {
|
| var constructor =
|
| @@ -41,10 +44,10 @@ ImageEncoder.createMetadataEncoder = function(metadata) {
|
| * Create a metadata encoder object holding a copy of metadata
|
| * modified according to the properties of the supplied image.
|
| *
|
| - * @param {Object} metadata Original metadata.
|
| - * @param {HTMLCanvasElement} canvas Canvas to use for metadata.
|
| + * @param {!Object} metadata Original metadata.
|
| + * @param {!HTMLCanvasElement} canvas Canvas to use for metadata.
|
| * @param {number} quality Encoding quality (defaults to 1).
|
| - * @return {ImageEncoder.MetadataEncoder} Encoder with encoded metadata.
|
| + * @return {!ImageEncoder.MetadataEncoder} Encoder with encoded metadata.
|
| */
|
| ImageEncoder.encodeMetadata = function(metadata, canvas, quality) {
|
| var encoder = ImageEncoder.createMetadataEncoder(metadata);
|
| @@ -56,10 +59,10 @@ ImageEncoder.encodeMetadata = function(metadata, canvas, quality) {
|
|
|
| /**
|
| * Return a blob with the encoded image with metadata inserted.
|
| - * @param {HTMLCanvasElement} canvas The canvas with the image to be encoded.
|
| - * @param {ImageEncoder.MetadataEncoder} metadataEncoder Encoder to use.
|
| + * @param {!HTMLCanvasElement} canvas The canvas with the image to be encoded.
|
| + * @param {!ImageEncoder.MetadataEncoder} metadataEncoder Encoder to use.
|
| * @param {number} quality (0..1], Encoding quality, defaults to 0.9.
|
| - * @return {Blob} encoded data.
|
| + * @return {!Blob} encoded data.
|
| */
|
| ImageEncoder.getBlob = function(canvas, metadataEncoder, quality) {
|
| // Contrary to what one might think 1.0 is not a good default. Opening and
|
| @@ -119,15 +122,15 @@ ImageEncoder.getBlob = function(canvas, metadataEncoder, quality) {
|
| ImageEncoder.decodeDataURL = function(dataURL) {
|
| // Skip the prefix ('data:image/<type>;base64,')
|
| var base64string = dataURL.substring(dataURL.indexOf(',') + 1);
|
| - return atob(base64string);
|
| + return window.atob(base64string);
|
| };
|
|
|
| /**
|
| * Return a thumbnail for an image.
|
| - * @param {HTMLCanvasElement} canvas Original image.
|
| + * @param {!HTMLCanvasElement} canvas Original image.
|
| * @param {number=} opt_shrinkage Thumbnail should be at least this much smaller
|
| * than the original image (in each dimension).
|
| - * @return {HTMLCanvasElement} Thumbnail canvas.
|
| + * @return {!HTMLCanvasElement} Thumbnail canvas.
|
| */
|
| ImageEncoder.createThumbnail = function(canvas, opt_shrinkage) {
|
| var MAX_THUMBNAIL_DIMENSION = 320;
|
| @@ -136,7 +139,8 @@ ImageEncoder.createThumbnail = function(canvas, opt_shrinkage) {
|
| canvas.width / MAX_THUMBNAIL_DIMENSION,
|
| canvas.height / MAX_THUMBNAIL_DIMENSION);
|
|
|
| - var thumbnailCanvas = canvas.ownerDocument.createElement('canvas');
|
| + var thumbnailCanvas = assertInstanceof(
|
| + canvas.ownerDocument.createElement('canvas'), HTMLCanvasElement);
|
| thumbnailCanvas.width = Math.round(canvas.width / opt_shrinkage);
|
| thumbnailCanvas.height = Math.round(canvas.height / opt_shrinkage);
|
|
|
| @@ -149,11 +153,11 @@ ImageEncoder.createThumbnail = function(canvas, opt_shrinkage) {
|
| };
|
|
|
| /**
|
| - * TODO(JSDOC)
|
| - * @param {string} string // TODO(JSDOC).
|
| - * @param {number} from // TODO(JSDOC).
|
| - * @param {number} to // TODO(JSDOC).
|
| - * @return {ArrayBuffer} // TODO(JSDOC).
|
| + * Converts string to an array buffer.
|
| + * @param {string} string A string.
|
| + * @param {number} from Start index.
|
| + * @param {number} to End index.
|
| + * @return {!ArrayBuffer} A created array buffer is returned.
|
| */
|
| ImageEncoder.stringToArrayBuffer = function(string, from, to) {
|
| var size = to - from;
|
| @@ -170,8 +174,9 @@ ImageEncoder.stringToArrayBuffer = function(string, from, to) {
|
| * Serves as a default metadata encoder for images that none of the metadata
|
| * parsers recognized.
|
| *
|
| - * @param {Object} original_metadata Starting metadata.
|
| + * @param {!Object} original_metadata Starting metadata.
|
| * @constructor
|
| + * @struct
|
| */
|
| ImageEncoder.MetadataEncoder = function(original_metadata) {
|
| this.metadata_ = MetadataCache.cloneMetadata(original_metadata) || {};
|
| @@ -183,15 +188,15 @@ ImageEncoder.MetadataEncoder = function(original_metadata) {
|
| };
|
|
|
| /**
|
| - * TODO(JSDOC)
|
| - * @return {Object} // TODO(JSDOC).
|
| + * Returns metadata.
|
| + * @return {!Object} A metadata.
|
| */
|
| ImageEncoder.MetadataEncoder.prototype.getMetadata = function() {
|
| return this.metadata_;
|
| };
|
|
|
| /**
|
| - * @param {HTMLCanvasElement|Object} canvas Canvas or or anything with
|
| + * @param {!HTMLCanvasElement} canvas Canvas or or anything with
|
| * width and height properties.
|
| */
|
| ImageEncoder.MetadataEncoder.prototype.setImageData = function(canvas) {
|
| @@ -200,7 +205,7 @@ ImageEncoder.MetadataEncoder.prototype.setImageData = function(canvas) {
|
| };
|
|
|
| /**
|
| - * @param {HTMLCanvasElement} canvas Canvas to use as thumbnail.
|
| + * @param {!HTMLCanvasElement} canvas Canvas to use as thumbnail.
|
| * @param {number} quality Thumbnail quality.
|
| */
|
| ImageEncoder.MetadataEncoder.prototype.setThumbnailData =
|
| @@ -211,17 +216,17 @@ ImageEncoder.MetadataEncoder.prototype.setThumbnailData =
|
| };
|
|
|
| /**
|
| - * Return a range where the metadata is (or should be) located.
|
| - * @param {string} encodedImage // TODO(JSDOC).
|
| - * @return {Object} An object with from and to properties.
|
| + * Returns a range where the metadata is (or should be) located.
|
| + * @param {string} encodedImage An encoded image.
|
| + * @return {{from:number, to:number}} An object with from and to properties.
|
| */
|
| ImageEncoder.MetadataEncoder.prototype.
|
| findInsertionRange = function(encodedImage) { return {from: 0, to: 0}; };
|
|
|
| /**
|
| - * Return serialized metadata ready to write to an image file.
|
| + * Returns serialized metadata ready to write to an image file.
|
| * The return type is optimized for passing to Blob.append.
|
| - * @return {ArrayBuffer} // TODO(JSDOC).
|
| + * @return {!ArrayBuffer} Serialized metadata.
|
| */
|
| ImageEncoder.MetadataEncoder.prototype.encode = function() {
|
| return new Uint8Array(0).buffer;
|
|
|