Index: third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js b/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js |
index cc92481d6331dab7061bd0c1616ef2f74742f449..3dcd45ffaea6a0737dd4278871caafaae3ec58e8 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js |
@@ -23,6 +23,7 @@ WebInspector.ThreadsSidebarPane = function() |
WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerResumed, this._onDebuggerStateChanged, this); |
WebInspector.targetManager.addModelListener(WebInspector.RuntimeModel, WebInspector.RuntimeModel.Events.ExecutionContextChanged, this._onExecutionContextChanged, this); |
WebInspector.context.addFlavorChangeListener(WebInspector.Target, this._targetChanged, this); |
+ WebInspector.targetManager.addEventListener(WebInspector.TargetManager.Events.NameChanged, this._targetNameChanged, this); |
WebInspector.targetManager.observeTargets(this); |
} |
@@ -33,13 +34,11 @@ WebInspector.ThreadsSidebarPane.prototype = { |
*/ |
targetAdded: function(target) |
{ |
- var debuggerModel = WebInspector.DebuggerModel.fromTarget(target) |
+ var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
if (!debuggerModel) |
return; |
- var executionContext = target.runtimeModel.defaultExecutionContext(); |
- var label = executionContext && executionContext.label() ? executionContext.label() : target.name(); |
- var listItem = new WebInspector.UIList.Item(label, ""); |
+ var listItem = new WebInspector.UIList.Item(this._titleForTarget(target), ""); |
listItem.element.addEventListener("click", this._onListItemClick.bind(this, listItem), false); |
var currentTarget = WebInspector.context.flavor(WebInspector.Target); |
if (currentTarget === target) |
@@ -57,7 +56,7 @@ WebInspector.ThreadsSidebarPane.prototype = { |
*/ |
targetRemoved: function(target) |
{ |
- var debuggerModel = WebInspector.DebuggerModel.fromTarget(target) |
+ var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
if (!debuggerModel) |
return; |
var listItem = this._debuggerModelToListItems.remove(debuggerModel); |
@@ -70,14 +69,44 @@ WebInspector.ThreadsSidebarPane.prototype = { |
/** |
* @param {!WebInspector.Event} event |
*/ |
+ _targetNameChanged: function(event) |
+ { |
+ var target = /** @type {!WebInspector.Target} */ (event.data); |
+ var listItem = this._listItemForTarget(target); |
+ if (listItem) |
+ listItem.setTitle(this._titleForTarget(target)); |
+ }, |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
_targetChanged: function(event) |
{ |
- var newTarget = /** @type {!WebInspector.Target} */(event.data); |
- var debuggerModel = WebInspector.DebuggerModel.fromTarget(newTarget) |
+ var listItem = this._listItemForTarget(/** @type {!WebInspector.Target} */ (event.data)); |
+ if (listItem) |
+ this._selectListItem(listItem); |
+ }, |
+ |
+ /** |
+ * @param {!WebInspector.Target} target |
+ * @return {?WebInspector.UIList.Item} |
+ */ |
+ _listItemForTarget: function(target) |
+ { |
+ var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
if (!debuggerModel) |
- return; |
- var listItem = /** @type {!WebInspector.UIList.Item} */ (this._debuggerModelToListItems.get(debuggerModel)); |
- this._selectListItem(listItem); |
+ return null; |
+ return this._debuggerModelToListItems.get(debuggerModel) || null; |
+ }, |
+ |
+ /** |
+ * @param {!WebInspector.Target} target |
+ * @return {string} |
+ */ |
+ _titleForTarget: function(target) |
+ { |
+ var executionContext = target.runtimeModel.defaultExecutionContext(); |
+ return executionContext && executionContext.label() ? executionContext.label() : target.name(); |
}, |
/** |