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}); |
+ } |
}; |