Index: third_party/WebKit/Source/devtools/front_end/ui/DropTarget.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/DropTarget.js b/third_party/WebKit/Source/devtools/front_end/ui/DropTarget.js |
index 5d113037138aa4fd25cf9bd97bd236d98e8e6e53..c6b914dff1551d9e8abef5f57385094654920088 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/ui/DropTarget.js |
+++ b/third_party/WebKit/Source/devtools/front_end/ui/DropTarget.js |
@@ -1,102 +1,95 @@ |
// Copyright (c) 2015 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 |
- * @param {!Element} element |
- * @param {!Array.<string>} transferTypes |
- * @param {string} messageText |
- * @param {function(!DataTransfer)} handleDrop |
+ * @unrestricted |
*/ |
-WebInspector.DropTarget = function(element, transferTypes, messageText, handleDrop) |
-{ |
- element.addEventListener("dragenter", this._onDragEnter.bind(this), true); |
- element.addEventListener("dragover", this._onDragOver.bind(this), true); |
+WebInspector.DropTarget = class { |
+ /** |
+ * @param {!Element} element |
+ * @param {!Array.<string>} transferTypes |
+ * @param {string} messageText |
+ * @param {function(!DataTransfer)} handleDrop |
+ */ |
+ constructor(element, transferTypes, messageText, handleDrop) { |
+ element.addEventListener('dragenter', this._onDragEnter.bind(this), true); |
+ element.addEventListener('dragover', this._onDragOver.bind(this), true); |
this._element = element; |
this._transferTypes = transferTypes; |
this._messageText = messageText; |
this._handleDrop = handleDrop; |
this._enabled = true; |
-}; |
+ } |
-WebInspector.DropTarget.Types = { |
- Files: "Files", |
- URIList: "text/uri-list" |
-}; |
+ /** |
+ * @param {boolean} enabled |
+ */ |
+ setEnabled(enabled) { |
+ this._enabled = enabled; |
+ } |
-WebInspector.DropTarget.prototype = { |
- /** |
- * @param {boolean} enabled |
- */ |
- setEnabled: function(enabled) |
- { |
- this._enabled = enabled; |
- }, |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _onDragEnter(event) { |
+ if (this._enabled && this._hasMatchingType(event)) |
+ event.consume(true); |
+ } |
- /** |
- * @param {!Event} event |
- */ |
- _onDragEnter: function(event) |
- { |
- if (this._enabled && this._hasMatchingType(event)) |
- event.consume(true); |
- }, |
+ /** |
+ * @param {!Event} event |
+ * @return {boolean} |
+ */ |
+ _hasMatchingType(event) { |
+ for (var type of this._transferTypes) { |
+ if (event.dataTransfer.types.indexOf(type) !== -1) |
+ return true; |
+ } |
+ return false; |
+ } |
- /** |
- * @param {!Event} event |
- * @return {boolean} |
- */ |
- _hasMatchingType: function(event) |
- { |
- for (var type of this._transferTypes) { |
- if (event.dataTransfer.types.indexOf(type) !== -1) |
- return true; |
- } |
- return false; |
- }, |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _onDragOver(event) { |
+ if (!this._enabled || !this._hasMatchingType(event)) |
+ return; |
+ event.dataTransfer.dropEffect = 'copy'; |
+ event.consume(true); |
+ if (this._dragMaskElement) |
+ return; |
+ this._dragMaskElement = this._element.createChild('div', ''); |
+ var shadowRoot = WebInspector.createShadowRootWithCoreStyles(this._dragMaskElement, 'ui/dropTarget.css'); |
+ shadowRoot.createChild('div', 'drop-target-message').textContent = this._messageText; |
+ this._dragMaskElement.addEventListener('drop', this._onDrop.bind(this), true); |
+ this._dragMaskElement.addEventListener('dragleave', this._onDragLeave.bind(this), true); |
+ } |
- /** |
- * @param {!Event} event |
- */ |
- _onDragOver: function(event) |
- { |
- if (!this._enabled || !this._hasMatchingType(event)) |
- return; |
- event.dataTransfer.dropEffect = "copy"; |
- event.consume(true); |
- if (this._dragMaskElement) |
- return; |
- this._dragMaskElement = this._element.createChild("div", ""); |
- var shadowRoot = WebInspector.createShadowRootWithCoreStyles(this._dragMaskElement, "ui/dropTarget.css"); |
- shadowRoot.createChild("div", "drop-target-message").textContent = this._messageText; |
- this._dragMaskElement.addEventListener("drop", this._onDrop.bind(this), true); |
- this._dragMaskElement.addEventListener("dragleave", this._onDragLeave.bind(this), true); |
- }, |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _onDrop(event) { |
+ event.consume(true); |
+ this._removeMask(); |
+ if (this._enabled) |
+ this._handleDrop(event.dataTransfer); |
+ } |
- /** |
- * @param {!Event} event |
- */ |
- _onDrop: function(event) |
- { |
- event.consume(true); |
- this._removeMask(); |
- if (this._enabled) |
- this._handleDrop(event.dataTransfer); |
- }, |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _onDragLeave(event) { |
+ event.consume(true); |
+ this._removeMask(); |
+ } |
- /** |
- * @param {!Event} event |
- */ |
- _onDragLeave: function(event) |
- { |
- event.consume(true); |
- this._removeMask(); |
- }, |
+ _removeMask() { |
+ this._dragMaskElement.remove(); |
+ delete this._dragMaskElement; |
+ } |
+}; |
- _removeMask: function() |
- { |
- this._dragMaskElement.remove(); |
- delete this._dragMaskElement; |
- } |
+WebInspector.DropTarget.Types = { |
+ Files: 'Files', |
+ URIList: 'text/uri-list' |
}; |