| Index: Source/devtools/front_end/timeline/TimelinePanel.js
|
| diff --git a/Source/devtools/front_end/timeline/TimelinePanel.js b/Source/devtools/front_end/timeline/TimelinePanel.js
|
| index 84954d5d440a58dbfe096780f4487caff0d55de5..2f122e0523d50e6b3b288484d342c83f24752e69 100644
|
| --- a/Source/devtools/front_end/timeline/TimelinePanel.js
|
| +++ b/Source/devtools/front_end/timeline/TimelinePanel.js
|
| @@ -61,6 +61,7 @@ importScript("PaintProfilerView.js");
|
| * @extends {WebInspector.Panel}
|
| * @implements {WebInspector.TimelineModeViewDelegate}
|
| * @implements {WebInspector.Searchable}
|
| + * @implements {WebInspector.TargetManager.Observer}
|
| */
|
| WebInspector.TimelinePanel = function()
|
| {
|
| @@ -95,8 +96,6 @@ WebInspector.TimelinePanel = function()
|
| this._model.addEventListener(WebInspector.TimelineModel.Events.RecordFilterChanged, this._refreshViews, this);
|
| this._model.addEventListener(WebInspector.TimelineModel.Events.RecordAdded, this._onRecordAdded, this);
|
|
|
| - this._model.target().profilingLock.addEventListener(WebInspector.Lock.Events.StateChanged, this._onProfilingStateChanged, this);
|
| -
|
| this._categoryFilter = new WebInspector.TimelineCategoryFilter(this._uiUtils);
|
| this._durationFilter = new WebInspector.TimelineIsLongFilter();
|
| this._textFilter = new WebInspector.TimelineTextFilter(this._uiUtils);
|
| @@ -172,6 +171,22 @@ WebInspector.TimelinePanel.durationFilterPresetsMs = [0, 1, 15];
|
|
|
| WebInspector.TimelinePanel.prototype = {
|
| /**
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetAdded: function(target)
|
| + {
|
| + target.profilingLock.addEventListener(WebInspector.Lock.Events.StateChanged, this._onProfilingStateChanged, this);
|
| + },
|
| +
|
| + /**
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetRemoved: function(target)
|
| + {
|
| + target.profilingLock.removeEventListener(WebInspector.Lock.Events.StateChanged, this._onProfilingStateChanged, this);
|
| + },
|
| +
|
| + /**
|
| * @return {?WebInspector.SearchableView}
|
| */
|
| searchableView: function()
|
| @@ -738,6 +753,7 @@ WebInspector.TimelinePanel.prototype = {
|
| */
|
| _updateToggleTimelineButton: function(toggled)
|
| {
|
| + var isAcquiredInSomeTarget = WebInspector.targetManager.targets().some(function(target) { return target.profilingLock.isAcquired(); });
|
| this.toggleTimelineButton.toggled = toggled;
|
| if (toggled) {
|
| this.toggleTimelineButton.title = WebInspector.UIString("Stop");
|
| @@ -745,7 +761,7 @@ WebInspector.TimelinePanel.prototype = {
|
| } else if (this._stopPending) {
|
| this.toggleTimelineButton.title = WebInspector.UIString("Stop pending");
|
| this.toggleTimelineButton.setEnabled(false);
|
| - } else if (this._model.target().profilingLock.isAcquired()) {
|
| + } else if (isAcquiredInSomeTarget) {
|
| this.toggleTimelineButton.title = WebInspector.anotherProfilerActiveLabel();
|
| this.toggleTimelineButton.setEnabled(false);
|
| } else {
|
| @@ -1040,7 +1056,7 @@ WebInspector.TimelinePanel.prototype = {
|
| break;
|
| case WebInspector.TimelineSelection.Type.TraceEvent:
|
| var event = /** @type {!WebInspector.TracingModel.Event} */ (this._selection.object());
|
| - WebInspector.TracingTimelineUIUtils.buildTraceEventDetails(event, this._tracingTimelineModel, this._detailsLinkifier, this._appendDetailsTabsForTraceEventAndShowDetails.bind(this, event), false, this._model.target());
|
| + WebInspector.TracingTimelineUIUtils.buildTraceEventDetails(event, this._tracingTimelineModel, this._detailsLinkifier, this._appendDetailsTabsForTraceEventAndShowDetails.bind(this, event), false);
|
| break;
|
| case WebInspector.TimelineSelection.Type.Frame:
|
| var frame = /** @type {!WebInspector.TimelineFrame} */ (this._selection.object());
|
| @@ -1064,7 +1080,7 @@ WebInspector.TimelinePanel.prototype = {
|
| this.showInDetails(title, content);
|
| if (event.picture) {
|
| var paintProfilerView = this._paintProfilerView();
|
| - paintProfilerView.setPicture(this._model.target().weakReference(), event.picture);
|
| + paintProfilerView.setPicture(event.thread.target(), event.picture);
|
| this._detailsView.appendTab("paintProfiler", WebInspector.UIString("Paint Profiler"), paintProfilerView);
|
| }
|
| },
|
|
|