| 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 7008dbf052056ffe07953cb56175a55e0d1596d8..2cfed689bcb276bd3ed0b734ab604dd455bf2104 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js
|
| @@ -1,15 +1,13 @@
|
| // Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| -
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.VBox}
|
| * @implements {WebInspector.TargetManager.Observer}
|
| + * @unrestricted
|
| */
|
| -WebInspector.ThreadsSidebarPane = function()
|
| -{
|
| - WebInspector.VBox.call(this);
|
| +WebInspector.ThreadsSidebarPane = class extends WebInspector.VBox {
|
| + constructor() {
|
| + super();
|
|
|
| /** @type {!Map.<!WebInspector.DebuggerModel, !WebInspector.UIList.Item>} */
|
| this._debuggerModelToListItems = new Map();
|
| @@ -19,152 +17,145 @@ WebInspector.ThreadsSidebarPane = function()
|
| this._selectedListItem = null;
|
| this.threadList = new WebInspector.UIList();
|
| this.threadList.show(this.element);
|
| - WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerPaused, this._onDebuggerStateChanged, this);
|
| - 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.targetManager.addModelListener(
|
| + WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerPaused, this._onDebuggerStateChanged,
|
| + this);
|
| + 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.addEventListener(
|
| + WebInspector.TargetManager.Events.NameChanged, this._targetNameChanged, this);
|
| WebInspector.targetManager.observeTargets(this);
|
| -};
|
| -
|
| -WebInspector.ThreadsSidebarPane.prototype = {
|
| - /**
|
| - * @override
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetAdded: function(target)
|
| - {
|
| - var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| - if (!debuggerModel)
|
| - return;
|
| -
|
| - 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)
|
| - this._selectListItem(listItem);
|
| -
|
| - this._debuggerModelToListItems.set(debuggerModel, listItem);
|
| - this._listItemsToTargets.set(listItem, target);
|
| - this.threadList.addItem(listItem);
|
| - this._updateDebuggerState(debuggerModel);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetRemoved: function(target)
|
| - {
|
| - var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| - if (!debuggerModel)
|
| - return;
|
| - var listItem = this._debuggerModelToListItems.remove(debuggerModel);
|
| - if (listItem) {
|
| - this._listItemsToTargets.remove(listItem);
|
| - this.threadList.removeItem(listItem);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @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 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 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();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onDebuggerStateChanged: function(event)
|
| - {
|
| - var debuggerModel = /** @type {!WebInspector.DebuggerModel} */ (event.target);
|
| - this._updateDebuggerState(debuggerModel);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onExecutionContextChanged: function(event)
|
| - {
|
| - var executionContext = /** @type {!WebInspector.ExecutionContext} */ (event.data);
|
| - if (!executionContext.isDefault)
|
| - return;
|
| - var debuggerModel = /** @type {!WebInspector.DebuggerModel} */ (WebInspector.DebuggerModel.fromTarget(executionContext.target()));
|
| - var listItem = this._debuggerModelToListItems.get(debuggerModel);
|
| - if (listItem && executionContext.label())
|
| - listItem.setTitle(executionContext.label());
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.DebuggerModel} debuggerModel
|
| - */
|
| - _updateDebuggerState: function(debuggerModel)
|
| - {
|
| - var listItem = this._debuggerModelToListItems.get(debuggerModel);
|
| - listItem.setSubtitle(WebInspector.UIString(debuggerModel.isPaused() ? "paused" : ""));
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UIList.Item} listItem
|
| - */
|
| - _selectListItem: function(listItem)
|
| - {
|
| - if (listItem === this._selectedListItem)
|
| - return;
|
| -
|
| - if (this._selectedListItem)
|
| - this._selectedListItem.setSelected(false);
|
| -
|
| - this._selectedListItem = listItem;
|
| - listItem.setSelected(true);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UIList.Item} listItem
|
| - */
|
| - _onListItemClick: function(listItem)
|
| - {
|
| - WebInspector.context.setFlavor(WebInspector.Target, this._listItemsToTargets.get(listItem));
|
| - listItem.element.scrollIntoViewIfNeeded();
|
| - },
|
| -
|
| -
|
| - __proto__: WebInspector.VBox.prototype
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetAdded(target) {
|
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| + if (!debuggerModel)
|
| + return;
|
| +
|
| + 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)
|
| + this._selectListItem(listItem);
|
| +
|
| + this._debuggerModelToListItems.set(debuggerModel, listItem);
|
| + this._listItemsToTargets.set(listItem, target);
|
| + this.threadList.addItem(listItem);
|
| + this._updateDebuggerState(debuggerModel);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetRemoved(target) {
|
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| + if (!debuggerModel)
|
| + return;
|
| + var listItem = this._debuggerModelToListItems.remove(debuggerModel);
|
| + if (listItem) {
|
| + this._listItemsToTargets.remove(listItem);
|
| + this.threadList.removeItem(listItem);
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _targetNameChanged(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(event) {
|
| + var listItem = this._listItemForTarget(/** @type {!WebInspector.Target} */ (event.data));
|
| + if (listItem)
|
| + this._selectListItem(listItem);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Target} target
|
| + * @return {?WebInspector.UIList.Item}
|
| + */
|
| + _listItemForTarget(target) {
|
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| + if (!debuggerModel)
|
| + return null;
|
| + return this._debuggerModelToListItems.get(debuggerModel) || null;
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Target} target
|
| + * @return {string}
|
| + */
|
| + _titleForTarget(target) {
|
| + var executionContext = target.runtimeModel.defaultExecutionContext();
|
| + return executionContext && executionContext.label() ? executionContext.label() : target.name();
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onDebuggerStateChanged(event) {
|
| + var debuggerModel = /** @type {!WebInspector.DebuggerModel} */ (event.target);
|
| + this._updateDebuggerState(debuggerModel);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onExecutionContextChanged(event) {
|
| + var executionContext = /** @type {!WebInspector.ExecutionContext} */ (event.data);
|
| + if (!executionContext.isDefault)
|
| + return;
|
| + var debuggerModel =
|
| + /** @type {!WebInspector.DebuggerModel} */ (WebInspector.DebuggerModel.fromTarget(executionContext.target()));
|
| + var listItem = this._debuggerModelToListItems.get(debuggerModel);
|
| + if (listItem && executionContext.label())
|
| + listItem.setTitle(executionContext.label());
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.DebuggerModel} debuggerModel
|
| + */
|
| + _updateDebuggerState(debuggerModel) {
|
| + var listItem = this._debuggerModelToListItems.get(debuggerModel);
|
| + listItem.setSubtitle(WebInspector.UIString(debuggerModel.isPaused() ? 'paused' : ''));
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UIList.Item} listItem
|
| + */
|
| + _selectListItem(listItem) {
|
| + if (listItem === this._selectedListItem)
|
| + return;
|
| +
|
| + if (this._selectedListItem)
|
| + this._selectedListItem.setSelected(false);
|
| +
|
| + this._selectedListItem = listItem;
|
| + listItem.setSelected(true);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UIList.Item} listItem
|
| + */
|
| + _onListItemClick(listItem) {
|
| + WebInspector.context.setFlavor(WebInspector.Target, this._listItemsToTargets.get(listItem));
|
| + listItem.element.scrollIntoViewIfNeeded();
|
| + }
|
| };
|
|
|