Bug 127440

Summary: Web Inspector: Support collapsing call site records into the resource timeline
Product: WebKit Reporter: Timothy Hatcher <timothy>
Component: Web InspectorAssignee: Timothy Hatcher <timothy>
Status: RESOLVED FIXED    
Severity: Normal CC: graouts, joepeck, timothy, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
joepeck: review+, joepeck: commit-queue-
Screenshot none

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.