| Index: Source/devtools/front_end/TimelineUIUtils.js
|
| diff --git a/Source/devtools/front_end/TimelineUIUtils.js b/Source/devtools/front_end/TimelineUIUtils.js
|
| index aefebd09acaf0d39e48753d8771e8d432779ecba..316432bfb2f0aca9c96ae2ba602176f51bfc9109 100644
|
| --- a/Source/devtools/front_end/TimelineUIUtils.js
|
| +++ b/Source/devtools/front_end/TimelineUIUtils.js
|
| @@ -440,8 +440,9 @@ WebInspector.TimelineUIUtils.createStyleRuleForCategory = function(category)
|
| * @param {!WebInspector.TimelineModel.Record} record
|
| * @param {!WebInspector.Linkifier} linkifier
|
| * @param {function(!DocumentFragment)} callback
|
| + * @param {boolean} loadedFromFile
|
| */
|
| -WebInspector.TimelineUIUtils.generatePopupContent = function(record, linkifier, callback)
|
| +WebInspector.TimelineUIUtils.generatePopupContent = function(record, linkifier, callback, loadedFromFile)
|
| {
|
| var imageElement = /** @type {?Element} */ (record.getUserObject("TimelineUIUtils::preview-element") || null);
|
| var relatedNode = null;
|
| @@ -473,7 +474,7 @@ WebInspector.TimelineUIUtils.generatePopupContent = function(record, linkifier,
|
|
|
| function callbackWrapper()
|
| {
|
| - callback(WebInspector.TimelineUIUtils._generatePopupContentSynchronously(record, linkifier, imageElement, relatedNode));
|
| + callback(WebInspector.TimelineUIUtils._generatePopupContentSynchronously(record, linkifier, imageElement, relatedNode, loadedFromFile));
|
| }
|
| }
|
|
|
| @@ -482,9 +483,10 @@ WebInspector.TimelineUIUtils.generatePopupContent = function(record, linkifier,
|
| * @param {!WebInspector.Linkifier} linkifier
|
| * @param {?Element} imagePreviewElement
|
| * @param {?WebInspector.DOMNode} relatedNode
|
| + * @param {boolean} loadedFromFile
|
| * @return {!DocumentFragment}
|
| */
|
| -WebInspector.TimelineUIUtils._generatePopupContentSynchronously = function(record, linkifier, imagePreviewElement, relatedNode)
|
| +WebInspector.TimelineUIUtils._generatePopupContentSynchronously = function(record, linkifier, imagePreviewElement, relatedNode, loadedFromFile)
|
| {
|
| var fragment = document.createDocumentFragment();
|
| if (record.children.length)
|
| @@ -614,7 +616,7 @@ WebInspector.TimelineUIUtils._generatePopupContentSynchronously = function(recor
|
| contentHelper.appendTextRow(WebInspector.UIString("Callback Function"), record.embedderCallbackName);
|
| break;
|
| default:
|
| - var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNode(record, linkifier);
|
| + var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNode(record, linkifier, loadedFromFile);
|
| if (detailsNode)
|
| contentHelper.appendElementRow(WebInspector.UIString("Details"), detailsNode);
|
| break;
|
| @@ -672,9 +674,10 @@ WebInspector.TimelineUIUtils._quadHeight = function(quad)
|
| /**
|
| * @param {!WebInspector.TimelineModel.Record} record
|
| * @param {!WebInspector.Linkifier} linkifier
|
| + * @param {boolean} loadedFromFile
|
| * @return {?Node}
|
| */
|
| -WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| +WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier, loadedFromFile)
|
| {
|
| var details;
|
| var detailsText;
|
| @@ -687,8 +690,7 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| detailsText = record.data["timerId"];
|
| break;
|
| case WebInspector.TimelineModel.RecordType.FunctionCall:
|
| - if (record.scriptName)
|
| - details = linkifyLocation(record.scriptName, record.scriptLine, 0);
|
| + details = linkifyLocation(record.data.scriptId, record.data.scriptName, record.data.scriptLine, 0);
|
| break;
|
| case WebInspector.TimelineModel.RecordType.FireAnimationFrame:
|
| detailsText = record.data["id"];
|
| @@ -717,7 +719,7 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| details = linkifyTopCallFrame();
|
| break;
|
| case WebInspector.TimelineModel.RecordType.EvaluateScript:
|
| - details = record.url ? linkifyLocation(record.url, record.data["lineNumber"], 0) : null;
|
| + details = linkifyLocation("", record.url, record.data["lineNumber"], 0);
|
| break;
|
| case WebInspector.TimelineModel.RecordType.XHRReadyStateChange:
|
| case WebInspector.TimelineModel.RecordType.XHRLoad:
|
| @@ -737,7 +739,7 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| detailsText = record.data["callbackName"];
|
| break;
|
| default:
|
| - details = record.scriptName ? linkifyLocation(record.scriptName, record.scriptLine, 0) : linkifyTopCallFrame();
|
| + details = linkifyTopCallFrame();
|
| break;
|
| }
|
|
|
| @@ -746,12 +748,25 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| return details;
|
|
|
| /**
|
| + * @param {string} scriptId
|
| * @param {string} url
|
| * @param {number} lineNumber
|
| * @param {number=} columnNumber
|
| */
|
| - function linkifyLocation(url, lineNumber, columnNumber)
|
| + function linkifyLocation(scriptId, url, lineNumber, columnNumber)
|
| {
|
| + if (!loadedFromFile && scriptId !== "0") {
|
| + var location = new WebInspector.DebuggerModel.Location(
|
| + /** @type {!WebInspector.Target} */ (WebInspector.targetManager.activeTarget()),
|
| + scriptId,
|
| + lineNumber - 1,
|
| + (columnNumber || 1) - 1);
|
| + return linkifier.linkifyRawLocation(location, "timeline-details");
|
| + }
|
| +
|
| + if (!url)
|
| + return null;
|
| +
|
| // FIXME(62725): stack trace line/column numbers are one-based.
|
| columnNumber = columnNumber ? columnNumber - 1 : 0;
|
| return linkifier.linkifyLocation(url, lineNumber - 1, columnNumber, "timeline-details");
|
| @@ -762,7 +777,7 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| */
|
| function linkifyCallFrame(callFrame)
|
| {
|
| - return linkifyLocation(callFrame.url, callFrame.lineNumber, callFrame.columnNumber);
|
| + return linkifyLocation(callFrame.scriptId, callFrame.url, callFrame.lineNumber, callFrame.columnNumber);
|
| }
|
|
|
| /**
|
| @@ -776,14 +791,6 @@ WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier)
|
| return linkifyCallFrame(record.callSiteStackTrace[0]);
|
| return null;
|
| }
|
| -
|
| - /**
|
| - * @return {?Element}
|
| - */
|
| - function linkifyScriptLocation()
|
| - {
|
| - return record.scriptName ? linkifyLocation(record.scriptName, record.scriptLine, 0) : null;
|
| - }
|
| }
|
|
|
| /**
|
|
|