Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js b/third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js |
| index 43ebc1ab31586fdf0875fb524151995fc298c4f2..fbb775ade76365e45a8e27574d0d47481a701b87 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js |
| @@ -40,6 +40,7 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid { |
| this._atBottom = true; |
| /** @type {number} */ |
| this._lastScrollTop = 0; |
| + this._previousTopOffset = 0; |
|
dgozman
2017/01/20 22:14:40
/** @type {boolean} */
this._firstVisibleIsStriped
allada
2017/01/20 22:35:08
Done.
|
| this.setRootNode(new DataGrid.ViewportDataGridNode()); |
| } |
| @@ -203,11 +204,21 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid { |
| previousElement = this._hiddenWheelTarget; |
| var tBody = this.dataTableBody; |
| var offset = viewportState.offset; |
| + |
| + if (visibleNodes.length) { |
| + var nodes = this.rootNode().flatChildren(); |
| + var index = nodes.findIndex(node => visibleNodes[0] === node); |
|
dgozman
2017/01/20 22:14:40
nodes.indexOf(visibleNodes[0])
allada
2017/01/20 22:35:08
Done.
|
| + if (index !== -1 && index % 2 !== this._previousTopOffset % 2) |
| + offset += 1; |
| + } |
| + |
| + this._previousTopOffset = offset; |
|
luoe
2017/01/20 18:05:48
Even/oddness could be checked by relying on the cl
allada
2017/01/20 19:53:45
I didn't want to force element to be constructed.
|
| + |
| for (var i = 0; i < visibleNodes.length; ++i) { |
| var node = visibleNodes[i]; |
| var element = node.element(); |
| node.willAttach(); |
| - element.classList.toggle('odd', (offset + i) % 2 === 0); |
| + node.setOdd((offset + i) % 2 === 0); |
| tBody.insertBefore(element, previousElement.nextSibling); |
| node.revealed = true; |
| previousElement = element; |
| @@ -288,6 +299,13 @@ DataGrid.ViewportDataGridNode = class extends DataGrid.DataGridNode { |
| return element; |
| } |
| + /** |
| + * @param {boolean} isOdd |
| + */ |
| + setOdd(isOdd) { |
| + this.element().classList.toggle('odd', isOdd); |
| + } |
| + |
| _clearFlatNodes() { |
| this._flatNodes = null; |
| var parent = /** @type {!DataGrid.ViewportDataGridNode} */ (this.parent); |