| Index: chrome/browser/resources/shared/js/cr/ui/table.js
|
| diff --git a/chrome/browser/resources/shared/js/cr/ui/table.js b/chrome/browser/resources/shared/js/cr/ui/table.js
|
| index 43a012590fed2b64c3ea24b7ea287ac9e6b60603..a2c1bcc20e2061a4fd523457bb741f866e2456f2 100644
|
| --- a/chrome/browser/resources/shared/js/cr/ui/table.js
|
| +++ b/chrome/browser/resources/shared/js/cr/ui/table.js
|
| @@ -166,13 +166,12 @@ cr.define('cr.ui', function() {
|
| TableList.decorate(this.list_);
|
| this.list_.selectionModel = new ListSelectionModel(this);
|
| this.list_.table = this;
|
| + this.list_.addEventListener('scroll', this.handleScroll_.bind(this));
|
|
|
| TableHeader.decorate(this.header_);
|
| this.header_.table = this;
|
|
|
| this.classList.add('table');
|
| - this.ownerDocument.defaultView.addEventListener(
|
| - 'resize', this.header_.updateWidth.bind(this.header_));
|
|
|
| this.boundResize_ = this.resize.bind(this);
|
| this.boundHandleSorted_ = this.handleSorted_.bind(this);
|
| @@ -253,6 +252,14 @@ cr.define('cr.ui', function() {
|
| },
|
|
|
| /**
|
| + * This handles list 'scroll' events. Scrolls the header accordingly.
|
| + * @param {Event} e Scroll event.
|
| + */
|
| + handleScroll_: function(e) {
|
| + this.header_.style.marginLeft = -this.list_.scrollLeft + 'px';
|
| + },
|
| +
|
| + /**
|
| * Sort data by the given column.
|
| * @param {number} index The index of the column to sort by.
|
| */
|
| @@ -313,10 +320,7 @@ cr.define('cr.ui', function() {
|
| */
|
| fitColumn: function(index) {
|
| var list = this.list_;
|
| - var listWidth = list.clientWidth;
|
| var listHeight = list.clientHeight;
|
| - if (listWidth == 0)
|
| - return; // Ensure won't be division by 0.
|
|
|
| var cm = this.columnModel_;
|
| var dm = this.dataModel;
|
| @@ -352,8 +356,12 @@ cr.define('cr.ui', function() {
|
| list.appendChild(container);
|
| var width = parseFloat(getComputedStyle(container).width);
|
| list.removeChild(container);
|
| - cm.setWidth(index, width * 100 / listWidth);
|
| + cm.setWidth(index, width);
|
| });
|
| + },
|
| +
|
| + normalizeColumns: function() {
|
| + this.columnModel.normalizeWidths(this.clientWidth);
|
| }
|
| };
|
|
|
|
|