RESOLVED FIXED193696
Web Inspector: Network Waterfall column should redraw when adding/removing new columns
https://bugs.webkit.org/show_bug.cgi?id=193696
Summary Web Inspector: Network Waterfall column should redraw when adding/removing ne...
Joseph Pecoraro
Reported 2019-01-22 16:06:55 PST
Network Waterfall column should redraw when adding/removing new columns Steps to Reproduce: 1. Inspect this page 2. Reload to have waterfall column 3. Hide "Domain" columns => Waterfall column graphs do not extend to edges as expected 4. Show another column => Waterfall column graphs do not extend to edges as expected Note: - Resizing the window causes graphs to update correctly, so should showing/hiding columns
Attachments
[PATCH] Proposed Fix (5.50 KB, patch)
2019-01-22 16:09 PST, Joseph Pecoraro
no flags
[PATCH] For Landing (5.43 KB, patch)
2019-01-22 16:45 PST, Joseph Pecoraro
no flags
Radar WebKit Bug Importer
Comment 1 2019-01-22 16:07:28 PST
Joseph Pecoraro
Comment 2 2019-01-22 16:09:18 PST
Created attachment 359797 [details] [PATCH] Proposed Fix This has been a pet peeve of mine for a long time.
Devin Rousso
Comment 3 2019-01-22 16:24:24 PST
Comment on attachment 359797 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=359797&action=review r=me > Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:1073 > + needsReloadOnResize: true, And this is a perfect example of why I love optional objects in constructors 😍 > Source/WebInspectorUI/UserInterface/Views/Table.js:494 > + // Now populate columns that may be sensitive to resizes. Could you extract this logic into a separate function so that it can be called (instead of copied) by `hideColumn`? > Source/WebInspectorUI/UserInterface/Views/Table.js:498 > + this.reloadVisibleColumnCells(visibleColumn); Is it necessary to do all this work as soon as a new column is added, or can we leverage the layout system to wait until we need to actually display it (this also applies to the `this._delegate.tablePopulateCell` loop)?
Joseph Pecoraro
Comment 4 2019-01-22 16:41:40 PST
Comment on attachment 359797 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=359797&action=review >> Source/WebInspectorUI/UserInterface/Views/Table.js:494 >> + // Now populate columns that may be sensitive to resizes. > > Could you extract this logic into a separate function so that it can be called (instead of copied) by `hideColumn`? Turns out the logic can be slightly different given this excludes a single column. >> Source/WebInspectorUI/UserInterface/Views/Table.js:498 >> + this.reloadVisibleColumnCells(visibleColumn); > > Is it necessary to do all this work as soon as a new column is added, or can we leverage the layout system to wait until we need to actually display it (this also applies to the `this._delegate.tablePopulateCell` loop)? I gave it a quick attempt and it didn't work. I'm not exactly sure why, but one benefit of this approach is that it does the minimum amount of work on show/hide. I'm going to keep as is to avoid going down a rabbit hole. > Source/WebInspectorUI/UserInterface/Views/Table.js:557 > + if (visibleColumn !== column) { This loop doesn't need this check since `column` was just removed.
Joseph Pecoraro
Comment 5 2019-01-22 16:45:51 PST
Created attachment 359808 [details] [PATCH] For Landing
WebKit Commit Bot
Comment 6 2019-01-23 10:47:02 PST
Comment on attachment 359808 [details] [PATCH] For Landing Clearing flags on attachment: 359808 Committed r240347: <https://trac.webkit.org/changeset/240347>
Note You need to log in before you can comment on or make changes to this bug.