diff options
author | arv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-01 21:55:17 +0000 |
---|---|---|
committer | arv@chromium.org <arv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-01 21:55:17 +0000 |
commit | fa3844251da59714b2a7cf7b19935a1238ac1983 (patch) | |
tree | b5f7df9a5c456076489de9e300984c2df8dd79c6 /chrome/test | |
parent | e5a6310ba2adb86cc39603dc104f49e86e83bb05 (diff) | |
download | chromium_src-fa3844251da59714b2a7cf7b19935a1238ac1983.zip chromium_src-fa3844251da59714b2a7cf7b19935a1238ac1983.tar.gz chromium_src-fa3844251da59714b2a7cf7b19935a1238ac1983.tar.bz2 |
Add the DnD work around to bookmark manager as well.
BUG=None
TEST=Add the extension and try dragging items around.
Review URL: http://codereview.chromium.org/553178
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37747 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/data/extensions/bookmarkmanager/main.html | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/chrome/test/data/extensions/bookmarkmanager/main.html b/chrome/test/data/extensions/bookmarkmanager/main.html index db688c3..823e973 100644 --- a/chrome/test/data/extensions/bookmarkmanager/main.html +++ b/chrome/test/data/extensions/bookmarkmanager/main.html @@ -618,6 +618,9 @@ addBookmarkModelListeners(); <script> var dnd = { + + DND_EFFECT: cr.isMac ? 'move' : 'copy', // http://crbug.com/14654 + dragBookmarkNodes: [], getBookmarkElement: function(el) { @@ -838,8 +841,10 @@ var dnd = { // console.log(draggedItems, this.dragBookmarkNodes) + // TODO(arv): Fix this once we expose DnD in the extension API // Mac requires setData to be called e.dataTransfer.setData('text/uri-list', 'http://www.google.com/'); + e.dataTransfer.effectAllowed = this.DND_EFFECT; if (!this.dragBookmarkNodes.length) { e.preventDefault(); @@ -892,6 +897,8 @@ var dnd = { var dropPos; e.preventDefault(); + // TODO(arv): Fix this once we expose DnD in the extension API + e.dataTransfer.dropEffect = this.DND_EFFECT; var rect; if (overElement instanceof TreeItem) { @@ -987,6 +994,7 @@ var dnd = { * @private */ showDropOverlay_: function(targetRect, overlayType) { + window.clearTimeout(this.hideDropOverlayTimer_); var overlay = $('drop-overlay'); if (overlayType == 'on') { overlay.className = ''; @@ -1016,7 +1024,12 @@ var dnd = { * @private */ hideDropOverlay_: function() { - $('drop-overlay').style.display = ''; + // Hide the overlay in a timeout to reduce flickering as we move between + // valid drop targets. + window.clearTimeout(this.hideDropOverlayTimer_); + this.hideDropOverlayTimer_ = window.setTimeout(function() { + $('drop-overlay').style.display = ''; + }, 100); }, handleDragLeave: function(e) { |