| OLD | NEW |
| 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 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 /** | 442 /** |
| 443 * Returns the width of the scrollbar, in pixels, if it is active, or 0 | 443 * Returns the width of the scrollbar, in pixels, if it is active, or 0 |
| 444 * otherwise. | 444 * otherwise. |
| 445 * @type {number} | 445 * @type {number} |
| 446 */ | 446 */ |
| 447 get scrollbarWidth() { | 447 get scrollbarWidth() { |
| 448 return this.scrollbar_.hidden ? 0 : 13; | 448 return this.scrollbar_.hidden ? 0 : 13; |
| 449 }, | 449 }, |
| 450 | 450 |
| 451 /** | 451 /** |
| 452 * Returns any extra padding to insert to the bottom of a tile page. By |
| 453 * default there is none, but subclasses can override. |
| 454 * @type {number} |
| 455 */ |
| 456 get extraBottomPadding() { |
| 457 return 0; |
| 458 }, |
| 459 |
| 460 /** |
| 452 * Cleans up resources that are no longer needed after this TilePage | 461 * Cleans up resources that are no longer needed after this TilePage |
| 453 * instance is removed from the DOM. | 462 * instance is removed from the DOM. |
| 454 */ | 463 */ |
| 455 tearDown: function() { | 464 tearDown: function() { |
| 456 this.eventTracker.removeAll(); | 465 this.eventTracker.removeAll(); |
| 457 }, | 466 }, |
| 458 | 467 |
| 459 /** | 468 /** |
| 460 * Appends a tile to the end of the tile grid. | 469 * Appends a tile to the end of the tile grid. |
| 461 * @param {HTMLElement} tileElement The contents of the tile. | 470 * @param {HTMLElement} tileElement The contents of the tile. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 479 if (animate) | 488 if (animate) |
| 480 tileElement.classList.add('new-tile-contents'); | 489 tileElement.classList.add('new-tile-contents'); |
| 481 var wrapperDiv = new Tile(tileElement); | 490 var wrapperDiv = new Tile(tileElement); |
| 482 if (index == this.tileElements_.length) { | 491 if (index == this.tileElements_.length) { |
| 483 this.tileGrid_.appendChild(wrapperDiv); | 492 this.tileGrid_.appendChild(wrapperDiv); |
| 484 } else { | 493 } else { |
| 485 this.tileGrid_.insertBefore(wrapperDiv, | 494 this.tileGrid_.insertBefore(wrapperDiv, |
| 486 this.tileElements_[index]); | 495 this.tileElements_[index]); |
| 487 } | 496 } |
| 488 this.calculateLayoutValues_(); | 497 this.calculateLayoutValues_(); |
| 498 this.heightChanged_(); |
| 489 | 499 |
| 490 this.positionTile_(index); | 500 this.positionTile_(index); |
| 491 }, | 501 }, |
| 492 | 502 |
| 493 /** | 503 /** |
| 494 * Removes the given tile and animates the respositioning of the other | 504 * Removes the given tile and animates the respositioning of the other |
| 495 * tiles. | 505 * tiles. |
| 496 * @param {HTMLElement} tile The tile to remove from |tileGrid_|. | 506 * @param {HTMLElement} tile The tile to remove from |tileGrid_|. |
| 497 * @param {?boolean} animate If true, tiles will animate. | 507 * @param {?boolean} animate If true, tiles will animate. |
| 498 */ | 508 */ |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 748 * Called when the height of |this| has changed: update the size of | 758 * Called when the height of |this| has changed: update the size of |
| 749 * tileGrid. | 759 * tileGrid. |
| 750 * @private | 760 * @private |
| 751 */ | 761 */ |
| 752 heightChanged_: function() { | 762 heightChanged_: function() { |
| 753 // The tile grid will expand to the bottom footer, or enough to hold all | 763 // The tile grid will expand to the bottom footer, or enough to hold all |
| 754 // the tiles, whichever is greater. It would be nicer if tilePage were | 764 // the tiles, whichever is greater. It would be nicer if tilePage were |
| 755 // a flex box, and the tile grid could be box-flex: 1, but this exposes a | 765 // a flex box, and the tile grid could be box-flex: 1, but this exposes a |
| 756 // bug where repositioning tiles will cause the scroll position to reset. | 766 // bug where repositioning tiles will cause the scroll position to reset. |
| 757 this.tileGrid_.style.minHeight = (this.clientHeight - | 767 this.tileGrid_.style.minHeight = (this.clientHeight - |
| 758 this.tileGrid_.offsetTop) + 'px'; | 768 this.tileGrid_.offsetTop - this.content_.offsetTop - |
| 769 this.extraBottomPadding) + 'px'; |
| 759 }, | 770 }, |
| 760 | 771 |
| 761 /** | 772 /** |
| 762 * Scrolls the page in response to a mousewheel event. | 773 * Scrolls the page in response to a mousewheel event. |
| 763 * @param {Event} e The mousewheel event. | 774 * @param {Event} e The mousewheel event. |
| 764 */ | 775 */ |
| 765 handleMouseWheel: function(e) { | 776 handleMouseWheel: function(e) { |
| 766 this.content_.scrollTop -= e.wheelDeltaY / 3; | 777 this.content_.scrollTop -= e.wheelDeltaY / 3; |
| 767 }, | 778 }, |
| 768 | 779 |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1041 setDropEffect: function(dataTransfer) { | 1052 setDropEffect: function(dataTransfer) { |
| 1042 assert(false); | 1053 assert(false); |
| 1043 }, | 1054 }, |
| 1044 }; | 1055 }; |
| 1045 | 1056 |
| 1046 return { | 1057 return { |
| 1047 getCurrentlyDraggingTile: getCurrentlyDraggingTile, | 1058 getCurrentlyDraggingTile: getCurrentlyDraggingTile, |
| 1048 TilePage: TilePage, | 1059 TilePage: TilePage, |
| 1049 }; | 1060 }; |
| 1050 }); | 1061 }); |
| OLD | NEW |