| Index: third_party/WebKit/Source/devtools/front_end/ui/ResizerWidget.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui/ResizerWidget.js b/third_party/WebKit/Source/devtools/front_end/ui/ResizerWidget.js
|
| index e9c0fc36f8bdfbec33006c513fc24993427bbcd6..2a33f78bd9e5430533b1be4d5503faca2cb3d064 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/ui/ResizerWidget.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/ui/ResizerWidget.js
|
| @@ -1,252 +1,233 @@
|
| // Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| -
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.Object}
|
| + * @unrestricted
|
| */
|
| -WebInspector.ResizerWidget = function()
|
| -{
|
| - WebInspector.Object.call(this);
|
| +WebInspector.ResizerWidget = class extends WebInspector.Object {
|
| + constructor() {
|
| + super();
|
|
|
| this._isEnabled = true;
|
| this._elements = [];
|
| this._installDragOnMouseDownBound = this._installDragOnMouseDown.bind(this);
|
| - this._cursor = "nwse-resize";
|
| + this._cursor = 'nwse-resize';
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + isEnabled() {
|
| + return this._isEnabled;
|
| + }
|
| +
|
| + /**
|
| + * @param {boolean} enabled
|
| + */
|
| + setEnabled(enabled) {
|
| + this._isEnabled = enabled;
|
| + this.updateElementCursors();
|
| + }
|
| +
|
| + /**
|
| + * @return {!Array.<!Element>}
|
| + */
|
| + elements() {
|
| + return this._elements.slice();
|
| + }
|
| +
|
| + /**
|
| + * @param {!Element} element
|
| + */
|
| + addElement(element) {
|
| + if (this._elements.indexOf(element) !== -1)
|
| + return;
|
| +
|
| + this._elements.push(element);
|
| + element.addEventListener('mousedown', this._installDragOnMouseDownBound, false);
|
| + this._updateElementCursor(element);
|
| + }
|
| +
|
| + /**
|
| + * @param {!Element} element
|
| + */
|
| + removeElement(element) {
|
| + if (this._elements.indexOf(element) === -1)
|
| + return;
|
| +
|
| + this._elements.remove(element);
|
| + element.removeEventListener('mousedown', this._installDragOnMouseDownBound, false);
|
| + element.style.removeProperty('cursor');
|
| + }
|
| +
|
| + updateElementCursors() {
|
| + this._elements.forEach(this._updateElementCursor.bind(this));
|
| + }
|
| +
|
| + /**
|
| + * @param {!Element} element
|
| + */
|
| + _updateElementCursor(element) {
|
| + if (this._isEnabled)
|
| + element.style.setProperty('cursor', this.cursor());
|
| + else
|
| + element.style.removeProperty('cursor');
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + cursor() {
|
| + return this._cursor;
|
| + }
|
| +
|
| + /**
|
| + * @param {string} cursor
|
| + */
|
| + setCursor(cursor) {
|
| + this._cursor = cursor;
|
| + this.updateElementCursors();
|
| + }
|
| +
|
| + /**
|
| + * @param {!Event} event
|
| + */
|
| + _installDragOnMouseDown(event) {
|
| + // Only handle drags of the nodes specified.
|
| + if (this._elements.indexOf(event.target) === -1)
|
| + return false;
|
| + WebInspector.elementDragStart(
|
| + /** @type {!Element} */ (event.target), this._dragStart.bind(this), this._drag.bind(this),
|
| + this._dragEnd.bind(this), this.cursor(), event);
|
| + }
|
| +
|
| + /**
|
| + * @param {!MouseEvent} event
|
| + * @return {boolean}
|
| + */
|
| + _dragStart(event) {
|
| + if (!this._isEnabled)
|
| + return false;
|
| + this._startX = event.pageX;
|
| + this._startY = event.pageY;
|
| + this.sendDragStart(this._startX, this._startY);
|
| + return true;
|
| + }
|
| +
|
| + /**
|
| + * @param {number} x
|
| + * @param {number} y
|
| + */
|
| + sendDragStart(x, y) {
|
| + this.dispatchEventToListeners(
|
| + WebInspector.ResizerWidget.Events.ResizeStart, {startX: x, currentX: x, startY: y, currentY: y});
|
| + }
|
| +
|
| + /**
|
| + * @param {!MouseEvent} event
|
| + * @return {boolean}
|
| + */
|
| + _drag(event) {
|
| + if (!this._isEnabled) {
|
| + this._dragEnd(event);
|
| + return true; // Cancel drag.
|
| + }
|
| +
|
| + this.sendDragMove(this._startX, event.pageX, this._startY, event.pageY, event.shiftKey);
|
| + event.preventDefault();
|
| + return false; // Continue drag.
|
| + }
|
| +
|
| + /**
|
| + * @param {number} startX
|
| + * @param {number} currentX
|
| + * @param {number} startY
|
| + * @param {number} currentY
|
| + * @param {boolean} shiftKey
|
| + */
|
| + sendDragMove(startX, currentX, startY, currentY, shiftKey) {
|
| + this.dispatchEventToListeners(
|
| + WebInspector.ResizerWidget.Events.ResizeUpdate,
|
| + {startX: startX, currentX: currentX, startY: startY, currentY: currentY, shiftKey: shiftKey});
|
| + }
|
| +
|
| + /**
|
| + * @param {!MouseEvent} event
|
| + */
|
| + _dragEnd(event) {
|
| + this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeEnd);
|
| + delete this._startX;
|
| + delete this._startY;
|
| + }
|
| };
|
|
|
| /** @enum {symbol} */
|
| WebInspector.ResizerWidget.Events = {
|
| - ResizeStart: Symbol("ResizeStart"),
|
| - ResizeUpdate: Symbol("ResizeUpdate"),
|
| - ResizeEnd: Symbol("ResizeEnd")
|
| -};
|
| -
|
| -WebInspector.ResizerWidget.prototype = {
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - isEnabled: function()
|
| - {
|
| - return this._isEnabled;
|
| - },
|
| -
|
| - /**
|
| - * @param {boolean} enabled
|
| - */
|
| - setEnabled: function(enabled)
|
| - {
|
| - this._isEnabled = enabled;
|
| - this.updateElementCursors();
|
| - },
|
| -
|
| - /**
|
| - * @return {!Array.<!Element>}
|
| - */
|
| - elements: function()
|
| - {
|
| - return this._elements.slice();
|
| - },
|
| -
|
| - /**
|
| - * @param {!Element} element
|
| - */
|
| - addElement: function(element)
|
| - {
|
| - if (this._elements.indexOf(element) !== -1)
|
| - return;
|
| -
|
| - this._elements.push(element);
|
| - element.addEventListener("mousedown", this._installDragOnMouseDownBound, false);
|
| - this._updateElementCursor(element);
|
| - },
|
| -
|
| - /**
|
| - * @param {!Element} element
|
| - */
|
| - removeElement: function(element)
|
| - {
|
| - if (this._elements.indexOf(element) === -1)
|
| - return;
|
| -
|
| - this._elements.remove(element);
|
| - element.removeEventListener("mousedown", this._installDragOnMouseDownBound, false);
|
| - element.style.removeProperty("cursor");
|
| - },
|
| -
|
| - updateElementCursors: function()
|
| - {
|
| - this._elements.forEach(this._updateElementCursor.bind(this));
|
| - },
|
| -
|
| - /**
|
| - * @param {!Element} element
|
| - */
|
| - _updateElementCursor: function(element)
|
| - {
|
| - if (this._isEnabled)
|
| - element.style.setProperty("cursor", this.cursor());
|
| - else
|
| - element.style.removeProperty("cursor");
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - cursor: function()
|
| - {
|
| - return this._cursor;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} cursor
|
| - */
|
| - setCursor: function(cursor)
|
| - {
|
| - this._cursor = cursor;
|
| - this.updateElementCursors();
|
| - },
|
| -
|
| - /**
|
| - * @param {!Event} event
|
| - */
|
| - _installDragOnMouseDown: function(event)
|
| - {
|
| - // Only handle drags of the nodes specified.
|
| - if (this._elements.indexOf(event.target) === -1)
|
| - return false;
|
| - WebInspector.elementDragStart(/** @type {!Element} */(event.target), this._dragStart.bind(this), this._drag.bind(this), this._dragEnd.bind(this), this.cursor(), event);
|
| - },
|
| -
|
| - /**
|
| - * @param {!MouseEvent} event
|
| - * @return {boolean}
|
| - */
|
| - _dragStart: function(event)
|
| - {
|
| - if (!this._isEnabled)
|
| - return false;
|
| - this._startX = event.pageX;
|
| - this._startY = event.pageY;
|
| - this.sendDragStart(this._startX, this._startY);
|
| - return true;
|
| - },
|
| -
|
| - /**
|
| - * @param {number} x
|
| - * @param {number} y
|
| - */
|
| - sendDragStart: function(x, y)
|
| - {
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeStart, { startX: x, currentX: x, startY: y, currentY: y });
|
| - },
|
| -
|
| - /**
|
| - * @param {!MouseEvent} event
|
| - * @return {boolean}
|
| - */
|
| - _drag: function(event)
|
| - {
|
| - if (!this._isEnabled) {
|
| - this._dragEnd(event);
|
| - return true; // Cancel drag.
|
| - }
|
| -
|
| - this.sendDragMove(this._startX, event.pageX, this._startY, event.pageY, event.shiftKey);
|
| - event.preventDefault();
|
| - return false; // Continue drag.
|
| - },
|
| -
|
| - /**
|
| - * @param {number} startX
|
| - * @param {number} currentX
|
| - * @param {number} startY
|
| - * @param {number} currentY
|
| - * @param {boolean} shiftKey
|
| - */
|
| - sendDragMove: function(startX, currentX, startY, currentY, shiftKey)
|
| - {
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeUpdate, { startX: startX, currentX: currentX, startY: startY, currentY: currentY, shiftKey: shiftKey });
|
| - },
|
| -
|
| - /**
|
| - * @param {!MouseEvent} event
|
| - */
|
| - _dragEnd: function(event)
|
| - {
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeEnd);
|
| - delete this._startX;
|
| - delete this._startY;
|
| - },
|
| -
|
| - __proto__: WebInspector.Object.prototype
|
| + ResizeStart: Symbol('ResizeStart'),
|
| + ResizeUpdate: Symbol('ResizeUpdate'),
|
| + ResizeEnd: Symbol('ResizeEnd')
|
| };
|
|
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.ResizerWidget}
|
| + * @unrestricted
|
| */
|
| -WebInspector.SimpleResizerWidget = function()
|
| -{
|
| - WebInspector.ResizerWidget.call(this);
|
| +WebInspector.SimpleResizerWidget = class extends WebInspector.ResizerWidget {
|
| + constructor() {
|
| + super();
|
| this._isVertical = true;
|
| -};
|
| -
|
| -WebInspector.SimpleResizerWidget.prototype = {
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - isVertical: function()
|
| - {
|
| - return this._isVertical;
|
| - },
|
| -
|
| - /**
|
| - * Vertical widget resizes height (along y-axis).
|
| - * @param {boolean} vertical
|
| - */
|
| - setVertical: function(vertical)
|
| - {
|
| - this._isVertical = vertical;
|
| - this.updateElementCursors();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @return {string}
|
| - */
|
| - cursor: function()
|
| - {
|
| - return this._isVertical ? "ns-resize" : "ew-resize";
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} x
|
| - * @param {number} y
|
| - */
|
| - sendDragStart: function(x, y)
|
| - {
|
| - var position = this._isVertical ? y : x;
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeStart, { startPosition: position, currentPosition: position });
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} startX
|
| - * @param {number} currentX
|
| - * @param {number} startY
|
| - * @param {number} currentY
|
| - * @param {boolean} shiftKey
|
| - */
|
| - sendDragMove: function(startX, currentX, startY, currentY, shiftKey)
|
| - {
|
| - if (this._isVertical)
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeUpdate, { startPosition: startY, currentPosition: currentY, shiftKey: shiftKey });
|
| - else
|
| - this.dispatchEventToListeners(WebInspector.ResizerWidget.Events.ResizeUpdate, { startPosition: startX, currentPosition: currentX, shiftKey: shiftKey });
|
| - },
|
| -
|
| - __proto__: WebInspector.ResizerWidget.prototype
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + isVertical() {
|
| + return this._isVertical;
|
| + }
|
| +
|
| + /**
|
| + * Vertical widget resizes height (along y-axis).
|
| + * @param {boolean} vertical
|
| + */
|
| + setVertical(vertical) {
|
| + this._isVertical = vertical;
|
| + this.updateElementCursors();
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {string}
|
| + */
|
| + cursor() {
|
| + return this._isVertical ? 'ns-resize' : 'ew-resize';
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} x
|
| + * @param {number} y
|
| + */
|
| + sendDragStart(x, y) {
|
| + var position = this._isVertical ? y : x;
|
| + this.dispatchEventToListeners(
|
| + WebInspector.ResizerWidget.Events.ResizeStart, {startPosition: position, currentPosition: position});
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} startX
|
| + * @param {number} currentX
|
| + * @param {number} startY
|
| + * @param {number} currentY
|
| + * @param {boolean} shiftKey
|
| + */
|
| + sendDragMove(startX, currentX, startY, currentY, shiftKey) {
|
| + if (this._isVertical)
|
| + this.dispatchEventToListeners(
|
| + WebInspector.ResizerWidget.Events.ResizeUpdate,
|
| + {startPosition: startY, currentPosition: currentY, shiftKey: shiftKey});
|
| + else
|
| + this.dispatchEventToListeners(
|
| + WebInspector.ResizerWidget.Events.ResizeUpdate,
|
| + {startPosition: startX, currentPosition: currentX, shiftKey: shiftKey});
|
| + }
|
| };
|
|
|