Chromium Code Reviews| Index: Source/devtools/front_end/SourcesPanel.js |
| diff --git a/Source/devtools/front_end/SourcesPanel.js b/Source/devtools/front_end/SourcesPanel.js |
| index c000a445a6fcb7d76d81d3b1d7120eaded279dec..17138ad241ec926eb9515022df8f01cdf1b2b1ad 100644 |
| --- a/Source/devtools/front_end/SourcesPanel.js |
| +++ b/Source/devtools/front_end/SourcesPanel.js |
| @@ -1592,9 +1592,50 @@ WebInspector.SourcesView = function() |
| this.registerRequiredCSS("sourcesView.css"); |
| this.element.id = "sources-panel-sources-view"; |
| this.element.addStyleClass("vbox"); |
| + this.element.addEventListener("dragenter", this._onDragEnter.bind(this), true); |
| + this.element.addEventListener("dragover", this._onDragOver.bind(this), true); |
| } |
| +WebInspector.SourcesView.dragAndDropFilesType = "Files"; |
| + |
| WebInspector.SourcesView.prototype = { |
| + _onDragEnter: function (event) |
| + { |
| + if (event.dataTransfer.types.indexOf(WebInspector.SourcesView.dragAndDropFilesType) === -1) |
| + return; |
| + event.consume(true); |
| + }, |
| + |
| + _onDragOver: function (event) |
| + { |
| + if (event.dataTransfer.types.indexOf(WebInspector.SourcesView.dragAndDropFilesType) === -1) |
| + return; |
| + event.consume(true); |
| + if (this._dragMaskElement) |
| + return; |
| + this._dragMaskElement = this.element.createChild("div", "fill drag-mask"); |
| + this._dragMaskElement.addEventListener("drop", this._onDrop.bind(this), true); |
| + this._dragMaskElement.addEventListener("dragleave", this._onDragLeave.bind(this), true); |
| + }, |
| + |
| + _onDrop: function (event) |
| + { |
| + event.consume(true); |
| + var items = event.dataTransfer.items; |
| + var item = /** @type {DataTransferItem} */ (items.length ? items[0] : null); |
| + var entry = item.webkitGetAsEntry(); |
| + if (!entry.isDirectory) |
| + return; |
| + InspectorFrontendHost.upgradeDraggedFileSystemPermissions(entry.filesystem); |
|
pfeldman
2013/11/05 06:14:49
What's wrong with sendMessageToEmbedder(["upgradeD
kinuko
2013/11/05 07:46:16
toURL is not supported in DraggedFileSystem (due t
|
| + }, |
| + |
| + _onDragLeave: function (event) |
| + { |
| + event.consume(true); |
| + this._dragMaskElement.remove(); |
| + delete this._dragMaskElement; |
| + }, |
| + |
| __proto__: WebInspector.View.prototype |
| } |