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

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

Issue 7461148: ntp4: fix some bugs that appeared when I changed the margin size (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 384
385 // Div that sets the vertical position of the tile grid. 385 // Div that sets the vertical position of the tile grid.
386 this.topMargin_ = this.ownerDocument.createElement('div'); 386 this.topMargin_ = this.ownerDocument.createElement('div');
387 this.topMargin_.className = 'top-margin'; 387 this.topMargin_.className = 'top-margin';
388 this.content_.appendChild(this.topMargin_); 388 this.content_.appendChild(this.topMargin_);
389 389
390 // Div that holds the tiles. 390 // Div that holds the tiles.
391 this.tileGrid_ = this.ownerDocument.createElement('div'); 391 this.tileGrid_ = this.ownerDocument.createElement('div');
392 this.tileGrid_.className = 'tile-grid'; 392 this.tileGrid_.className = 'tile-grid';
393 this.tileGrid_.style.minWidth = (this.gridValues_.minColCount * 393 this.tileGrid_.style.minWidth = (this.gridValues_.minColCount *
394 this.gridValues_.minTileWidth) + 'px'; 394 tileWidthFraction(this.gridValues_.minTileWidth)) + 'px';
395 this.content_.appendChild(this.tileGrid_); 395 this.content_.appendChild(this.tileGrid_);
396 396
397 // Ordered list of our tiles. 397 // Ordered list of our tiles.
398 this.tileElements_ = this.tileGrid_.getElementsByClassName('tile real'); 398 this.tileElements_ = this.tileGrid_.getElementsByClassName('tile real');
399 399
400 // These are properties used in updateTopMargin. 400 // These are properties used in updateTopMargin.
401 this.animatedTopMarginPx_ = 0; 401 this.animatedTopMarginPx_ = 0;
402 this.topMarginPx_ = 0; 402 this.topMarginPx_ = 0;
403 403
404 this.eventTracker = new EventTracker(); 404 this.eventTracker = new EventTracker();
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 this.tileGrid_.style.height = (realY + layout.rowHeight) + 'px'; 605 this.tileGrid_.style.height = (realY + layout.rowHeight) + 'px';
606 this.queueUpdateScrollbars_(); 606 this.queueUpdateScrollbars_();
607 } 607 }
608 }, 608 },
609 609
610 /** 610 /**
611 * Gets the index of the tile that should occupy coordinate (x, y). Note 611 * Gets the index of the tile that should occupy coordinate (x, y). Note
612 * that this function doesn't care where the tiles actually are, and will 612 * that this function doesn't care where the tiles actually are, and will
613 * return an index even for the space between two tiles. This function is 613 * return an index even for the space between two tiles. This function is
614 * effectively the inverse of |positionTile_|. 614 * effectively the inverse of |positionTile_|.
615 * @param {number} x The x coordinate, in pixels, relative to the top left 615 * @param {number} x The x coordinate, in pixels, relative to the left of
616 * of tileGrid_. 616 * |this|.
617 * @param {number} y The y coordinate. 617 * @param {number} y The y coordinate, in pixels, relative to the top of
618 * |this|.
618 * @private 619 * @private
619 */ 620 */
620 getWouldBeIndexForPoint_: function(x, y) { 621 getWouldBeIndexForPoint_: function(x, y) {
621 var grid = this.gridValues_; 622 var grid = this.gridValues_;
622 var layout = this.layoutValues_; 623 var layout = this.layoutValues_;
623 624
624 var col = Math.floor((x - layout.leftMargin) / layout.colWidth); 625 var gridClientRect = this.tileGrid_.getBoundingClientRect();
626 var col = Math.floor((x - gridClientRect.left - layout.leftMargin) /
627 layout.colWidth);
625 if (col < 0 || col >= layout.numRowTiles) 628 if (col < 0 || col >= layout.numRowTiles)
626 return -1; 629 return -1;
627 630
628 if (ntp4.isRTL()) 631 if (ntp4.isRTL())
629 col = layout.numRowTiles - 1 - col; 632 col = layout.numRowTiles - 1 - col;
630 633
631 var row = Math.floor( 634 var row = Math.floor((y - gridClientRect.top) / layout.rowHeight);
632 (y - this.tileGrid_.getBoundingClientRect().top) / layout.rowHeight);
633 return row * layout.numRowTiles + col; 635 return row * layout.numRowTiles + col;
634 }, 636 },
635 637
636 /** 638 /**
637 * Window resize event handler. Window resizes may trigger re-layouts. 639 * Window resize event handler. Window resizes may trigger re-layouts.
638 * @param {Object} e The resize event. 640 * @param {Object} e The resize event.
639 */ 641 */
640 onResize_: function(e) { 642 onResize_: function(e) {
641 if (this.lastWidth_ == this.clientWidth && 643 if (this.lastWidth_ == this.clientWidth &&
642 this.lastHeight_ == this.clientHeight) { 644 this.lastHeight_ == this.clientHeight) {
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 */ 997 */
996 tileMoved: function(draggedTile) { 998 tileMoved: function(draggedTile) {
997 }, 999 },
998 }; 1000 };
999 1001
1000 return { 1002 return {
1001 getCurrentlyDraggingTile: getCurrentlyDraggingTile, 1003 getCurrentlyDraggingTile: getCurrentlyDraggingTile,
1002 TilePage: TilePage, 1004 TilePage: TilePage,
1003 }; 1005 };
1004 }); 1006 });
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698