diff options
-rw-r--r-- | chrome/browser/resources/bookmark_manager/main.html | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/chrome/browser/resources/bookmark_manager/main.html b/chrome/browser/resources/bookmark_manager/main.html index ad947b0..5adfcc0 100644 --- a/chrome/browser/resources/bookmark_manager/main.html +++ b/chrome/browser/resources/bookmark_manager/main.html @@ -626,8 +626,6 @@ var dnd = { * @param {Event} e The dragstart event. */ handleDragStart: function(e) { - // console.log(e.type); - // Determine the selected bookmarks. var target = e.target; var draggedItems = []; @@ -662,8 +660,6 @@ var dnd = { }, handleDragEnter: function(e) { - // console.log(e.type); - e.preventDefault(); }, @@ -672,14 +668,17 @@ var dnd = { * @param {Event} e The dragover event. */ handleDragOver: function(e) { - // console.log(e.type); + // TODO(arv): This function is way too long. Please refactor it. - // The default operation is to allow dropping links etc to do navigation. - // We never want to do that for the bookmark manager. - e.preventDefault(); + // Allow DND on text inputs. + if (e.target.tagName != 'INPUT') { + // The default operation is to allow dropping links etc to do navigation. + // We never want to do that for the bookmark manager. + e.preventDefault(); - // Set to none. This will get set to something if we can do the drop. - e.dataTransfer.dropEffect = 'none'; + // Set to none. This will get set to something if we can do the drop. + e.dataTransfer.dropEffect = 'none'; + } if (!this.dragData) return; @@ -846,14 +845,10 @@ var dnd = { }, handleDragLeave: function(e) { - // console.log(e.type); - this.hideDropOverlay_(); }, handleDrop: function(e) { - // console.log(e.type); - if (this.dropDestination && this.dragData) { var dropPos = this.dropDestination.dropPos; var relatedNode = this.dropDestination.relatedNode; @@ -876,12 +871,7 @@ var dnd = { this.hideDropOverlay_(); }, - handleDrag: function(e) { - // console.log(e.type); - }, - - handleDragEnd: function(e) { - // console.log(e.type); + clearDragData: function() { this.dragData = null; }, @@ -890,16 +880,19 @@ var dnd = { }, init: function() { + var boundClearData = cr.bind(this.clearDragData, this); + document.addEventListener('dragstart', cr.bind(this.handleDragStart, this)); document.addEventListener('dragenter', cr.bind(this.handleDragEnter, this)); document.addEventListener('dragover', cr.bind(this.handleDragOver, this)); document.addEventListener('dragleave', cr.bind(this.handleDragLeave, this)); document.addEventListener('drop', cr.bind(this.handleDrop, this)); - document.addEventListener('dragend', cr.bind(this.handleDragEnd, this)); - document.addEventListener('drag', cr.bind(this.handleDrag, this)); + document.addEventListener('dragend', boundClearData); chrome.experimental.bookmarkManager.onDragEnter.addListener(cr.bind( this.handleChromeDragEnter, this)); + chrome.experimental.bookmarkManager.onDragLeave.addListener(boundClearData); + chrome.experimental.bookmarkManager.onDrop.addListener(boundClearData); } }; |