Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2211)

Unified Diff: Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js

Issue 400143002: DevTools: Make target on TimelineRecord nullable (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js
diff --git a/Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js b/Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js
index b802cbc1c188e3f730ab8b9b0db74c909a936255..3841dc342d07f5d4e3473f12cf380366fde5dfe3 100644
--- a/Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js
+++ b/Source/devtools/front_end/timeline/TimelineUIUtilsImpl.js
@@ -93,12 +93,11 @@ WebInspector.TimelineUIUtilsImpl.prototype = {
/**
* @param {!WebInspector.TimelineModel.Record} record
* @param {!WebInspector.Linkifier} linkifier
- * @param {boolean} loadedFromFile
* @return {?Node}
*/
- buildDetailsNode: function(record, linkifier, loadedFromFile)
+ buildDetailsNode: function(record, linkifier)
{
- return WebInspector.TimelineUIUtilsImpl.buildDetailsNode(record, linkifier, loadedFromFile);
+ return WebInspector.TimelineUIUtilsImpl.buildDetailsNode(record, linkifier);
},
/**
@@ -106,11 +105,10 @@ WebInspector.TimelineUIUtilsImpl.prototype = {
* @param {!WebInspector.TimelineModel} model
* @param {!WebInspector.Linkifier} linkifier
* @param {function(!DocumentFragment)} callback
- * @param {boolean} loadedFromFile
*/
- generateDetailsContent: function(record, model, linkifier, callback, loadedFromFile)
+ generateDetailsContent: function(record, model, linkifier, callback)
{
- WebInspector.TimelineUIUtilsImpl.generateDetailsContent(record, model, linkifier, callback, loadedFromFile);
+ WebInspector.TimelineUIUtilsImpl.generateDetailsContent(record, model, linkifier, callback);
},
/**
@@ -317,10 +315,9 @@ WebInspector.TimelineUIUtilsImpl.aggregateTimeForRecord = function(total, record
/**
* @param {!WebInspector.TimelineModel.Record} record
* @param {!WebInspector.Linkifier} linkifier
- * @param {boolean} loadedFromFile
* @return {?Node}
*/
-WebInspector.TimelineUIUtilsImpl.buildDetailsNode = function(record, linkifier, loadedFromFile)
+WebInspector.TimelineUIUtilsImpl.buildDetailsNode = function(record, linkifier)
{
var details;
var detailsText;
@@ -408,21 +405,12 @@ WebInspector.TimelineUIUtilsImpl.buildDetailsNode = function(record, linkifier,
*/
function linkifyLocation(scriptId, url, lineNumber, columnNumber)
{
- if (!loadedFromFile && scriptId !== "0") {
- var location = new WebInspector.DebuggerModel.Location(
- record.target(),
- 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(record.target(), url, lineNumber - 1, columnNumber, "timeline-details");
+ return linkifier.linkifyLocationByScriptId(record.target(), scriptId, url, lineNumber - 1, columnNumber, "timeline-details");
}
/**
@@ -471,18 +459,18 @@ WebInspector.TimelineUIUtilsImpl._needsPreviewElement = function(recordType)
* @param {!WebInspector.TimelineModel} model
* @param {!WebInspector.Linkifier} linkifier
* @param {function(!DocumentFragment)} callback
- * @param {boolean} loadedFromFile
*/
-WebInspector.TimelineUIUtilsImpl.generateDetailsContent = function(record, model, linkifier, callback, loadedFromFile)
+WebInspector.TimelineUIUtilsImpl.generateDetailsContent = function(record, model, linkifier, callback)
{
var imageElement = /** @type {?Element} */ (record.getUserObject("TimelineUIUtils::preview-element") || null);
var relatedNode = null;
var recordData = record.data();
var barrier = new CallbackBarrier();
- if (!imageElement && WebInspector.TimelineUIUtilsImpl._needsPreviewElement(record.type()))
- WebInspector.DOMPresentationUtils.buildImagePreviewContents(record.target(), recordData["url"], false, barrier.createCallback(saveImage));
- if (recordData["backendNodeId"])
- record.target().domModel.pushNodesByBackendIdsToFrontend([recordData["backendNodeId"]], barrier.createCallback(setRelatedNode));
+ var target = record.target();
+ if (!imageElement && WebInspector.TimelineUIUtilsImpl._needsPreviewElement(record.type()) && target)
+ WebInspector.DOMPresentationUtils.buildImagePreviewContents(target, recordData["url"], false, barrier.createCallback(saveImage));
+ if (recordData["backendNodeId"] && target)
+ target.domModel.pushNodesByBackendIdsToFrontend([recordData["backendNodeId"]], barrier.createCallback(setRelatedNode));
barrier.callWhenDone(callbackWrapper);
/**
@@ -499,13 +487,13 @@ WebInspector.TimelineUIUtilsImpl.generateDetailsContent = function(record, model
*/
function setRelatedNode(nodeIds)
{
- if (nodeIds)
- relatedNode = record.target().domModel.nodeForId(nodeIds[0]);
+ if (nodeIds && target)
+ relatedNode = target.domModel.nodeForId(nodeIds[0]);
}
function callbackWrapper()
{
- callback(WebInspector.TimelineUIUtilsImpl._generateDetailsContentSynchronously(record, model, linkifier, imageElement, relatedNode, loadedFromFile));
+ callback(WebInspector.TimelineUIUtilsImpl._generateDetailsContentSynchronously(record, model, linkifier, imageElement, relatedNode));
}
}
@@ -515,10 +503,9 @@ WebInspector.TimelineUIUtilsImpl.generateDetailsContent = function(record, model
* @param {!WebInspector.Linkifier} linkifier
* @param {?Element} imagePreviewElement
* @param {?WebInspector.DOMNode} relatedNode
- * @param {boolean} loadedFromFile
* @return {!DocumentFragment}
*/
-WebInspector.TimelineUIUtilsImpl._generateDetailsContentSynchronously = function(record, model, linkifier, imagePreviewElement, relatedNode, loadedFromFile)
+WebInspector.TimelineUIUtilsImpl._generateDetailsContentSynchronously = function(record, model, linkifier, imagePreviewElement, relatedNode)
{
var fragment = document.createDocumentFragment();
var aggregatedStats = {};
@@ -648,7 +635,7 @@ WebInspector.TimelineUIUtilsImpl._generateDetailsContentSynchronously = function
contentHelper.appendTextRow(WebInspector.UIString("Callback Function"), recordData["callbackName"]);
break;
default:
- var detailsNode = WebInspector.TimelineUIUtilsImpl.buildDetailsNode(record, linkifier, loadedFromFile);
+ var detailsNode = WebInspector.TimelineUIUtilsImpl.buildDetailsNode(record, linkifier);
if (detailsNode)
contentHelper.appendElementRow(WebInspector.UIString("Details"), detailsNode);
break;
« no previous file with comments | « Source/devtools/front_end/timeline/TimelineUIUtils.js ('k') | Source/devtools/front_end/timeline/TimelineView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698