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

Unified Diff: third_party/WebKit/Source/devtools/front_end/data_grid/ViewportDataGrid.js

Issue 2887923002: DevTools: fix network grid scroll to bottom, render group node frame icon. (Closed)
Patch Set: Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
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 9a85a403a3cdc64fd45bd7bbbc854d2833e128e9..f6c76505aabecdc7a887e78c322976a75c3580f4 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
@@ -25,7 +25,6 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
this._stickToBottom = false;
this._updateIsFromUser = false;
- this._atBottom = true;
this._lastScrollTop = 0;
this._firstVisibleIsStriped = false;
@@ -45,7 +44,7 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
* @override
*/
onResize() {
- if (this._stickToBottom && this._atBottom)
+ if (this._stickToBottom)
this._scrollContainer.scrollTop = this._scrollContainer.scrollHeight - this._scrollContainer.clientHeight;
this.scheduleUpdate();
super.onResize();
@@ -62,7 +61,7 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
* @param {?Event} event
*/
_onScroll(event) {
- this._atBottom = this._scrollContainer.isScrolledToBottom();
+ this._stickToBottom = this._scrollContainer.isScrolledToBottom();
if (this._lastScrollTop !== this._scrollContainer.scrollTop)
this.scheduleUpdate(true);
}
@@ -78,6 +77,8 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
* @param {boolean=} isFromUser
*/
scheduleUpdate(isFromUser) {
+ if (this._stickToBottom && isFromUser)
+ this._stickToBottom = this._scrollContainer.isScrolledToBottom();
this._updateIsFromUser = this._updateIsFromUser || isFromUser;
if (this._updateAnimationFrameId)
return;
@@ -157,11 +158,10 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
var scrollTop = this._scrollContainer.scrollTop;
var currentScrollTop = scrollTop;
var maxScrollTop = Math.max(0, this._contentHeight() - clientHeight);
- if (!this._updateIsFromUser && this._stickToBottom && this._atBottom)
+ if (!this._updateIsFromUser && this._stickToBottom)
scrollTop = maxScrollTop;
this._updateIsFromUser = false;
scrollTop = Math.min(maxScrollTop, scrollTop);
- this._atBottom = scrollTop === maxScrollTop;
var viewportState = this._calculateVisibleNodes(clientHeight, scrollTop);
var visibleNodes = viewportState.visibleNodes;
@@ -228,7 +228,7 @@ DataGrid.ViewportDataGrid = class extends DataGrid.DataGrid {
var scrollTop = this._scrollContainer.scrollTop;
if (scrollTop > fromY) {
scrollTop = fromY;
- this._atBottom = false;
+ this._stickToBottom = false;
} else if (scrollTop + this._scrollContainer.offsetHeight < toY) {
scrollTop = toY - this._scrollContainer.offsetHeight;
}
@@ -420,6 +420,7 @@ DataGrid.ViewportDataGridNode = class extends DataGrid.DataGridNode {
expand() {
if (this._expanded)
return;
+ this.dataGrid._stickToBottom = false;
this.clearFlatNodes();
super.expand();
this.dataGrid.scheduleUpdateStructure();

Powered by Google App Engine
This is Rietveld 408576698