| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
|
| index fdf6374e04e73734d0bce0d8b611d8b8f5110371..9074129d15df9aaeac914cf46d4290bdf211eecc 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
|
| @@ -404,8 +404,8 @@ WebInspector.TimelineUIUtils.buildDetailsTextForTraceEvent = function(event, tar
|
| break;
|
| case recordType.FunctionCall:
|
| // Omit internally generated script names.
|
| - if (eventData && eventData["scriptName"])
|
| - detailsText = linkifyLocationAsText(eventData["scriptId"], eventData["scriptLine"], 0);
|
| + if (eventData)
|
| + detailsText = linkifyLocationAsText(eventData["scriptId"], eventData["lineNumber"], 0);
|
| break;
|
| case recordType.JSFrame:
|
| detailsText = WebInspector.beautifyFunctionName(eventData["functionName"]);
|
| @@ -429,7 +429,7 @@ WebInspector.TimelineUIUtils.buildDetailsTextForTraceEvent = function(event, tar
|
| case recordType.EvaluateScript:
|
| var url = eventData["url"];
|
| if (url)
|
| - detailsText = WebInspector.displayNameForURL(url) + ":" + eventData["lineNumber"];
|
| + detailsText = WebInspector.displayNameForURL(url) + ":" + (eventData["lineNumber"] + 1);
|
| break;
|
| case recordType.ParseScriptOnBackground:
|
| case recordType.XHRReadyStateChange:
|
| @@ -491,14 +491,15 @@ WebInspector.TimelineUIUtils.buildDetailsTextForTraceEvent = function(event, tar
|
| /**
|
| * @param {string} scriptId
|
| * @param {number} lineNumber
|
| - * @param {number=} columnNumber
|
| + * @param {number} columnNumber
|
| * @return {?string}
|
| */
|
| function linkifyLocationAsText(scriptId, lineNumber, columnNumber)
|
| {
|
| - // FIXME(62725): stack trace line/column numbers are one-based.
|
| var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| - var rawLocation = target && !target.isDetached() && scriptId && debuggerModel ? debuggerModel.createRawLocationByScriptId(scriptId, lineNumber - 1, (columnNumber || 1) - 1) : null;
|
| + if (!target || target.isDetached() || !scriptId || !debuggerModel)
|
| + return null;
|
| + var rawLocation = debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber);
|
| if (!rawLocation)
|
| return null;
|
| var uiLocation = WebInspector.debuggerWorkspaceBinding.rawLocationToUILocation(rawLocation);
|
| @@ -511,8 +512,10 @@ WebInspector.TimelineUIUtils.buildDetailsTextForTraceEvent = function(event, tar
|
| function linkifyTopCallFrameAsText()
|
| {
|
| var frame = WebInspector.TimelineUIUtils.topStackFrame(event);
|
| - var text = frame ? linkifyLocationAsText(frame.scriptId, frame.lineNumber, frame.columnNumber) : null;
|
| - if (frame && !text) {
|
| + if (!frame)
|
| + return null;
|
| + var text = linkifyLocationAsText(frame.scriptId, frame.lineNumber, frame.columnNumber);
|
| + if (!text) {
|
| text = frame.url;
|
| if (typeof frame.lineNumber === "number")
|
| text += ":" + (frame.lineNumber + 1);
|
| @@ -565,8 +568,6 @@ WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent = function(event, tar
|
| details = WebInspector.linkifyResourceAsNode(event.url);
|
| break;
|
| case recordType.FunctionCall:
|
| - details = linkifyLocation(eventData["scriptId"], eventData["scriptName"], eventData["scriptLine"] - 1, 0);
|
| - break;
|
| case recordType.JSFrame:
|
| details = createElement("span");
|
| details.createTextChild(WebInspector.beautifyFunctionName(eventData["functionName"]));
|
| @@ -580,7 +581,7 @@ WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent = function(event, tar
|
| case recordType.EvaluateScript:
|
| var url = eventData["url"];
|
| if (url)
|
| - details = linkifyLocation("", url, eventData["lineNumber"] - 1, 0);
|
| + details = linkifyLocation("", url, eventData["lineNumber"], 0);
|
| break;
|
| case recordType.ParseScriptOnBackground:
|
| var url = eventData["url"];
|
| @@ -617,7 +618,7 @@ WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent = function(event, tar
|
| function linkifyTopCallFrame()
|
| {
|
| var frame = WebInspector.TimelineUIUtils.topStackFrame(event);
|
| - return frame ? linkifier.maybeLinkifyConsoleCallFrameForTracing(target, frame, "timeline-details") : null;
|
| + return frame ? linkifier.maybeLinkifyConsoleCallFrame(target, frame, "timeline-details") : null;
|
| }
|
| }
|
|
|
| @@ -720,6 +721,7 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
|
| contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.bytesToString(delta));
|
| break;
|
| case recordTypes.JSFrame:
|
| + case recordTypes.FunctionCall:
|
| var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent(event, model.targetByEvent(event), linkifier);
|
| if (detailsNode)
|
| contentHelper.appendElementRow(WebInspector.UIString("Function"), detailsNode);
|
| @@ -736,12 +738,6 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
|
| case recordTypes.FireAnimationFrame:
|
| contentHelper.appendTextRow(WebInspector.UIString("Callback ID"), eventData["id"]);
|
| break;
|
| - case recordTypes.FunctionCall:
|
| - if (typeof eventData["functionName"] === "string")
|
| - contentHelper.appendTextRow(WebInspector.UIString("Function"), WebInspector.beautifyFunctionName(eventData["functionName"]));
|
| - if (eventData["scriptName"])
|
| - contentHelper.appendLocationRow(WebInspector.UIString("Location"), eventData["scriptName"], eventData["scriptLine"]);
|
| - break;
|
| case recordTypes.ResourceSendRequest:
|
| case recordTypes.ResourceReceiveResponse:
|
| case recordTypes.ResourceReceivedData:
|
| @@ -829,8 +825,8 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
|
| case recordTypes.ParseHTML:
|
| var beginData = event.args["beginData"];
|
| var url = beginData["url"];
|
| - var startLine = beginData["startLine"] + 1;
|
| - var endLine = event.args["endData"] ? event.args["endData"]["endLine"] + 1 : 0;
|
| + var startLine = beginData["startLine"] - 1;
|
| + var endLine = event.args["endData"] ? event.args["endData"]["endLine"] - 1 : undefined;
|
| if (url)
|
| contentHelper.appendLocationRange(WebInspector.UIString("Range"), url, startLine, endLine);
|
| break;
|
| @@ -994,7 +990,7 @@ WebInspector.TimelineUIUtils.buildNetworkRequestDetails = function(request, mode
|
| var sendRequest = request.children[0];
|
| var topFrame = WebInspector.TimelineUIUtils.topStackFrame(sendRequest);
|
| if (topFrame) {
|
| - var link = linkifier.maybeLinkifyConsoleCallFrameForTracing(target, topFrame);
|
| + var link = linkifier.maybeLinkifyConsoleCallFrame(target, topFrame);
|
| if (link)
|
| contentHelper.appendElementRow(title, link);
|
| } else if (sendRequest.initiator) {
|
| @@ -1245,7 +1241,7 @@ WebInspector.TimelineUIUtils.InvalidationsGroupElement.prototype = {
|
| title.createTextChild(WebInspector.UIString(". "));
|
| var stack = title.createChild("span", "monospace");
|
| stack.createChild("span").textContent = WebInspector.beautifyFunctionName(topFrame.functionName);
|
| - var link = this._contentHelper.linkifier().maybeLinkifyConsoleCallFrameForTracing(target, topFrame);
|
| + var link = this._contentHelper.linkifier().maybeLinkifyConsoleCallFrame(target, topFrame);
|
| if (link) {
|
| stack.createChild("span").textContent = " @ ";
|
| stack.createChild("span").appendChild(link);
|
| @@ -2057,9 +2053,7 @@ WebInspector.TimelineDetailsContentHelper.prototype = {
|
| {
|
| if (!this._linkifier || !this._target)
|
| return;
|
| - if (startColumn)
|
| - --startColumn;
|
| - var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null, url, startLine - 1, startColumn);
|
| + var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null, url, startLine, startColumn);
|
| if (!link)
|
| return;
|
| this.appendElementRow(title, link);
|
| @@ -2076,11 +2070,11 @@ WebInspector.TimelineDetailsContentHelper.prototype = {
|
| if (!this._linkifier || !this._target)
|
| return;
|
| var locationContent = createElement("span");
|
| - var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null, url, startLine - 1);
|
| + var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null, url, startLine);
|
| if (!link)
|
| return;
|
| locationContent.appendChild(link);
|
| - locationContent.createTextChild(String.sprintf(" [%s\u2026%s]", startLine, endLine || ""));
|
| + locationContent.createTextChild(String.sprintf(" [%s\u2026%s]", startLine + 1, endLine + 1 || ""));
|
| this.appendElementRow(title, locationContent);
|
| },
|
|
|
|
|