Title: [138000] trunk/Source/WebCore
- Revision
- 138000
- Author
- [email protected]
- Date
- 2012-12-18 02:03:20 -0800 (Tue, 18 Dec 2012)
Log Message
Web Inspector: Network: display _javascript_ stack in case of script initiator.
https://bugs.webkit.org/show_bug.cgi?id=104899
Patch by Eugene Klyuchnikov <[email protected]> on 2012-12-18
Reviewed by Vsevolod Vlasov.
Show popup with navigavle stack-trace.
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._getPopoverAnchor):
Added new target.
(WebInspector.NetworkLogView.prototype._showPopover):
Added case for new target.
(WebInspector.NetworkLogView.prototype._generateScriptInitiatedPopoverContent):
Generates table with stack trace items.
(WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
Added target marker, removed annoying titles.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (137999 => 138000)
--- trunk/Source/WebCore/ChangeLog 2012-12-18 09:56:09 UTC (rev 137999)
+++ trunk/Source/WebCore/ChangeLog 2012-12-18 10:03:20 UTC (rev 138000)
@@ -1,3 +1,22 @@
+2012-12-18 Eugene Klyuchnikov <[email protected]>
+
+ Web Inspector: Network: display _javascript_ stack in case of script initiator.
+ https://bugs.webkit.org/show_bug.cgi?id=104899
+
+ Reviewed by Vsevolod Vlasov.
+
+ Show popup with navigavle stack-trace.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
+ Added new target.
+ (WebInspector.NetworkLogView.prototype._showPopover):
+ Added case for new target.
+ (WebInspector.NetworkLogView.prototype._generateScriptInitiatedPopoverContent):
+ Generates table with stack trace items.
+ (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
+ Added target marker, removed annoying titles.
+
2012-12-18 Tamas Czene <[email protected]>
Style fix to OpenCL SVG Filters
Modified: trunk/Source/WebCore/inspector/front-end/NetworkPanel.js (137999 => 138000)
--- trunk/Source/WebCore/inspector/front-end/NetworkPanel.js 2012-12-18 09:56:09 UTC (rev 137999)
+++ trunk/Source/WebCore/inspector/front-end/NetworkPanel.js 2012-12-18 10:03:20 UTC (rev 138000)
@@ -925,10 +925,13 @@
if (!this._allowPopover)
return;
var anchor = element.enclosingNodeOrSelfWithClass("network-graph-bar") || element.enclosingNodeOrSelfWithClass("network-graph-label");
- if (!anchor)
- return null;
- var request = anchor.parentElement.request;
- return request && request.timing ? anchor : null;
+ if (anchor && anchor.parentElement.request && anchor.parentElement.request.timing)
+ return anchor;
+ anchor = element.enclosingNodeOrSelfWithClass("network-script-initiated");
+ if (anchor && anchor.request && anchor.request.initiator)
+ return anchor;
+
+ return null;
},
/**
@@ -937,11 +940,33 @@
*/
_showPopover: function(anchor, popover)
{
- var request = anchor.parentElement.request;
- var tableElement = WebInspector.RequestTimingView.createTimingTable(request);
- popover.show(tableElement, anchor);
+ var content;
+ if (anchor.hasStyleClass("network-script-initiated"))
+ content = this._generateScriptInitiatedPopoverContent(anchor.request);
+ else
+ content = WebInspector.RequestTimingView.createTimingTable(anchor.parentElement.request);
+ popover.show(content, anchor);
},
+ /**
+ * @param {!WebInspector.NetworkRequest} request
+ * @return {!Element}
+ */
+ _generateScriptInitiatedPopoverContent: function(request)
+ {
+ var stackTrace = request.initiator.stackTrace;
+ var framesTable = document.createElement("table");
+ for (var i = 0; i < stackTrace.length; ++i) {
+ var stackFrame = stackTrace[i];
+ var row = document.createElement("tr");
+ row.createChild("td").textContent = stackFrame.functionName ? stackFrame.functionName : WebInspector.UIString("(anonymous function)");
+ row.createChild("td").textContent = " @ ";
+ row.createChild("td").appendChild(this._linkifier.linkifyLocation(stackFrame.url, stackFrame.lineNumber - 1, 0));
+ framesTable.appendChild(row);
+ }
+ return framesTable;
+ },
+
_contextMenu: function(event)
{
var contextMenu = new WebInspector.ContextMenu(event);
@@ -2010,9 +2035,13 @@
_refreshInitiatorCell: function()
{
+ this._initiatorCell.removeStyleClass("network-dim-cell");
+ this._initiatorCell.removeStyleClass("network-script-initiated");
+ delete this._initiatorCell.request;
+ this._initiatorCell.title = null;
+
var initiator = this._request.initiator;
if ((initiator && initiator.type !== "other") || this._request.redirectSource) {
- this._initiatorCell.removeStyleClass("network-dim-cell");
this._initiatorCell.removeChildren();
if (this._request.redirectSource) {
var redirectSource = this._request.redirectSource;
@@ -2027,10 +2056,12 @@
this._initiatorCell.setTextAndTitle(WebInspector.UIString("Other"));
return;
}
- this._initiatorCell.title = topFrame.url + ":" + topFrame.lineNumber;
var urlElement = this._parentView._linkifier.linkifyLocation(topFrame.url, topFrame.lineNumber - 1, 0);
+ urlElement.title = null;
this._initiatorCell.appendChild(urlElement);
this._appendSubtitle(this._initiatorCell, WebInspector.UIString("Script"));
+ this._initiatorCell.addStyleClass("network-script-initiated");
+ this._initiatorCell.request = this._request;
} else { // initiator.type === "parser"
this._initiatorCell.title = initiator.url + ":" + initiator.lineNumber;
this._initiatorCell.appendChild(WebInspector.linkifyResourceAsNode(initiator.url, initiator.lineNumber - 1));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes