WebKit Bugzilla
Attachment 347307 Details for
Bug 188590
: Web Inspector: Show Initiator information in Network Table
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] Proposed Fix
initiator-1.patch (text/plain), 9.93 KB, created by
Joseph Pecoraro
on 2018-08-16 14:29:05 PDT
(
hide
)
Description:
[PATCH] Proposed Fix
Filename:
MIME Type:
Creator:
Joseph Pecoraro
Created:
2018-08-16 14:29:05 PDT
Size:
9.93 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index 71b9f96f6a1..c067a53a028 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,35 @@ >+2018-08-14 Joseph Pecoraro <pecoraro@apple.com> >+ >+ Web Inspector: Show Initiator information in Network Table >+ https://bugs.webkit.org/show_bug.cgi?id=188590 >+ <rdar://problem/43305488> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UserInterface/Views/NetworkResourceDetailView.js: >+ (WI.NetworkResourceDetailView): >+ (WI.NetworkResourceDetailView.prototype.shown): >+ (WI.NetworkResourceDetailView.prototype.willShowWithCookie): >+ (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): >+ When a ResourceDetailView gets shown, it may also want to show its initial content view >+ with a cookie as the cookie may contain position highlight information. >+ >+ * UserInterface/Views/NetworkTableContentView.js: >+ (WI.NetworkTableContentView): >+ (WI.NetworkTableContentView.prototype._showResourceDetailView): >+ (WI.NetworkTableContentView.prototype.showRepresentedObject): >+ When showing a represented object, pass the cookie information on to the detail >+ view's so that it may include the cookie when showing the final content view. >+ >+ (WI.NetworkTableContentView.prototype.tablePopulateCell): >+ (WI.NetworkTableContentView.prototype._populateInitiatorCell): >+ (WI.NetworkTableContentView.prototype.initialLayout): >+ New initiator column contains a source code link to the call site. >+ >+ (WI.NetworkTableContentView.prototype._generateSortComparator): >+ (WI.NetworkTableContentView.prototype._entryForResource): >+ Entry data for the initiator is a display string that can be sorted easily. >+ > 2018-08-14 Joseph Pecoraro <pecoraro@apple.com> > > LayoutTest inspector/worker/debugger-pause.html sometimes times out >diff --git a/Source/WebInspectorUI/UserInterface/Views/NetworkResourceDetailView.js b/Source/WebInspectorUI/UserInterface/Views/NetworkResourceDetailView.js >index 0d98d9c3b3a..3d399394b41 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/NetworkResourceDetailView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/NetworkResourceDetailView.js >@@ -42,6 +42,8 @@ WI.NetworkResourceDetailView = class NetworkResourceDetailView extends WI.View > this._cookiesContentView = null; > this._sizesContentView = null; > this._timingContentView = null; >+ >+ this._contentViewCookie = null; > } > > // Public >@@ -54,6 +56,12 @@ WI.NetworkResourceDetailView = class NetworkResourceDetailView extends WI.View > return; > > this._showPreferredContentView(); >+ >+ if (this._contentViewCookie) { >+ this._contentBrowser.showContentView(this._contentBrowser.currentContentView, this._contentViewCookie); >+ this._contentViewCookie = null; >+ } >+ > this._contentBrowser.shown(); > } > >@@ -69,6 +77,11 @@ WI.NetworkResourceDetailView = class NetworkResourceDetailView extends WI.View > this._contentBrowser.contentViewContainer.closeAllContentViews(); > } > >+ willShowWithCookie(cookie) >+ { >+ this._contentViewCookie = cookie; >+ } >+ > // ResourceHeadersContentView delegate > > headersContentViewGoToRequestData(headersContentView) >@@ -174,27 +187,27 @@ WI.NetworkResourceDetailView = class NetworkResourceDetailView extends WI.View > case "preview": > if (!this._resourceContentView) > this._resourceContentView = this._contentBrowser.showContentViewForRepresentedObject(this._resource); >- this._contentBrowser.showContentView(this._resourceContentView); >+ this._contentBrowser.showContentView(this._resourceContentView, this._contentViewCookie); > break; > case "headers": > if (!this._headersContentView) > this._headersContentView = new WI.ResourceHeadersContentView(this._resource, this); >- this._contentBrowser.showContentView(this._headersContentView); >+ this._contentBrowser.showContentView(this._headersContentView, this._contentViewCookie); > break; > case "cookies": > if (!this._cookiesContentView) > this._cookiesContentView = new WI.ResourceCookiesContentView(this._resource); >- this._contentBrowser.showContentView(this._cookiesContentView); >+ this._contentBrowser.showContentView(this._cookiesContentView, this._contentViewCookie); > break; > case "sizes": > if (!this._sizesContentView) > this._sizesContentView = new WI.ResourceSizesContentView(this._resource, this); >- this._contentBrowser.showContentView(this._sizesContentView); >+ this._contentBrowser.showContentView(this._sizesContentView, this._contentViewCookie); > break; > case "timing": > if (!this._timingContentView) > this._timingContentView = new WI.ResourceTimingContentView(this._resource); >- this._contentBrowser.showContentView(this._timingContentView); >+ this._contentBrowser.showContentView(this._timingContentView, this._contentViewCookie); > break; > } > } >diff --git a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >index 0c9fb02dffd..bede9c6a3fe 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >@@ -35,6 +35,7 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > this._pendingInsertions = []; > this._pendingUpdates = []; > this._pendingFilter = false; >+ this._showingRepresentedObjectCookie = null; > > this._table = null; > this._nameColumnWidthSetting = new WI.Setting("network-table-content-view-name-column-width", 250); >@@ -289,7 +290,9 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > return; > } > >+ this._showingRepresentedObjectCookie = cookie; > this._table.selectRow(rowIndex); >+ this._showingRepresentedObjectCookie = null; > } > > // NetworkResourceDetailView delegate >@@ -394,6 +397,9 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > case "protocol": > cell.textContent = entry.protocol || emDash; > break; >+ case "initiator": >+ this._populateInitiatorCell(cell, entry); >+ break; > case "priority": > cell.textContent = WI.Resource.displayNameForPriority(entry.priority) || emDash; > break; >@@ -463,6 +469,21 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > cell.append(entry.domain); > } > >+ _populateInitiatorCell(cell, entry) >+ { >+ let initiatorLocation = entry.resource.initiatorSourceCodeLocation; >+ if (!initiatorLocation) { >+ cell.textContent = emDash; >+ return; >+ } >+ >+ const options = { >+ dontFloat: true, >+ ignoreSearchTab: true, >+ }; >+ cell.appendChild(WI.createSourceCodeLocationLink(initiatorLocation, options)); >+ } >+ > _populateTransferSizeCell(cell, entry) > { > let responseSource = entry.resource.responseSource; >@@ -581,6 +602,7 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > case "method": > case "scheme": > case "protocol": >+ case "initiator": > case "remoteAddress": > // Simple string. > comparator = (a, b) => (a[sortColumnIdentifier] || "").extendedLocaleCompare(b[sortColumnIdentifier] || ""); >@@ -720,6 +742,13 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > initialWidth: 75, > }); > >+ this._initiatorColumn = new WI.TableColumn("initiator", WI.UIString("Initiator"), { >+ hidden: true, >+ minWidth: 75, >+ maxWidth: 175, >+ initialWidth: 125, >+ }); >+ > this._priorityColumn = new WI.TableColumn("priority", WI.UIString("Priority"), { > hidden: true, > minWidth: 65, >@@ -780,6 +809,7 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > this._table.addColumn(this._schemeColumn); > this._table.addColumn(this._statusColumn); > this._table.addColumn(this._protocolColumn); >+ this._table.addColumn(this._initiatorColumn); > this._table.addColumn(this._priorityColumn); > this._table.addColumn(this._remoteAddressColumn); > this._table.addColumn(this._connectionIdentifierColumn); >@@ -972,6 +1002,10 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > this.replaceSubview(oldResourceDetailView, this._resourceDetailView); > } else > this.addSubview(this._resourceDetailView); >+ >+ if (this._showingRepresentedObjectCookie) >+ this._resourceDetailView.willShowWithCookie(this._showingRepresentedObjectCookie); >+ > this._resourceDetailView.shown(); > > this.element.classList.add("showing-detail"); >@@ -1200,6 +1234,7 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > transferSize: !isNaN(resource.networkTotalTransferSize) ? resource.networkTotalTransferSize : resource.estimatedTotalTransferSize, > time: resource.totalDuration, > protocol: resource.protocol, >+ initiator: resource.initiatorSourceCodeLocation ? resource.initiatorSourceCodeLocation.displayLocationString() : "", > priority: resource.priority, > remoteAddress: resource.remoteAddress, > connectionIdentifier: resource.connectionIdentifier,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188590
:
347306
| 347307