Index: chrome/browser/resources/ntp4/tile_page.js |
diff --git a/chrome/browser/resources/ntp4/tile_page.js b/chrome/browser/resources/ntp4/tile_page.js |
index 4a490452bf6269d6e07ac4fc549b3cd3e57787c2..d99451528b3ee7ba98d5d7520a30580c13853ea2 100644 |
--- a/chrome/browser/resources/ntp4/tile_page.js |
+++ b/chrome/browser/resources/ntp4/tile_page.js |
@@ -161,7 +161,7 @@ cr.define('ntp4', function() { |
if (this.landedOnTrash) { |
this.dragClone.classList.add('deleting'); |
} else if (this.tilePage) { |
- if (this.tilePage.selected) { |
+ if (this.tilePage.selected && e.dataTransfer.dropEffect != 'copy') { |
// The tile's contents may have moved following the respositioning; |
// adjust for that. |
var contentDiffX = this.dragClone.firstChild.offsetLeft - |
@@ -903,11 +903,7 @@ cr.define('ntp4', function() { |
doDragOver: function(e) { |
e.preventDefault(); |
- if (currentlyDraggingTile) |
- e.dataTransfer.dropEffect = 'move'; |
- else |
- e.dataTransfer.dropEffect = 'copy'; |
- |
+ this.setDropEffect(e.dataTransfer); |
var newDragIndex = this.getWouldBeIndexForPoint_(e.pageX, e.pageY); |
if (newDragIndex < 0 || newDragIndex >= this.tileElements_.length) |
newDragIndex = this.dragItemIndex_; |
@@ -1030,6 +1026,15 @@ cr.define('ntp4', function() { |
*/ |
tileMoved: function(draggedTile) { |
}, |
+ |
+ /** |
+ * Sets the drop effect on |dataTransfer| to the desired value (e.g. |
+ * 'copy'). |
+ * @param {Object} dataTransfer The drag event dataTransfer object. |
+ */ |
+ setDropEffect: function(dataTransfer) { |
+ assert(false); |
+ }, |
}; |
return { |