RESOLVED FIXED 127440
Web Inspector: Support collapsing call site records into the resource timeline
https://bugs.webkit.org/show_bug.cgi?id=127440
Summary Web Inspector: Support collapsing call site records into the resource timeline
Timothy Hatcher
Reported 2014-01-22 12:06:30 PST
When a resource is collapsed the call site records should be shown on the resource row.
Attachments
Patch (30.62 KB, patch)
2014-01-22 12:13 PST, Timothy Hatcher
joepeck: review+
joepeck: commit-queue-
Screenshot (446.32 KB, image/png)
2014-01-22 12:29 PST, Timothy Hatcher
no flags
Radar WebKit Bug Importer
Comment 1 2014-01-22 12:07:12 PST
Timothy Hatcher
Comment 2 2014-01-22 12:13:07 PST
Timothy Hatcher
Comment 3 2014-01-22 12:29:02 PST
Created attachment 221891 [details] Screenshot
Joseph Pecoraro
Comment 4 2014-01-22 13:50:51 PST
Comment on attachment 221888 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=221888&action=review r=me > Source/WebInspectorUI/ChangeLog:24 > + Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded and not netwrok records. Typo: netwrok > Source/WebInspectorUI/ChangeLog:69 > + Tweaked styles to look bettwen when selected. Typo: bettwen => better > Source/WebInspectorUI/UserInterface/OverviewTimelineView.js:104 > + // Check the filters again since the current time change might have revealed this node. Start and end time canges are handled by TimelineContentView. Typo: canges => ranges > Source/WebInspectorUI/UserInterface/OverviewTimelineView.js:105 > + WebInspector.timelineSidebarPanel.updateFilter(); Maybe you can have an updateFilter(oldCurrentTime) and only need to update records that came after oldCurrentTime to hopefully reduce the amount of work. > Source/WebInspectorUI/UserInterface/TimelineDataGridNode.js:67 > + collapse: function() Can each of these (collapse, expand, appendChild, insertChild, etc.) call this.needsGraphRefresh instead of this.refreshGraph to combine potential multiple updates. If that is the case, you can remove the if (!this._graphDataSource) check because needsGraphRefresh does that for you. > Source/WebInspectorUI/UserInterface/TimelineDataGridNode.js:371 > + for (var childNode of this.children) { > + if (!(childNode instanceof WebInspector.TimelineDataGridNode)) > + continue; This only goes 1 level deep. I would not have expected that. E.g. if someone collapses a main resource (index.html in the screenshot) I would expect all the bubbles to bubble up into one row. This for loop would need to be a recursive function willing to dig deeper.
Timothy Hatcher
Comment 5 2014-01-22 14:59:11 PST
I made it recursive and removed the need for appendChild, insertChild, etc. https://trac.webkit.org/r162560
Timothy Hatcher
Comment 6 2014-01-22 15:23:46 PST
Note You need to log in before you can comment on or make changes to this bug.