Index: Source/devtools/front_end/TimelineView.js |
diff --git a/Source/devtools/front_end/TimelineView.js b/Source/devtools/front_end/TimelineView.js |
index 754854d95c9f6d782b0ac70c6a9ed4e3f482e8a6..423389879bbbeb7c3fdf3354e4c8f94f793bc8c1 100644 |
--- a/Source/devtools/front_end/TimelineView.js |
+++ b/Source/devtools/front_end/TimelineView.js |
@@ -47,6 +47,7 @@ WebInspector.TimelineView = function(delegate, presentationModel, frameModel) |
this._presentationModel = presentationModel; |
this._frameModel = frameModel; |
this._calculator = new WebInspector.TimelineCalculator(this._presentationModel); |
+ this._linkifier = new WebInspector.Linkifier(); |
this._boundariesAreValid = true; |
this._scrollTop = 0; |
@@ -267,6 +268,7 @@ WebInspector.TimelineView.prototype = { |
this._windowEndTime = -1; |
this._boundariesAreValid = false; |
this._adjustScrollPosition(0); |
+ this._linkifier.reset(); |
this._closeRecordDetails(); |
this._automaticallySizeWindow = true; |
}, |
@@ -287,7 +289,6 @@ WebInspector.TimelineView.prototype = { |
refreshRecords: function() |
{ |
- this._resetView(); |
this._automaticallySizeWindow = false; |
this._invalidateAndScheduleRefresh(false, true); |
}, |
@@ -521,7 +522,7 @@ WebInspector.TimelineView.prototype = { |
} |
} else { |
if (!listRowElement) { |
- listRowElement = new WebInspector.TimelineRecordListRow(selectRecordCallback, scheduleRefreshCallback).element; |
+ listRowElement = new WebInspector.TimelineRecordListRow(this._linkifier, selectRecordCallback, scheduleRefreshCallback).element; |
this._sidebarListElement.appendChild(listRowElement); |
} |
if (!graphRowElement) { |
@@ -800,7 +801,7 @@ WebInspector.TimelineView.prototype = { |
popover.show(WebInspector.TimelineUIUtils.generatePopupContentForFrame(frame), anchor); |
} else { |
if (anchor.row && anchor.row._record) |
- anchor.row._record.generatePopupContent(showCallback); |
+ anchor.row._record.generatePopupContent(this._linkifier, showCallback); |
else if (anchor._tasksInfo) |
popover.show(WebInspector.TimelineUIUtils.generateMainThreadBarPopupContent(this._presentationModel, anchor._tasksInfo), anchor, null, null, WebInspector.Popover.Orientation.Bottom); |
} |
@@ -977,10 +978,11 @@ WebInspector.TimelineCalculator.prototype = { |
/** |
* @constructor |
+ * @param {!WebInspector.Linkifier} linkifier |
* @param {function(!WebInspector.TimelinePresentationModel.Record)} selectRecord |
* @param {function()} scheduleRefresh |
*/ |
-WebInspector.TimelineRecordListRow = function(selectRecord, scheduleRefresh) |
+WebInspector.TimelineRecordListRow = function(linkifier, selectRecord, scheduleRefresh) |
{ |
this.element = document.createElement("div"); |
this.element.row = this; |
@@ -988,6 +990,7 @@ WebInspector.TimelineRecordListRow = function(selectRecord, scheduleRefresh) |
this.element.addEventListener("click", this._onClick.bind(this), false); |
this.element.addEventListener("mouseover", this._onMouseOver.bind(this), false); |
this.element.addEventListener("mouseout", this._onMouseOut.bind(this), false); |
+ this._linkifier = linkifier; |
// Warning is float right block, it goes first. |
this._warningElement = this.element.createChild("div", "timeline-tree-item-warning hidden"); |
@@ -1017,7 +1020,7 @@ WebInspector.TimelineRecordListRow.prototype = { |
if (record.isBackground()) |
this.element.classList.add("background"); |
- this._typeElement.textContent = record.title; |
+ this._typeElement.textContent = record.title(); |
if (this._dataElement.firstChild) |
this._dataElement.removeChildren(); |
@@ -1025,8 +1028,12 @@ WebInspector.TimelineRecordListRow.prototype = { |
this._warningElement.enableStyleClass("hidden", !record.hasWarnings() && !record.childHasWarnings()); |
this._warningElement.enableStyleClass("timeline-tree-item-child-warning", record.childHasWarnings() && !record.hasWarnings()); |
- if (record.detailsNode()) |
- this._dataElement.appendChild(record.detailsNode()); |
+ var detailsNode = record.buildDetailsNode(this._linkifier); |
+ if (detailsNode) { |
+ this._dataElement.appendChild(document.createTextNode("(")); |
+ this._dataElement.appendChild(detailsNode); |
+ this._dataElement.appendChild(document.createTextNode(")")); |
+ } |
this._expandArrowElement.enableStyleClass("parent", record.children && record.children.length); |
this._expandArrowElement.enableStyleClass("expanded", record.visibleChildrenCount); |
this._record.setUserObject("WebInspector.TimelineRecordListRow", this); |