Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: chrome/browser/resources/ntp4/tile_page.js

Issue 7685049: ntp4: app install improvements (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: restore code Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('ntp4', function() { 5 cr.define('ntp4', function() {
6 'use strict'; 6 'use strict';
7 7
8 // We can't pass the currently dragging tile via dataTransfer because of 8 // We can't pass the currently dragging tile via dataTransfer because of
9 // http://crbug.com/31037 9 // http://crbug.com/31037
10 var currentlyDraggingTile = null; 10 var currentlyDraggingTile = null;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 setCurrentlyDraggingTile(null); 152 setCurrentlyDraggingTile(null);
153 153
154 // tilePage will be null if we've already been removed. 154 // tilePage will be null if we've already been removed.
155 if (this.tilePage) 155 if (this.tilePage)
156 this.tilePage.positionTile_(this.index); 156 this.tilePage.positionTile_(this.index);
157 157
158 // Take an appropriate action with the drag clone. 158 // Take an appropriate action with the drag clone.
159 if (this.landedOnTrash) { 159 if (this.landedOnTrash) {
160 this.dragClone.classList.add('deleting'); 160 this.dragClone.classList.add('deleting');
161 } else if (this.tilePage) { 161 } else if (this.tilePage) {
162 if (this.tilePage.selected) { 162 if (this.tilePage.selected && e.dataTransfer.dropEffect != 'copy') {
163 // The tile's contents may have moved following the respositioning; 163 // The tile's contents may have moved following the respositioning;
164 // adjust for that. 164 // adjust for that.
165 var contentDiffX = this.dragClone.firstChild.offsetLeft - 165 var contentDiffX = this.dragClone.firstChild.offsetLeft -
166 this.firstChild.offsetLeft; 166 this.firstChild.offsetLeft;
167 var contentDiffY = this.dragClone.firstChild.offsetTop - 167 var contentDiffY = this.dragClone.firstChild.offsetTop -
168 this.firstChild.offsetTop; 168 this.firstChild.offsetTop;
169 this.dragClone.style.left = (this.gridX + this.parentNode.offsetLeft - 169 this.dragClone.style.left = (this.gridX + this.parentNode.offsetLeft -
170 contentDiffX) + 'px'; 170 contentDiffX) + 'px';
171 this.dragClone.style.top = 171 this.dragClone.style.top =
172 (this.gridY + this.parentNode.getBoundingClientRect().top - 172 (this.gridY + this.parentNode.getBoundingClientRect().top -
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 872
873 /** 873 /**
874 * Performs all actions necessary when the user moves the cursor during 874 * Performs all actions necessary when the user moves the cursor during
875 * a drag over the tile page. 875 * a drag over the tile page.
876 * @param {Event} e A mouseover event for the drag over. 876 * @param {Event} e A mouseover event for the drag over.
877 * @private 877 * @private
878 */ 878 */
879 doDragOver: function(e) { 879 doDragOver: function(e) {
880 e.preventDefault(); 880 e.preventDefault();
881 881
882 if (currentlyDraggingTile) 882 this.setDropEffect(e.dataTransfer);
883 e.dataTransfer.dropEffect = 'move';
884 else
885 e.dataTransfer.dropEffect = 'copy';
886
887 var newDragIndex = this.getWouldBeIndexForPoint_(e.pageX, e.pageY); 883 var newDragIndex = this.getWouldBeIndexForPoint_(e.pageX, e.pageY);
888 if (newDragIndex < 0 || newDragIndex >= this.tileElements_.length) 884 if (newDragIndex < 0 || newDragIndex >= this.tileElements_.length)
889 newDragIndex = this.dragItemIndex_; 885 newDragIndex = this.dragItemIndex_;
890 this.updateDropIndicator_(newDragIndex); 886 this.updateDropIndicator_(newDragIndex);
891 }, 887 },
892 888
893 /** 889 /**
894 * Performs all actions necessary when the user completes a drop. 890 * Performs all actions necessary when the user completes a drop.
895 * @param {Event} e A mouseover event for the drag drop. 891 * @param {Event} e A mouseover event for the drag drop.
896 * @private 892 * @private
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 assert(false); 995 assert(false);
1000 }, 996 },
1001 997
1002 /** 998 /**
1003 * Called when a tile has been moved (via dragging). Override this to make 999 * Called when a tile has been moved (via dragging). Override this to make
1004 * backend updates. 1000 * backend updates.
1005 * @param {Node} draggedTile The tile that was dropped. 1001 * @param {Node} draggedTile The tile that was dropped.
1006 */ 1002 */
1007 tileMoved: function(draggedTile) { 1003 tileMoved: function(draggedTile) {
1008 }, 1004 },
1005
1006 /**
1007 * Sets the drop effect on |dataTransfer| to the desired value (e.g.
1008 * 'copy').
1009 * @param {Object} dataTransfer The drag event dataTransfer object.
1010 */
1011 setDropEffect: function(dataTransfer) {
1012 assert(false);
1013 },
1009 }; 1014 };
1010 1015
1011 return { 1016 return {
1012 getCurrentlyDraggingTile: getCurrentlyDraggingTile, 1017 getCurrentlyDraggingTile: getCurrentlyDraggingTile,
1013 TilePage: TilePage, 1018 TilePage: TilePage,
1014 }; 1019 };
1015 }); 1020 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698