| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 /** | 4 /** |
| 5 * @implements {WebInspector.TargetManager.Observer} | 5 * @implements {SDK.TargetManager.Observer} |
| 6 * @unrestricted | 6 * @unrestricted |
| 7 */ | 7 */ |
| 8 WebInspector.ThreadsSidebarPane = class extends WebInspector.VBox { | 8 Sources.ThreadsSidebarPane = class extends UI.VBox { |
| 9 constructor() { | 9 constructor() { |
| 10 super(); | 10 super(); |
| 11 | 11 |
| 12 /** @type {?WebInspector.UIList.Item} */ | 12 /** @type {?Sources.UIList.Item} */ |
| 13 this._selectedListItem = null; | 13 this._selectedListItem = null; |
| 14 /** @type {!Map<!WebInspector.PendingTarget, !WebInspector.UIList.Item>} */ | 14 /** @type {!Map<!SDK.PendingTarget, !Sources.UIList.Item>} */ |
| 15 this._pendingToListItem = new Map(); | 15 this._pendingToListItem = new Map(); |
| 16 /** @type {!Map<!WebInspector.Target, !WebInspector.PendingTarget>} */ | 16 /** @type {!Map<!SDK.Target, !SDK.PendingTarget>} */ |
| 17 this._targetToPending = new Map(); | 17 this._targetToPending = new Map(); |
| 18 /** @type {?WebInspector.PendingTarget} */ | 18 /** @type {?SDK.PendingTarget} */ |
| 19 this._mainTargetPending = null; | 19 this._mainTargetPending = null; |
| 20 this.threadList = new WebInspector.UIList(); | 20 this.threadList = new Sources.UIList(); |
| 21 this.threadList.show(this.element); | 21 this.threadList.show(this.element); |
| 22 WebInspector.targetManager.addModelListener( | 22 SDK.targetManager.addModelListener( |
| 23 WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerPa
used, this._onDebuggerStateChanged, | 23 SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerPaused, this._onDebu
ggerStateChanged, |
| 24 this); | 24 this); |
| 25 WebInspector.targetManager.addModelListener( | 25 SDK.targetManager.addModelListener( |
| 26 WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerRe
sumed, this._onDebuggerStateChanged, | 26 SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerResumed, this._onDeb
uggerStateChanged, |
| 27 this); | 27 this); |
| 28 WebInspector.targetManager.addModelListener( | 28 SDK.targetManager.addModelListener( |
| 29 WebInspector.RuntimeModel, WebInspector.RuntimeModel.Events.ExecutionCon
textChanged, | 29 SDK.RuntimeModel, SDK.RuntimeModel.Events.ExecutionContextChanged, |
| 30 this._onExecutionContextChanged, this); | 30 this._onExecutionContextChanged, this); |
| 31 WebInspector.context.addFlavorChangeListener(WebInspector.Target, this._targ
etChanged, this); | 31 UI.context.addFlavorChangeListener(SDK.Target, this._targetChanged, this); |
| 32 WebInspector.targetManager.addEventListener( | 32 SDK.targetManager.addEventListener( |
| 33 WebInspector.TargetManager.Events.NameChanged, this._targetNameChanged,
this); | 33 SDK.TargetManager.Events.NameChanged, this._targetNameChanged, this); |
| 34 WebInspector.targetManager.addModelListener(WebInspector.SubTargetsManager,
WebInspector.SubTargetsManager.Events.PendingTargetAdded, this._addTargetItem, t
his); | 34 SDK.targetManager.addModelListener(SDK.SubTargetsManager, SDK.SubTargetsMana
ger.Events.PendingTargetAdded, this._addTargetItem, this); |
| 35 WebInspector.targetManager.addModelListener(WebInspector.SubTargetsManager,
WebInspector.SubTargetsManager.Events.PendingTargetRemoved, this._pendingTargetR
emoved, this); | 35 SDK.targetManager.addModelListener(SDK.SubTargetsManager, SDK.SubTargetsMana
ger.Events.PendingTargetRemoved, this._pendingTargetRemoved, this); |
| 36 WebInspector.targetManager.addModelListener(WebInspector.SubTargetsManager,
WebInspector.SubTargetsManager.Events.PendingTargetAttached, this._addTargetItem
, this); | 36 SDK.targetManager.addModelListener(SDK.SubTargetsManager, SDK.SubTargetsMana
ger.Events.PendingTargetAttached, this._addTargetItem, this); |
| 37 WebInspector.targetManager.addModelListener(WebInspector.SubTargetsManager,
WebInspector.SubTargetsManager.Events.PendingTargetDetached, this._targetDetache
d, this); | 37 SDK.targetManager.addModelListener(SDK.SubTargetsManager, SDK.SubTargetsMana
ger.Events.PendingTargetDetached, this._targetDetached, this); |
| 38 WebInspector.targetManager.observeTargets(this); | 38 SDK.targetManager.observeTargets(this); |
| 39 | 39 |
| 40 var pendingTargets = []; | 40 var pendingTargets = []; |
| 41 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.Target)) | 41 for (var target of SDK.targetManager.targets(SDK.Target.Capability.Target)) |
| 42 pendingTargets = pendingTargets.concat(WebInspector.SubTargetsManager.from
Target(target).pendingTargets()); | 42 pendingTargets = pendingTargets.concat(SDK.SubTargetsManager.fromTarget(ta
rget).pendingTargets()); |
| 43 | 43 |
| 44 pendingTargets | 44 pendingTargets |
| 45 .sort(WebInspector.ThreadsSidebarPane._pendingTargetsComparator) | 45 .sort(Sources.ThreadsSidebarPane._pendingTargetsComparator) |
| 46 .forEach(pendingTarget => this._addListItem(pendingTarget)); | 46 .forEach(pendingTarget => this._addListItem(pendingTarget)); |
| 47 } | 47 } |
| 48 | 48 |
| 49 /** | 49 /** |
| 50 * @return {boolean} | 50 * @return {boolean} |
| 51 */ | 51 */ |
| 52 static shouldBeShown() { | 52 static shouldBeShown() { |
| 53 if (WebInspector.targetManager.targets(WebInspector.Target.Capability.JS).le
ngth > 1) | 53 if (SDK.targetManager.targets(SDK.Target.Capability.JS).length > 1) |
| 54 return true; | 54 return true; |
| 55 for (var target of WebInspector.targetManager.targets(WebInspector.Target.Ca
pability.Target)) { | 55 for (var target of SDK.targetManager.targets(SDK.Target.Capability.Target))
{ |
| 56 var pendingTargets = WebInspector.SubTargetsManager.fromTarget(target).pen
dingTargets(); | 56 var pendingTargets = SDK.SubTargetsManager.fromTarget(target).pendingTarge
ts(); |
| 57 if (pendingTargets.some(pendingTarget => pendingTarget.canConnect())) | 57 if (pendingTargets.some(pendingTarget => pendingTarget.canConnect())) |
| 58 return true; | 58 return true; |
| 59 } | 59 } |
| 60 return false; | 60 return false; |
| 61 } | 61 } |
| 62 | 62 |
| 63 /** | 63 /** |
| 64 * Sorts show tha connected targets appear first, followed by pending subtarge
ts. | 64 * Sorts show tha connected targets appear first, followed by pending subtarge
ts. |
| 65 * | 65 * |
| 66 * @param {!WebInspector.PendingTarget} c1 | 66 * @param {!SDK.PendingTarget} c1 |
| 67 * @param {!WebInspector.PendingTarget} c2 | 67 * @param {!SDK.PendingTarget} c2 |
| 68 * @return {number} | 68 * @return {number} |
| 69 */ | 69 */ |
| 70 static _pendingTargetsComparator(c1, c2) | 70 static _pendingTargetsComparator(c1, c2) |
| 71 { | 71 { |
| 72 var t1 = c1.target(); | 72 var t1 = c1.target(); |
| 73 var t2 = c2.target(); | 73 var t2 = c2.target(); |
| 74 var name1 = t1 ? t1.name() : c1.name(); | 74 var name1 = t1 ? t1.name() : c1.name(); |
| 75 var name2 = t2 ? t2.name() : c2.name(); | 75 var name2 = t2 ? t2.name() : c2.name(); |
| 76 if (!!t1 === !!t2) { // Either both are connected or disconnected | 76 if (!!t1 === !!t2) { // Either both are connected or disconnected |
| 77 return name1.toLowerCase().localeCompare(name2.toLowerCase()); | 77 return name1.toLowerCase().localeCompare(name2.toLowerCase()); |
| 78 } else if (t1) { | 78 } else if (t1) { |
| 79 return -1; | 79 return -1; |
| 80 } | 80 } |
| 81 return 1; | 81 return 1; |
| 82 } | 82 } |
| 83 | 83 |
| 84 /** | 84 /** |
| 85 * @param {!WebInspector.Event} event | 85 * @param {!Common.Event} event |
| 86 */ | 86 */ |
| 87 _addTargetItem(event) { | 87 _addTargetItem(event) { |
| 88 this._addListItem(/** @type {!WebInspector.PendingTarget} */ (event.data)); | 88 this._addListItem(/** @type {!SDK.PendingTarget} */ (event.data)); |
| 89 } | 89 } |
| 90 | 90 |
| 91 /** | 91 /** |
| 92 * @param {!WebInspector.Event} event | 92 * @param {!Common.Event} event |
| 93 */ | 93 */ |
| 94 _pendingTargetRemoved(event) { | 94 _pendingTargetRemoved(event) { |
| 95 this._removeListItem(/** @type {!WebInspector.PendingTarget} */ (event.data)
); | 95 this._removeListItem(/** @type {!SDK.PendingTarget} */ (event.data)); |
| 96 } | 96 } |
| 97 | 97 |
| 98 /** | 98 /** |
| 99 * @param {!WebInspector.Event} event | 99 * @param {!Common.Event} event |
| 100 */ | 100 */ |
| 101 _targetDetached(event) { | 101 _targetDetached(event) { |
| 102 this._targetRemoved(/** @type {!WebInspector.PendingTarget} */ (event.data))
; | 102 this._targetRemoved(/** @type {!SDK.PendingTarget} */ (event.data)); |
| 103 } | 103 } |
| 104 | 104 |
| 105 /** | 105 /** |
| 106 * @param {!WebInspector.PendingTarget} pendingTarget | 106 * @param {!SDK.PendingTarget} pendingTarget |
| 107 */ | 107 */ |
| 108 _addListItem(pendingTarget) { | 108 _addListItem(pendingTarget) { |
| 109 var target = pendingTarget.target(); | 109 var target = pendingTarget.target(); |
| 110 if (!pendingTarget.canConnect() && !(target && target.hasJSCapability())) | 110 if (!pendingTarget.canConnect() && !(target && target.hasJSCapability())) |
| 111 return; | 111 return; |
| 112 | 112 |
| 113 var listItem = this._pendingToListItem.get(pendingTarget); | 113 var listItem = this._pendingToListItem.get(pendingTarget); |
| 114 if (!listItem) { | 114 if (!listItem) { |
| 115 listItem = new WebInspector.UIList.Item('', '', false); | 115 listItem = new Sources.UIList.Item('', '', false); |
| 116 listItem[WebInspector.ThreadsSidebarPane._pendingTargetSymbol] = pendingTa
rget; | 116 listItem[Sources.ThreadsSidebarPane._pendingTargetSymbol] = pendingTarget; |
| 117 listItem[WebInspector.ThreadsSidebarPane._targetSymbol] = target; | 117 listItem[Sources.ThreadsSidebarPane._targetSymbol] = target; |
| 118 this._pendingToListItem.set(pendingTarget, listItem); | 118 this._pendingToListItem.set(pendingTarget, listItem); |
| 119 this.threadList.addItem(listItem); | 119 this.threadList.addItem(listItem); |
| 120 listItem.element.addEventListener('click', this._onListItemClick.bind(this
, listItem), false); | 120 listItem.element.addEventListener('click', this._onListItemClick.bind(this
, listItem), false); |
| 121 } | 121 } |
| 122 this._updateListItem(listItem, pendingTarget); | 122 this._updateListItem(listItem, pendingTarget); |
| 123 this._updateDebuggerState(pendingTarget); | 123 this._updateDebuggerState(pendingTarget); |
| 124 var currentTarget = WebInspector.context.flavor(WebInspector.Target); | 124 var currentTarget = UI.context.flavor(SDK.Target); |
| 125 if (currentTarget === target) | 125 if (currentTarget === target) |
| 126 this._selectListItem(listItem); | 126 this._selectListItem(listItem); |
| 127 if (target) | 127 if (target) |
| 128 this._targetToPending.set(target, pendingTarget); | 128 this._targetToPending.set(target, pendingTarget); |
| 129 } | 129 } |
| 130 | 130 |
| 131 /** | 131 /** |
| 132 * @override | 132 * @override |
| 133 * @param {!WebInspector.Target} target | 133 * @param {!SDK.Target} target |
| 134 */ | 134 */ |
| 135 targetAdded(target) { | 135 targetAdded(target) { |
| 136 if (target !== WebInspector.targetManager.mainTarget()) | 136 if (target !== SDK.targetManager.mainTarget()) |
| 137 return; | 137 return; |
| 138 console.assert(!this._mainTargetPending); | 138 console.assert(!this._mainTargetPending); |
| 139 this._mainTargetPending = new WebInspector.ThreadsSidebarPane.MainTargetConn
ection(target); | 139 this._mainTargetPending = new Sources.ThreadsSidebarPane.MainTargetConnectio
n(target); |
| 140 this._addListItem(this._mainTargetPending); | 140 this._addListItem(this._mainTargetPending); |
| 141 } | 141 } |
| 142 | 142 |
| 143 /** | 143 /** |
| 144 * @override | 144 * @override |
| 145 * @param {!WebInspector.Target} target | 145 * @param {!SDK.Target} target |
| 146 */ | 146 */ |
| 147 targetRemoved(target) { | 147 targetRemoved(target) { |
| 148 var subtargetManager = WebInspector.SubTargetsManager.fromTarget(target); | 148 var subtargetManager = SDK.SubTargetsManager.fromTarget(target); |
| 149 var pendingTargets = subtargetManager ? subtargetManager.pendingTargets() :
[]; | 149 var pendingTargets = subtargetManager ? subtargetManager.pendingTargets() :
[]; |
| 150 for (var pendingTarget of pendingTargets) { | 150 for (var pendingTarget of pendingTargets) { |
| 151 if (pendingTarget.target()) | 151 if (pendingTarget.target()) |
| 152 this._targetRemoved(pendingTarget); | 152 this._targetRemoved(pendingTarget); |
| 153 } | 153 } |
| 154 if (target === WebInspector.targetManager.mainTarget() && this._mainTargetPe
nding) { | 154 if (target === SDK.targetManager.mainTarget() && this._mainTargetPending) { |
| 155 this._targetRemoved(this._mainTargetPending); | 155 this._targetRemoved(this._mainTargetPending); |
| 156 this._mainTargetPending = null; | 156 this._mainTargetPending = null; |
| 157 } | 157 } |
| 158 } | 158 } |
| 159 | 159 |
| 160 /** | 160 /** |
| 161 * @param {!WebInspector.Event} event | 161 * @param {!Common.Event} event |
| 162 */ | 162 */ |
| 163 _targetNameChanged(event) { | 163 _targetNameChanged(event) { |
| 164 var target = /** @type {!WebInspector.Target} */ (event.data); | 164 var target = /** @type {!SDK.Target} */ (event.data); |
| 165 var listItem = this._listItemForTarget(target); | 165 var listItem = this._listItemForTarget(target); |
| 166 if (listItem) | 166 if (listItem) |
| 167 listItem.setTitle(this._titleForPending(this._targetToPending.get(target))
); | 167 listItem.setTitle(this._titleForPending(this._targetToPending.get(target))
); |
| 168 } | 168 } |
| 169 | 169 |
| 170 /** | 170 /** |
| 171 * @param {!WebInspector.Event} event | 171 * @param {!Common.Event} event |
| 172 */ | 172 */ |
| 173 _targetChanged(event) { | 173 _targetChanged(event) { |
| 174 var listItem = this._listItemForTarget(/** @type {!WebInspector.Target} */ (
event.data)); | 174 var listItem = this._listItemForTarget(/** @type {!SDK.Target} */ (event.dat
a)); |
| 175 if (listItem) | 175 if (listItem) |
| 176 this._selectListItem(listItem); | 176 this._selectListItem(listItem); |
| 177 } | 177 } |
| 178 | 178 |
| 179 /** | 179 /** |
| 180 * @param {!WebInspector.Target} target | 180 * @param {!SDK.Target} target |
| 181 * @return {?WebInspector.UIList.Item} | 181 * @return {?Sources.UIList.Item} |
| 182 */ | 182 */ |
| 183 _listItemForTarget(target) { | 183 _listItemForTarget(target) { |
| 184 var pendingTarget = this._targetToPending.get(target); | 184 var pendingTarget = this._targetToPending.get(target); |
| 185 return this._pendingToListItem.get(pendingTarget) || null; | 185 return this._pendingToListItem.get(pendingTarget) || null; |
| 186 } | 186 } |
| 187 | 187 |
| 188 /** | 188 /** |
| 189 * @param {!WebInspector.PendingTarget} pendingTarget | 189 * @param {!SDK.PendingTarget} pendingTarget |
| 190 * @return {string} | 190 * @return {string} |
| 191 */ | 191 */ |
| 192 _titleForPending(pendingTarget) { | 192 _titleForPending(pendingTarget) { |
| 193 var target = pendingTarget.target(); | 193 var target = pendingTarget.target(); |
| 194 if (!target) | 194 if (!target) |
| 195 return pendingTarget.name(); | 195 return pendingTarget.name(); |
| 196 var executionContext = target.runtimeModel.defaultExecutionContext(); | 196 var executionContext = target.runtimeModel.defaultExecutionContext(); |
| 197 return executionContext && executionContext.label() ? executionContext.label
() : target.name(); | 197 return executionContext && executionContext.label() ? executionContext.label
() : target.name(); |
| 198 } | 198 } |
| 199 | 199 |
| 200 /** | 200 /** |
| 201 * @param {!WebInspector.Event} event | 201 * @param {!Common.Event} event |
| 202 */ | 202 */ |
| 203 _onDebuggerStateChanged(event) { | 203 _onDebuggerStateChanged(event) { |
| 204 var debuggerModel = /** @type {!WebInspector.DebuggerModel} */ (event.target
); | 204 var debuggerModel = /** @type {!SDK.DebuggerModel} */ (event.target); |
| 205 var pendingTarget = this._targetToPending.get(debuggerModel.target()); | 205 var pendingTarget = this._targetToPending.get(debuggerModel.target()); |
| 206 this._updateDebuggerState(pendingTarget); | 206 this._updateDebuggerState(pendingTarget); |
| 207 } | 207 } |
| 208 | 208 |
| 209 /** | 209 /** |
| 210 * @param {!WebInspector.Event} event | 210 * @param {!Common.Event} event |
| 211 */ | 211 */ |
| 212 _onExecutionContextChanged(event) { | 212 _onExecutionContextChanged(event) { |
| 213 var executionContext = /** @type {!WebInspector.ExecutionContext} */ (event.
data); | 213 var executionContext = /** @type {!SDK.ExecutionContext} */ (event.data); |
| 214 if (!executionContext.isDefault) | 214 if (!executionContext.isDefault) |
| 215 return; | 215 return; |
| 216 var pendingTarget = this._targetToPending.get(executionContext.target()); | 216 var pendingTarget = this._targetToPending.get(executionContext.target()); |
| 217 var listItem = this._pendingToListItem.get(pendingTarget); | 217 var listItem = this._pendingToListItem.get(pendingTarget); |
| 218 if (listItem && executionContext.label()) | 218 if (listItem && executionContext.label()) |
| 219 listItem.setTitle(executionContext.label()); | 219 listItem.setTitle(executionContext.label()); |
| 220 } | 220 } |
| 221 | 221 |
| 222 /** | 222 /** |
| 223 * @param {!WebInspector.PendingTarget} pendingTarget | 223 * @param {!SDK.PendingTarget} pendingTarget |
| 224 */ | 224 */ |
| 225 _updateDebuggerState(pendingTarget) { | 225 _updateDebuggerState(pendingTarget) { |
| 226 var listItem = this._pendingToListItem.get(pendingTarget); | 226 var listItem = this._pendingToListItem.get(pendingTarget); |
| 227 var target = pendingTarget.target(); | 227 var target = pendingTarget.target(); |
| 228 var debuggerModel = target && WebInspector.DebuggerModel.fromTarget(target); | 228 var debuggerModel = target && SDK.DebuggerModel.fromTarget(target); |
| 229 var isPaused = !!debuggerModel && debuggerModel.isPaused(); | 229 var isPaused = !!debuggerModel && debuggerModel.isPaused(); |
| 230 listItem.setSubtitle(WebInspector.UIString(isPaused ? 'paused' : '')); | 230 listItem.setSubtitle(Common.UIString(isPaused ? 'paused' : '')); |
| 231 } | 231 } |
| 232 | 232 |
| 233 /** | 233 /** |
| 234 * @param {!WebInspector.UIList.Item} listItem | 234 * @param {!Sources.UIList.Item} listItem |
| 235 */ | 235 */ |
| 236 _selectListItem(listItem) { | 236 _selectListItem(listItem) { |
| 237 if (listItem === this._selectedListItem) | 237 if (listItem === this._selectedListItem) |
| 238 return; | 238 return; |
| 239 | 239 |
| 240 if (this._selectedListItem) | 240 if (this._selectedListItem) |
| 241 this._selectedListItem.setSelected(false); | 241 this._selectedListItem.setSelected(false); |
| 242 | 242 |
| 243 this._selectedListItem = listItem; | 243 this._selectedListItem = listItem; |
| 244 listItem.setSelected(true); | 244 listItem.setSelected(true); |
| 245 } | 245 } |
| 246 | 246 |
| 247 /** | 247 /** |
| 248 * @param {!WebInspector.UIList.Item} listItem | 248 * @param {!Sources.UIList.Item} listItem |
| 249 */ | 249 */ |
| 250 _onListItemClick(listItem) { | 250 _onListItemClick(listItem) { |
| 251 var pendingTarget = listItem[WebInspector.ThreadsSidebarPane._pendingTargetS
ymbol]; | 251 var pendingTarget = listItem[Sources.ThreadsSidebarPane._pendingTargetSymbol
]; |
| 252 var target = pendingTarget.target(); | 252 var target = pendingTarget.target(); |
| 253 if (!target) | 253 if (!target) |
| 254 return; | 254 return; |
| 255 WebInspector.context.setFlavor(WebInspector.Target, target); | 255 UI.context.setFlavor(SDK.Target, target); |
| 256 listItem.element.scrollIntoViewIfNeeded(); | 256 listItem.element.scrollIntoViewIfNeeded(); |
| 257 } | 257 } |
| 258 | 258 |
| 259 /** | 259 /** |
| 260 * @param {!WebInspector.UIList.Item} item | 260 * @param {!Sources.UIList.Item} item |
| 261 * @param {!WebInspector.PendingTarget} pendingTarget | 261 * @param {!SDK.PendingTarget} pendingTarget |
| 262 */ | 262 */ |
| 263 _updateListItem(item, pendingTarget) { | 263 _updateListItem(item, pendingTarget) { |
| 264 item.setTitle(this._titleForPending(pendingTarget)); | 264 item.setTitle(this._titleForPending(pendingTarget)); |
| 265 item.setSubtitle(''); | 265 item.setSubtitle(''); |
| 266 var target = pendingTarget.target(); | 266 var target = pendingTarget.target(); |
| 267 var action = null; | 267 var action = null; |
| 268 var actionLabel = null; | 268 var actionLabel = null; |
| 269 if (pendingTarget.canConnect()) { | 269 if (pendingTarget.canConnect()) { |
| 270 actionLabel = target ? 'Disconnect' : 'Connect'; | 270 actionLabel = target ? 'Disconnect' : 'Connect'; |
| 271 action = this._toggleConnection.bind(this, pendingTarget); | 271 action = this._toggleConnection.bind(this, pendingTarget); |
| 272 } | 272 } |
| 273 item.setAction(actionLabel, action); | 273 item.setAction(actionLabel, action); |
| 274 item.setDimmed(!target); | 274 item.setDimmed(!target); |
| 275 } | 275 } |
| 276 | 276 |
| 277 /** | 277 /** |
| 278 * @param {!WebInspector.Target} target | 278 * @param {!SDK.Target} target |
| 279 */ | 279 */ |
| 280 _selectNewlyAddedTarget(target) { | 280 _selectNewlyAddedTarget(target) { |
| 281 setTimeout(() => WebInspector.context.setFlavor(WebInspector.Target, target)
); | 281 setTimeout(() => UI.context.setFlavor(SDK.Target, target)); |
| 282 } | 282 } |
| 283 | 283 |
| 284 /** | 284 /** |
| 285 * @param {!WebInspector.PendingTarget} pendingTarget | 285 * @param {!SDK.PendingTarget} pendingTarget |
| 286 * @return {!Promise} | 286 * @return {!Promise} |
| 287 */ | 287 */ |
| 288 _toggleConnection(pendingTarget) { | 288 _toggleConnection(pendingTarget) { |
| 289 var target = pendingTarget.target(); | 289 var target = pendingTarget.target(); |
| 290 if (target) | 290 if (target) |
| 291 return pendingTarget.detach(); | 291 return pendingTarget.detach(); |
| 292 else | 292 else |
| 293 return pendingTarget.attach().then(target => this._selectNewlyAddedTarget(
target)); | 293 return pendingTarget.attach().then(target => this._selectNewlyAddedTarget(
target)); |
| 294 } | 294 } |
| 295 | 295 |
| 296 /** | 296 /** |
| 297 * @param {!WebInspector.PendingTarget} pendingTarget | 297 * @param {!SDK.PendingTarget} pendingTarget |
| 298 */ | 298 */ |
| 299 _targetRemoved(pendingTarget) { | 299 _targetRemoved(pendingTarget) { |
| 300 var item = this._pendingToListItem.get(pendingTarget); | 300 var item = this._pendingToListItem.get(pendingTarget); |
| 301 if (!item) // Not all targets are represented in the UI. | 301 if (!item) // Not all targets are represented in the UI. |
| 302 return; | 302 return; |
| 303 var target = item[WebInspector.ThreadsSidebarPane._targetSymbol]; | 303 var target = item[Sources.ThreadsSidebarPane._targetSymbol]; |
| 304 item[WebInspector.ThreadsSidebarPane._targetSymbol] = null; | 304 item[Sources.ThreadsSidebarPane._targetSymbol] = null; |
| 305 this._targetToPending.remove(target); | 305 this._targetToPending.remove(target); |
| 306 if (pendingTarget.canConnect()) | 306 if (pendingTarget.canConnect()) |
| 307 this._updateListItem(item, pendingTarget); | 307 this._updateListItem(item, pendingTarget); |
| 308 else | 308 else |
| 309 this._removeListItem(pendingTarget); | 309 this._removeListItem(pendingTarget); |
| 310 } | 310 } |
| 311 | 311 |
| 312 /** | 312 /** |
| 313 * @param {!WebInspector.PendingTarget} pendingTarget | 313 * @param {!SDK.PendingTarget} pendingTarget |
| 314 */ | 314 */ |
| 315 _removeListItem(pendingTarget) { | 315 _removeListItem(pendingTarget) { |
| 316 var item = this._pendingToListItem.get(pendingTarget); | 316 var item = this._pendingToListItem.get(pendingTarget); |
| 317 if (!item) | 317 if (!item) |
| 318 return; | 318 return; |
| 319 this.threadList.removeItem(item); | 319 this.threadList.removeItem(item); |
| 320 this._pendingToListItem.delete(pendingTarget); | 320 this._pendingToListItem.delete(pendingTarget); |
| 321 } | 321 } |
| 322 }; | 322 }; |
| 323 | 323 |
| 324 WebInspector.ThreadsSidebarPane._pendingTargetSymbol = Symbol('_subtargetSymbol'
); | 324 Sources.ThreadsSidebarPane._pendingTargetSymbol = Symbol('_subtargetSymbol'); |
| 325 WebInspector.ThreadsSidebarPane._targetSymbol = Symbol('_targetSymbol'); | 325 Sources.ThreadsSidebarPane._targetSymbol = Symbol('_targetSymbol'); |
| 326 | 326 |
| 327 /** | 327 /** |
| 328 * @unrestricted | 328 * @unrestricted |
| 329 */ | 329 */ |
| 330 WebInspector.ThreadsSidebarPane.MainTargetConnection = class extends WebInspecto
r.PendingTarget { | 330 Sources.ThreadsSidebarPane.MainTargetConnection = class extends SDK.PendingTarge
t { |
| 331 /** | 331 /** |
| 332 * @param {!WebInspector.Target} target | 332 * @param {!SDK.Target} target |
| 333 */ | 333 */ |
| 334 constructor(target) { | 334 constructor(target) { |
| 335 super('main-target-list-node-' + target.id(), target.title, false, null); | 335 super('main-target-list-node-' + target.id(), target.title, false, null); |
| 336 this._target = target; | 336 this._target = target; |
| 337 } | 337 } |
| 338 | 338 |
| 339 /** | 339 /** |
| 340 * @override | 340 * @override |
| 341 * @return {!WebInspector.Target} | 341 * @return {!SDK.Target} |
| 342 */ | 342 */ |
| 343 target() { | 343 target() { |
| 344 return this._target; | 344 return this._target; |
| 345 } | 345 } |
| 346 | 346 |
| 347 /** | 347 /** |
| 348 * @override | 348 * @override |
| 349 * @return {string} | 349 * @return {string} |
| 350 */ | 350 */ |
| 351 name() { | 351 name() { |
| 352 return this._target.name(); | 352 return this._target.name(); |
| 353 } | 353 } |
| 354 }; | 354 }; |
| OLD | NEW |