| Index: chrome/browser/resources/file_manager/js/image_editor/image_editor.js
|
| diff --git a/chrome/browser/resources/file_manager/js/image_editor/image_editor.js b/chrome/browser/resources/file_manager/js/image_editor/image_editor.js
|
| index 341551adc2eb1b19080d27b098bb4bc7a8f85f7f..5f0e38a05b12b5db5354ab8fc11381dbf3fc545f 100644
|
| --- a/chrome/browser/resources/file_manager/js/image_editor/image_editor.js
|
| +++ b/chrome/browser/resources/file_manager/js/image_editor/image_editor.js
|
| @@ -6,8 +6,8 @@
|
| * ImageEditor is the top level object that holds together and connects
|
| * everything needed for image editing.
|
| * @param {HTMLElement} container
|
| - * @param {Function} saveCallback
|
| - * @param {Function} closeCallback
|
| + * @param {function(Blob)} saveCallback
|
| + * @param {function()} closeCallback
|
| */
|
| function ImageEditor(container, saveCallback, closeCallback) {
|
| this.container_ = container;
|
| @@ -44,8 +44,8 @@ function ImageEditor(container, saveCallback, closeCallback) {
|
| *
|
| * Use this method when image_editor.html is loaded into an iframe.
|
| *
|
| - * @param {Function} saveCallback
|
| - * @param {Function} closeCallback
|
| + * @param {function(Blob)} saveCallback
|
| + * @param {function()} closeCallback
|
| * @param {HTMLCanvasElement|HTMLImageElement|String} source
|
| * @param {Object} opt_metadata
|
| * @return {ImageEditor}
|
| @@ -264,13 +264,14 @@ ImageEditor.ScaleControl = function(parent, viewport) {
|
| var scaleDown = parent.ownerDocument.createElement('button');
|
| scaleDown.className = 'scale-down';
|
| scaleDiv.appendChild(scaleDown);
|
| - scaleDown.addEventListener('click', this.onDownButton.bind(this));
|
| + scaleDown.addEventListener('click', this.onDownButton.bind(this), false);
|
| scaleDown.textContent = '-';
|
|
|
| this.scaleRange_ = parent.ownerDocument.createElement('input');
|
| this.scaleRange_.type = 'range';
|
| this.scaleRange_.max = ImageEditor.ScaleControl.MAX_SCALE;
|
| - this.scaleRange_.addEventListener('change', this.onSliderChange.bind(this));
|
| + this.scaleRange_.addEventListener(
|
| + 'change', this.onSliderChange.bind(this), false);
|
| scaleDiv.appendChild(this.scaleRange_);
|
|
|
| this.scaleLabel_ = parent.ownerDocument.createElement('span');
|
| @@ -279,13 +280,19 @@ ImageEditor.ScaleControl = function(parent, viewport) {
|
| var scaleUp = parent.ownerDocument.createElement('button');
|
| scaleUp.className = 'scale-up';
|
| scaleUp.textContent = '+';
|
| - scaleUp.addEventListener('click', this.onUpButton.bind(this));
|
| + scaleUp.addEventListener('click', this.onUpButton.bind(this), false);
|
| scaleDiv.appendChild(scaleUp);
|
|
|
| + var scale1to1 = parent.ownerDocument.createElement('button');
|
| + scale1to1.className = 'scale-1to1';
|
| + scale1to1.textContent = '1:1';
|
| + scale1to1.addEventListener('click', this.on1to1Button.bind(this), false);
|
| + scaleDiv.appendChild(scale1to1);
|
| +
|
| var scaleFit = parent.ownerDocument.createElement('button');
|
| scaleFit.className = 'scale-fit';
|
| scaleFit.textContent = '\u2610';
|
| - scaleFit.addEventListener('click', this.onFitButton.bind(this));
|
| + scaleFit.addEventListener('click', this.onFitButton.bind(this), false);
|
| scaleDiv.appendChild(scaleFit);
|
| };
|
|
|
| @@ -306,7 +313,7 @@ ImageEditor.ScaleControl.FACTOR = 100;
|
| */
|
| ImageEditor.ScaleControl.prototype.setMinScale = function(scale) {
|
| this.scaleRange_.min = Math.min(
|
| - Math.round(scale * ImageEditor.ScaleControl.FACTOR),
|
| + Math.round(Math.min(1, scale) * ImageEditor.ScaleControl.FACTOR),
|
| ImageEditor.ScaleControl.MAX_SCALE);
|
| };
|
|
|
| @@ -378,23 +385,28 @@ ImageEditor.ScaleControl.prototype.onFitButton = function () {
|
| this.viewport_.repaint();
|
| };
|
|
|
| +ImageEditor.ScaleControl.prototype.on1to1Button = function () {
|
| + this.viewport_.setScale(1);
|
| + this.viewport_.repaint();
|
| +};
|
| +
|
| /**
|
| * A helper object for panning the ImageBuffer.
|
| + * @constructor
|
| */
|
| -
|
| ImageEditor.MouseControl = function(canvas, buffer) {
|
| this.canvas_ = canvas;
|
| this.buffer_ = buffer;
|
| - canvas.addEventListener('mousedown', this.onMouseDown.bind(this));
|
| - canvas.addEventListener('mouseup', this.onMouseUp.bind(this));
|
| - canvas.addEventListener('mousemove', this.onMouseMove.bind(this));
|
| + canvas.addEventListener('mousedown', this.onMouseDown.bind(this), false);
|
| + canvas.addEventListener('mouseup', this.onMouseUp.bind(this), false);
|
| + canvas.addEventListener('mousemove', this.onMouseMove.bind(this), false);
|
| };
|
|
|
| ImageEditor.MouseControl.getPosition = function(e) {
|
| var clientRect = e.target.getBoundingClientRect();
|
| return {
|
| - x: e.x - clientRect.left,
|
| - y: e.y - clientRect.top
|
| + x: e.clientX - clientRect.left,
|
| + y: e.clientY - clientRect.top
|
| };
|
| };
|
|
|
| @@ -433,8 +445,8 @@ ImageEditor.MouseControl.prototype.onMouseMove = function(e) {
|
|
|
| /**
|
| * A toolbar for the ImageEditor.
|
| + * @constructor
|
| */
|
| -
|
| ImageEditor.Toolbar = function (parent, updateCallback) {
|
| this.wrapper_ = parent.ownerDocument.createElement('div');
|
| this.wrapper_.className = 'toolbar';
|
| @@ -464,16 +476,16 @@ ImageEditor.Toolbar.prototype.addLabel = function(text) {
|
| ImageEditor.Toolbar.prototype.addButton = function(text, handler) {
|
| var button = this.create_('button');
|
| button.textContent = text;
|
| - button.addEventListener('click', handler);
|
| + button.addEventListener('click', handler, false);
|
| return this.add(button);
|
| };
|
|
|
| /**
|
| - * @param {String} name An option name.
|
| - * @param {Number} min Min value of the option.
|
| - * @param {Number} value Default value of the option.
|
| - * @param {Number} max Max value of the options.
|
| - * @param {Number} scale A number to multiply by when setting
|
| + * @param {string} name An option name.
|
| + * @param {number} min Min value of the option.
|
| + * @param {number} value Default value of the option.
|
| + * @param {number} max Max value of the options.
|
| + * @param {number} scale A number to multiply by when setting
|
| * min/value/max in DOM.
|
| */
|
| ImageEditor.Toolbar.prototype.addRange = function(
|
| @@ -507,13 +519,18 @@ ImageEditor.Toolbar.prototype.addRange = function(
|
| range.setValue(value);
|
| };
|
|
|
| - range.addEventListener('change', function() {
|
| - mirror();
|
| - self.updateCallback_(self.getOptions());
|
| - });
|
| + range.addEventListener('change',
|
| + function() {
|
| + mirror();
|
| + self.updateCallback_(self.getOptions());
|
| + },
|
| + false);
|
|
|
| range.setValue(value);
|
|
|
| + var descr = this.create_('span');
|
| + descr.textContent = name;
|
| + this.add(descr);
|
| this.add(range);
|
| this.add(label);
|
|
|
|
|