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

Unified Diff: ui/file_manager/gallery/js/image_editor/image_encoder.js

Issue 716093003: Added type annotations to galler/js/image_editor/image_encoder.js. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed comments. Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..e278ee67aae6f6fd11a8264359615c6cbab01a8a 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 Strt index.
hirono 2014/11/18 05:00:58 Strt -> Start?
yawano 2014/11/18 05:05:22 Done.
+ * @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;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698