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

Unified Diff: chrome/browser/resources/ntp_search/tile_page.js

Issue 11566026: NTP5: Apps regression fix. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/ntp_search/tile_page.js
diff --git a/chrome/browser/resources/ntp_search/tile_page.js b/chrome/browser/resources/ntp_search/tile_page.js
index 52c347d76143a44138ab22c9cf3b4d7ab71a56b5..ab56e0621e44c7fd75ce4d75716240371de5d25d 100644
--- a/chrome/browser/resources/ntp_search/tile_page.js
+++ b/chrome/browser/resources/ntp_search/tile_page.js
@@ -126,12 +126,11 @@ cr.define('ntp', function() {
* @constructor
* @extends {HTMLDivElement}
* @param {HTMLElement} tile Tile element that will be associated to the cell.
- * @param {Object} config TilePage configuration object.
*/
- function TileCell(tile, config) {
+ function TileCell(tile) {
var tileCell = cr.doc.createElement('div');
tileCell.__proto__ = TileCell.prototype;
- tileCell.initialize(tile, config);
+ tileCell.initialize(tile);
return tileCell;
}
@@ -142,9 +141,8 @@ cr.define('ntp', function() {
/**
* Initializes a TileCell.
* @param {Tile} tile The Tile that will be assigned to this TileCell.
- * @param {Object} config TilePage configuration object.
*/
- initialize: function(tile, config) {
+ initialize: function(tile) {
this.className = 'tile-cell';
this.assign(tile);
},
@@ -451,7 +449,7 @@ cr.define('ntp', function() {
* @protected
*/
createTile_: function() {
- return new this.TileClass(this.config);
+ return new this.TileClass();
},
/**
@@ -636,7 +634,7 @@ cr.define('ntp', function() {
tileCell = tileRowTiles[col];
} else {
var span = cr.doc.createElement('span');
- tileCell = new TileCell(span, this.config);
+ tileCell = new TileCell(span);
}
// Render Tiles.
@@ -851,13 +849,25 @@ cr.define('ntp', function() {
var extraCell = tileCells[extraTileIndex];
var extraTileData = newDataList[extraTileIndex + 1];
+ var restoredData = newDataList[index];
+ var tileBeingRestored = createTile(this, restoredData);
+
+ // If the tile being restored/added is on the last position, and the
+ // tile before that is on the last column of a particular row, then we
+ // need to handle it separately once there will be no cell to put the
+ // restored tile temporarily and there will be no rearrangement of tiles.
Dan Beam 2012/12/14 18:28:13 I appreciate this comment but I'm still not quite
pedro (no code reviews) 2012/12/14 18:54:10 I've rewritten this comment, let me know if it is
+ if (!tileCells[index]) {
+ this.appendTile(tileBeingRestored);
+ tileBeingRestored.classList.add('target-tile');
+ fadeTile(tileBeingRestored, true);
+ return;
+ }
+
var repositioningStartIndex = index;
var repositioningEndIndex = tileCount - (extraTileData ? 1 : 0);
this.initializeRepositioningAnimation_(index, repositioningEndIndex);
- var restoredData = newDataList[index];
- var tileBeingRestored = createTile(this, restoredData);
tileCells[index].appendChild(tileBeingRestored);
if (this.config.scrollable)
@@ -1084,8 +1094,7 @@ cr.define('ntp', function() {
var tile;
if (opt_data) {
// If there's data, the new tile will be a real one (not a filler).
- tile = new tilePage.TileClass(tilePage.config);
- tile.data = opt_data;
+ tile = new tilePage.TileClass(opt_data);
} else {
// Otherwise, it will be a fake filler tile.
tile = cr.doc.createElement('span');

Powered by Google App Engine
This is Rietveld 408576698