| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 * @unrestricted | 5 * @unrestricted |
| 6 */ | 6 */ |
| 7 WebInspector.SubTargetsManager = class extends WebInspector.SDKModel { | 7 SDK.SubTargetsManager = class extends SDK.SDKModel { |
| 8 /** | 8 /** |
| 9 * @param {!WebInspector.Target} target | 9 * @param {!SDK.Target} target |
| 10 */ | 10 */ |
| 11 constructor(target) { | 11 constructor(target) { |
| 12 super(WebInspector.SubTargetsManager, target); | 12 super(SDK.SubTargetsManager, target); |
| 13 target.registerTargetDispatcher(new WebInspector.SubTargetsDispatcher(this))
; | 13 target.registerTargetDispatcher(new SDK.SubTargetsDispatcher(this)); |
| 14 this._lastAnonymousTargetId = 0; | 14 this._lastAnonymousTargetId = 0; |
| 15 this._agent = target.targetAgent(); | 15 this._agent = target.targetAgent(); |
| 16 | 16 |
| 17 /** @type {!Map<string, !WebInspector.Target>} */ | 17 /** @type {!Map<string, !SDK.Target>} */ |
| 18 this._attachedTargets = new Map(); | 18 this._attachedTargets = new Map(); |
| 19 /** @type {!Map<string, !WebInspector.SubTargetConnection>} */ | 19 /** @type {!Map<string, !SDK.SubTargetConnection>} */ |
| 20 this._connections = new Map(); | 20 this._connections = new Map(); |
| 21 /** @type {!Map<string, !WebInspector.PendingTarget>} */ | 21 /** @type {!Map<string, !SDK.PendingTarget>} */ |
| 22 this._pendingTargets = new Map(); | 22 this._pendingTargets = new Map(); |
| 23 this._agent.setAutoAttach(true /* autoAttach */, true /* waitForDebuggerOnSt
art */); | 23 this._agent.setAutoAttach(true /* autoAttach */, true /* waitForDebuggerOnSt
art */); |
| 24 if (Runtime.experiments.isEnabled('autoAttachToCrossProcessSubframes')) | 24 if (Runtime.experiments.isEnabled('autoAttachToCrossProcessSubframes')) |
| 25 this._agent.setAttachToFrames(true); | 25 this._agent.setAttachToFrames(true); |
| 26 | 26 |
| 27 if (Runtime.experiments.isEnabled('nodeDebugging') && !target.parentTarget()
) { | 27 if (Runtime.experiments.isEnabled('nodeDebugging') && !target.parentTarget()
) { |
| 28 var defaultLocations = [{host: 'localhost', port: 9229}]; | 28 var defaultLocations = [{host: 'localhost', port: 9229}]; |
| 29 this._agent.setRemoteLocations(defaultLocations); | 29 this._agent.setRemoteLocations(defaultLocations); |
| 30 this._agent.setDiscoverTargets(true); | 30 this._agent.setDiscoverTargets(true); |
| 31 } | 31 } |
| 32 WebInspector.targetManager.addEventListener( | 32 SDK.targetManager.addEventListener( |
| 33 WebInspector.TargetManager.Events.MainFrameNavigated, this._mainFrameNav
igated, this); | 33 SDK.TargetManager.Events.MainFrameNavigated, this._mainFrameNavigated, t
his); |
| 34 } | 34 } |
| 35 | 35 |
| 36 /** | 36 /** |
| 37 * @param {!WebInspector.Target} target | 37 * @param {!SDK.Target} target |
| 38 * @return {?WebInspector.SubTargetsManager} | 38 * @return {?SDK.SubTargetsManager} |
| 39 */ | 39 */ |
| 40 static fromTarget(target) | 40 static fromTarget(target) |
| 41 { | 41 { |
| 42 return /** @type {?WebInspector.SubTargetsManager} */ (target.model(WebInspe
ctor.SubTargetsManager)); | 42 return /** @type {?SDK.SubTargetsManager} */ (target.model(SDK.SubTargetsMan
ager)); |
| 43 } | 43 } |
| 44 | 44 |
| 45 /** | 45 /** |
| 46 * @override | 46 * @override |
| 47 * @return {!Promise} | 47 * @return {!Promise} |
| 48 */ | 48 */ |
| 49 suspendModel() { | 49 suspendModel() { |
| 50 var fulfill; | 50 var fulfill; |
| 51 var promise = new Promise(f => fulfill = f); | 51 var promise = new Promise(f => fulfill = f); |
| 52 this._agent.setAutoAttach(true /* autoAttach */, false /* waitForDebuggerOnS
tart */, fulfill); | 52 this._agent.setAutoAttach(true /* autoAttach */, false /* waitForDebuggerOnS
tart */, fulfill); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 76 | 76 |
| 77 /** | 77 /** |
| 78 * @param {!Protocol.Target.TargetID} targetId | 78 * @param {!Protocol.Target.TargetID} targetId |
| 79 */ | 79 */ |
| 80 activateTarget(targetId) { | 80 activateTarget(targetId) { |
| 81 this._agent.activateTarget(targetId); | 81 this._agent.activateTarget(targetId); |
| 82 } | 82 } |
| 83 | 83 |
| 84 /** | 84 /** |
| 85 * @param {!Protocol.Target.TargetID} targetId | 85 * @param {!Protocol.Target.TargetID} targetId |
| 86 * @param {function(?WebInspector.TargetInfo)=} callback | 86 * @param {function(?SDK.TargetInfo)=} callback |
| 87 */ | 87 */ |
| 88 getTargetInfo(targetId, callback) { | 88 getTargetInfo(targetId, callback) { |
| 89 /** | 89 /** |
| 90 * @param {?Protocol.Error} error | 90 * @param {?Protocol.Error} error |
| 91 * @param {?Protocol.Target.TargetInfo} targetInfo | 91 * @param {?Protocol.Target.TargetInfo} targetInfo |
| 92 */ | 92 */ |
| 93 function innerCallback(error, targetInfo) { | 93 function innerCallback(error, targetInfo) { |
| 94 if (error) { | 94 if (error) { |
| 95 console.error(error); | 95 console.error(error); |
| 96 callback(null); | 96 callback(null); |
| 97 return; | 97 return; |
| 98 } | 98 } |
| 99 if (targetInfo) | 99 if (targetInfo) |
| 100 callback(new WebInspector.TargetInfo(targetInfo)); | 100 callback(new SDK.TargetInfo(targetInfo)); |
| 101 else | 101 else |
| 102 callback(null); | 102 callback(null); |
| 103 } | 103 } |
| 104 this._agent.getTargetInfo(targetId, innerCallback); | 104 this._agent.getTargetInfo(targetId, innerCallback); |
| 105 } | 105 } |
| 106 | 106 |
| 107 /** | 107 /** |
| 108 * @param {string} targetId | 108 * @param {string} targetId |
| 109 * @return {?WebInspector.Target} | 109 * @return {?SDK.Target} |
| 110 */ | 110 */ |
| 111 targetForId(targetId) { | 111 targetForId(targetId) { |
| 112 return this._attachedTargets.get(targetId) || null; | 112 return this._attachedTargets.get(targetId) || null; |
| 113 } | 113 } |
| 114 | 114 |
| 115 /** | 115 /** |
| 116 * @param {!WebInspector.Target} target | 116 * @param {!SDK.Target} target |
| 117 * @return {?WebInspector.TargetInfo} | 117 * @return {?SDK.TargetInfo} |
| 118 */ | 118 */ |
| 119 targetInfo(target) { | 119 targetInfo(target) { |
| 120 return target[WebInspector.SubTargetsManager._InfoSymbol] || null; | 120 return target[SDK.SubTargetsManager._InfoSymbol] || null; |
| 121 } | 121 } |
| 122 | 122 |
| 123 /** | 123 /** |
| 124 * @param {string} type | 124 * @param {string} type |
| 125 * @return {number} | 125 * @return {number} |
| 126 */ | 126 */ |
| 127 _capabilitiesForType(type) { | 127 _capabilitiesForType(type) { |
| 128 if (type === 'worker') | 128 if (type === 'worker') |
| 129 return WebInspector.Target.Capability.JS | WebInspector.Target.Capability.
Log; | 129 return SDK.Target.Capability.JS | SDK.Target.Capability.Log; |
| 130 if (type === 'service_worker') | 130 if (type === 'service_worker') |
| 131 return WebInspector.Target.Capability.Log | WebInspector.Target.Capability
.Network | | 131 return SDK.Target.Capability.Log | SDK.Target.Capability.Network | |
| 132 WebInspector.Target.Capability.Target; | 132 SDK.Target.Capability.Target; |
| 133 if (type === 'iframe') | 133 if (type === 'iframe') |
| 134 return WebInspector.Target.Capability.Browser | WebInspector.Target.Capabi
lity.DOM | | 134 return SDK.Target.Capability.Browser | SDK.Target.Capability.DOM | |
| 135 WebInspector.Target.Capability.JS | WebInspector.Target.Capability.Log
| | 135 SDK.Target.Capability.JS | SDK.Target.Capability.Log | |
| 136 WebInspector.Target.Capability.Network | WebInspector.Target.Capabilit
y.Target; | 136 SDK.Target.Capability.Network | SDK.Target.Capability.Target; |
| 137 if (type === 'node') | 137 if (type === 'node') |
| 138 return WebInspector.Target.Capability.JS; | 138 return SDK.Target.Capability.JS; |
| 139 return 0; | 139 return 0; |
| 140 } | 140 } |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * @param {!WebInspector.TargetInfo} targetInfo | 143 * @param {!SDK.TargetInfo} targetInfo |
| 144 * @param {boolean} waitingForDebugger | 144 * @param {boolean} waitingForDebugger |
| 145 */ | 145 */ |
| 146 _attachedToTarget(targetInfo, waitingForDebugger) { | 146 _attachedToTarget(targetInfo, waitingForDebugger) { |
| 147 var targetName = ''; | 147 var targetName = ''; |
| 148 if (targetInfo.type === 'node') { | 148 if (targetInfo.type === 'node') { |
| 149 targetName = targetInfo.title; | 149 targetName = targetInfo.title; |
| 150 } else if (targetInfo.type !== 'iframe') { | 150 } else if (targetInfo.type !== 'iframe') { |
| 151 var parsedURL = targetInfo.url.asParsedURL(); | 151 var parsedURL = targetInfo.url.asParsedURL(); |
| 152 targetName = parsedURL ? parsedURL.lastPathComponentWithFragment() : '#' +
(++this._lastAnonymousTargetId); | 152 targetName = parsedURL ? parsedURL.lastPathComponentWithFragment() : '#' +
(++this._lastAnonymousTargetId); |
| 153 } | 153 } |
| 154 var target = WebInspector.targetManager.createTarget( | 154 var target = SDK.targetManager.createTarget( |
| 155 targetName, this._capabilitiesForType(targetInfo.type), this._createConn
ection.bind(this, targetInfo.id), | 155 targetName, this._capabilitiesForType(targetInfo.type), this._createConn
ection.bind(this, targetInfo.id), |
| 156 this.target()); | 156 this.target()); |
| 157 target[WebInspector.SubTargetsManager._InfoSymbol] = targetInfo; | 157 target[SDK.SubTargetsManager._InfoSymbol] = targetInfo; |
| 158 this._attachedTargets.set(targetInfo.id, target); | 158 this._attachedTargets.set(targetInfo.id, target); |
| 159 | 159 |
| 160 // Only pause new worker if debugging SW - we are going through the pause on
start checkbox. | 160 // Only pause new worker if debugging SW - we are going through the pause on
start checkbox. |
| 161 var mainIsServiceWorker = | 161 var mainIsServiceWorker = |
| 162 !this.target().parentTarget() && this.target().hasTargetCapability() &&
!this.target().hasBrowserCapability(); | 162 !this.target().parentTarget() && this.target().hasTargetCapability() &&
!this.target().hasBrowserCapability(); |
| 163 if (mainIsServiceWorker && waitingForDebugger) | 163 if (mainIsServiceWorker && waitingForDebugger) |
| 164 target.debuggerAgent().pause(); | 164 target.debuggerAgent().pause(); |
| 165 target.runtimeAgent().runIfWaitingForDebugger(); | 165 target.runtimeAgent().runIfWaitingForDebugger(); |
| 166 | 166 |
| 167 var pendingTarget = this._pendingTargets.get(targetInfo.id); | 167 var pendingTarget = this._pendingTargets.get(targetInfo.id); |
| 168 if (!pendingTarget) { | 168 if (!pendingTarget) { |
| 169 this._targetCreated(targetInfo); | 169 this._targetCreated(targetInfo); |
| 170 pendingTarget = this._pendingTargets.get(targetInfo.id); | 170 pendingTarget = this._pendingTargets.get(targetInfo.id); |
| 171 } | 171 } |
| 172 pendingTarget.notifyAttached(target); | 172 pendingTarget.notifyAttached(target); |
| 173 this.dispatchEventToListeners(WebInspector.SubTargetsManager.Events.PendingT
argetAttached, pendingTarget); | 173 this.dispatchEventToListeners(SDK.SubTargetsManager.Events.PendingTargetAtta
ched, pendingTarget); |
| 174 } | 174 } |
| 175 | 175 |
| 176 /** | 176 /** |
| 177 * @param {string} targetId | 177 * @param {string} targetId |
| 178 * @param {!InspectorBackendClass.Connection.Params} params | 178 * @param {!InspectorBackendClass.Connection.Params} params |
| 179 * @return {!InspectorBackendClass.Connection} | 179 * @return {!InspectorBackendClass.Connection} |
| 180 */ | 180 */ |
| 181 _createConnection(targetId, params) { | 181 _createConnection(targetId, params) { |
| 182 var connection = new WebInspector.SubTargetConnection(this._agent, targetId,
params); | 182 var connection = new SDK.SubTargetConnection(this._agent, targetId, params); |
| 183 this._connections.set(targetId, connection); | 183 this._connections.set(targetId, connection); |
| 184 return connection; | 184 return connection; |
| 185 } | 185 } |
| 186 | 186 |
| 187 /** | 187 /** |
| 188 * @param {string} targetId | 188 * @param {string} targetId |
| 189 */ | 189 */ |
| 190 _detachedFromTarget(targetId) { | 190 _detachedFromTarget(targetId) { |
| 191 var target = this._attachedTargets.get(targetId); | 191 var target = this._attachedTargets.get(targetId); |
| 192 this._attachedTargets.delete(targetId); | 192 this._attachedTargets.delete(targetId); |
| 193 var connection = this._connections.get(targetId); | 193 var connection = this._connections.get(targetId); |
| 194 connection._onDisconnect.call(null, 'target terminated'); | 194 connection._onDisconnect.call(null, 'target terminated'); |
| 195 this._connections.delete(targetId); | 195 this._connections.delete(targetId); |
| 196 this.dispatchEventToListeners(WebInspector.SubTargetsManager.Events.PendingT
argetDetached, this._pendingTargets.get(targetId)); | 196 this.dispatchEventToListeners(SDK.SubTargetsManager.Events.PendingTargetDeta
ched, this._pendingTargets.get(targetId)); |
| 197 } | 197 } |
| 198 | 198 |
| 199 /** | 199 /** |
| 200 * @param {string} targetId | 200 * @param {string} targetId |
| 201 * @param {string} message | 201 * @param {string} message |
| 202 */ | 202 */ |
| 203 _receivedMessageFromTarget(targetId, message) { | 203 _receivedMessageFromTarget(targetId, message) { |
| 204 var connection = this._connections.get(targetId); | 204 var connection = this._connections.get(targetId); |
| 205 if (connection) | 205 if (connection) |
| 206 connection._onMessage.call(null, message); | 206 connection._onMessage.call(null, message); |
| 207 } | 207 } |
| 208 | 208 |
| 209 /** | 209 /** |
| 210 * @param {!WebInspector.TargetInfo} targetInfo | 210 * @param {!SDK.TargetInfo} targetInfo |
| 211 */ | 211 */ |
| 212 _targetCreated(targetInfo) { | 212 _targetCreated(targetInfo) { |
| 213 var pendingTarget = this._pendingTargets.get(targetInfo.id); | 213 var pendingTarget = this._pendingTargets.get(targetInfo.id); |
| 214 if (pendingTarget) | 214 if (pendingTarget) |
| 215 return; | 215 return; |
| 216 pendingTarget = new WebInspector.PendingTarget(targetInfo.id, targetInfo.tit
le, targetInfo.type === 'node', this); | 216 pendingTarget = new SDK.PendingTarget(targetInfo.id, targetInfo.title, targe
tInfo.type === 'node', this); |
| 217 this._pendingTargets.set(targetInfo.id, pendingTarget); | 217 this._pendingTargets.set(targetInfo.id, pendingTarget); |
| 218 this.dispatchEventToListeners(WebInspector.SubTargetsManager.Events.PendingT
argetAdded, pendingTarget); | 218 this.dispatchEventToListeners(SDK.SubTargetsManager.Events.PendingTargetAdde
d, pendingTarget); |
| 219 } | 219 } |
| 220 | 220 |
| 221 /** | 221 /** |
| 222 * @param {string} targetId | 222 * @param {string} targetId |
| 223 */ | 223 */ |
| 224 _targetDestroyed(targetId) { | 224 _targetDestroyed(targetId) { |
| 225 var pendingTarget = this._pendingTargets.get(targetId); | 225 var pendingTarget = this._pendingTargets.get(targetId); |
| 226 if (!pendingTarget) | 226 if (!pendingTarget) |
| 227 return; | 227 return; |
| 228 this._pendingTargets.delete(targetId); | 228 this._pendingTargets.delete(targetId); |
| 229 this.dispatchEventToListeners(WebInspector.SubTargetsManager.Events.PendingT
argetRemoved, pendingTarget); | 229 this.dispatchEventToListeners(SDK.SubTargetsManager.Events.PendingTargetRemo
ved, pendingTarget); |
| 230 } | 230 } |
| 231 | 231 |
| 232 /** | 232 /** |
| 233 * @return {!Array<!WebInspector.PendingTarget>} | 233 * @return {!Array<!SDK.PendingTarget>} |
| 234 */ | 234 */ |
| 235 pendingTargets() { | 235 pendingTargets() { |
| 236 return this._pendingTargets.valuesArray(); | 236 return this._pendingTargets.valuesArray(); |
| 237 } | 237 } |
| 238 | 238 |
| 239 /** | 239 /** |
| 240 * @param {!WebInspector.Event} event | 240 * @param {!Common.Event} event |
| 241 */ | 241 */ |
| 242 _mainFrameNavigated(event) { | 242 _mainFrameNavigated(event) { |
| 243 if (event.data.target() !== this.target()) | 243 if (event.data.target() !== this.target()) |
| 244 return; | 244 return; |
| 245 | 245 |
| 246 var idsToDetach = []; | 246 var idsToDetach = []; |
| 247 for (var targetId of this._attachedTargets.keys()) { | 247 for (var targetId of this._attachedTargets.keys()) { |
| 248 var target = this._attachedTargets.get(targetId); | 248 var target = this._attachedTargets.get(targetId); |
| 249 var targetInfo = this.targetInfo(target); | 249 var targetInfo = this.targetInfo(target); |
| 250 if (targetInfo.type === 'worker') | 250 if (targetInfo.type === 'worker') |
| 251 idsToDetach.push(targetId); | 251 idsToDetach.push(targetId); |
| 252 } | 252 } |
| 253 idsToDetach.forEach(id => this._detachedFromTarget(id)); | 253 idsToDetach.forEach(id => this._detachedFromTarget(id)); |
| 254 } | 254 } |
| 255 }; | 255 }; |
| 256 | 256 |
| 257 /** @enum {symbol} */ | 257 /** @enum {symbol} */ |
| 258 WebInspector.SubTargetsManager.Events = { | 258 SDK.SubTargetsManager.Events = { |
| 259 PendingTargetAdded: Symbol('PendingTargetAdded'), | 259 PendingTargetAdded: Symbol('PendingTargetAdded'), |
| 260 PendingTargetRemoved: Symbol('PendingTargetRemoved'), | 260 PendingTargetRemoved: Symbol('PendingTargetRemoved'), |
| 261 PendingTargetAttached: Symbol('PendingTargetAttached'), | 261 PendingTargetAttached: Symbol('PendingTargetAttached'), |
| 262 PendingTargetDetached: Symbol('PendingTargetDetached'), | 262 PendingTargetDetached: Symbol('PendingTargetDetached'), |
| 263 }; | 263 }; |
| 264 | 264 |
| 265 WebInspector.SubTargetsManager._InfoSymbol = Symbol('SubTargetInfo'); | 265 SDK.SubTargetsManager._InfoSymbol = Symbol('SubTargetInfo'); |
| 266 | 266 |
| 267 /** | 267 /** |
| 268 * @implements {Protocol.TargetDispatcher} | 268 * @implements {Protocol.TargetDispatcher} |
| 269 * @unrestricted | 269 * @unrestricted |
| 270 */ | 270 */ |
| 271 WebInspector.SubTargetsDispatcher = class { | 271 SDK.SubTargetsDispatcher = class { |
| 272 /** | 272 /** |
| 273 * @param {!WebInspector.SubTargetsManager} manager | 273 * @param {!SDK.SubTargetsManager} manager |
| 274 */ | 274 */ |
| 275 constructor(manager) { | 275 constructor(manager) { |
| 276 this._manager = manager; | 276 this._manager = manager; |
| 277 } | 277 } |
| 278 | 278 |
| 279 /** | 279 /** |
| 280 * @override | 280 * @override |
| 281 * @param {!Protocol.Target.TargetInfo} targetInfo | 281 * @param {!Protocol.Target.TargetInfo} targetInfo |
| 282 */ | 282 */ |
| 283 targetCreated(targetInfo) { | 283 targetCreated(targetInfo) { |
| 284 this._manager._targetCreated(new WebInspector.TargetInfo(targetInfo)); | 284 this._manager._targetCreated(new SDK.TargetInfo(targetInfo)); |
| 285 } | 285 } |
| 286 | 286 |
| 287 /** | 287 /** |
| 288 * @override | 288 * @override |
| 289 * @param {string} targetId | 289 * @param {string} targetId |
| 290 */ | 290 */ |
| 291 targetDestroyed(targetId) { | 291 targetDestroyed(targetId) { |
| 292 this._manager._targetDestroyed(targetId); | 292 this._manager._targetDestroyed(targetId); |
| 293 } | 293 } |
| 294 | 294 |
| 295 /** | 295 /** |
| 296 * @override | 296 * @override |
| 297 * @param {!Protocol.Target.TargetInfo} targetInfo | 297 * @param {!Protocol.Target.TargetInfo} targetInfo |
| 298 * @param {boolean} waitingForDebugger | 298 * @param {boolean} waitingForDebugger |
| 299 */ | 299 */ |
| 300 attachedToTarget(targetInfo, waitingForDebugger) { | 300 attachedToTarget(targetInfo, waitingForDebugger) { |
| 301 this._manager._attachedToTarget(new WebInspector.TargetInfo(targetInfo), wai
tingForDebugger); | 301 this._manager._attachedToTarget(new SDK.TargetInfo(targetInfo), waitingForDe
bugger); |
| 302 } | 302 } |
| 303 | 303 |
| 304 /** | 304 /** |
| 305 * @override | 305 * @override |
| 306 * @param {string} targetId | 306 * @param {string} targetId |
| 307 */ | 307 */ |
| 308 detachedFromTarget(targetId) { | 308 detachedFromTarget(targetId) { |
| 309 this._manager._detachedFromTarget(targetId); | 309 this._manager._detachedFromTarget(targetId); |
| 310 } | 310 } |
| 311 | 311 |
| 312 /** | 312 /** |
| 313 * @override | 313 * @override |
| 314 * @param {string} targetId | 314 * @param {string} targetId |
| 315 * @param {string} message | 315 * @param {string} message |
| 316 */ | 316 */ |
| 317 receivedMessageFromTarget(targetId, message) { | 317 receivedMessageFromTarget(targetId, message) { |
| 318 this._manager._receivedMessageFromTarget(targetId, message); | 318 this._manager._receivedMessageFromTarget(targetId, message); |
| 319 } | 319 } |
| 320 }; | 320 }; |
| 321 | 321 |
| 322 /** | 322 /** |
| 323 * @implements {InspectorBackendClass.Connection} | 323 * @implements {InspectorBackendClass.Connection} |
| 324 * @unrestricted | 324 * @unrestricted |
| 325 */ | 325 */ |
| 326 WebInspector.SubTargetConnection = class { | 326 SDK.SubTargetConnection = class { |
| 327 /** | 327 /** |
| 328 * @param {!Protocol.TargetAgent} agent | 328 * @param {!Protocol.TargetAgent} agent |
| 329 * @param {string} targetId | 329 * @param {string} targetId |
| 330 * @param {!InspectorBackendClass.Connection.Params} params | 330 * @param {!InspectorBackendClass.Connection.Params} params |
| 331 */ | 331 */ |
| 332 constructor(agent, targetId, params) { | 332 constructor(agent, targetId, params) { |
| 333 this._agent = agent; | 333 this._agent = agent; |
| 334 this._targetId = targetId; | 334 this._targetId = targetId; |
| 335 this._onMessage = params.onMessage; | 335 this._onMessage = params.onMessage; |
| 336 this._onDisconnect = params.onDisconnect; | 336 this._onDisconnect = params.onDisconnect; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 349 * @return {!Promise} | 349 * @return {!Promise} |
| 350 */ | 350 */ |
| 351 disconnect() { | 351 disconnect() { |
| 352 throw new Error('Not implemented'); | 352 throw new Error('Not implemented'); |
| 353 } | 353 } |
| 354 }; | 354 }; |
| 355 | 355 |
| 356 /** | 356 /** |
| 357 * @unrestricted | 357 * @unrestricted |
| 358 */ | 358 */ |
| 359 WebInspector.TargetInfo = class { | 359 SDK.TargetInfo = class { |
| 360 /** | 360 /** |
| 361 * @param {!Protocol.Target.TargetInfo} payload | 361 * @param {!Protocol.Target.TargetInfo} payload |
| 362 */ | 362 */ |
| 363 constructor(payload) { | 363 constructor(payload) { |
| 364 this.id = payload.targetId; | 364 this.id = payload.targetId; |
| 365 this.url = payload.url; | 365 this.url = payload.url; |
| 366 this.type = payload.type; | 366 this.type = payload.type; |
| 367 this.canActivate = this.type === 'page' || this.type === 'iframe'; | 367 this.canActivate = this.type === 'page' || this.type === 'iframe'; |
| 368 if (this.type === 'node') | 368 if (this.type === 'node') |
| 369 this.title = WebInspector.UIString('Node: %s', this.url); | 369 this.title = Common.UIString('Node: %s', this.url); |
| 370 else if (this.type === 'page' || this.type === 'iframe') | 370 else if (this.type === 'page' || this.type === 'iframe') |
| 371 this.title = payload.title; | 371 this.title = payload.title; |
| 372 else | 372 else |
| 373 this.title = WebInspector.UIString('Worker: %s', this.url); | 373 this.title = Common.UIString('Worker: %s', this.url); |
| 374 } | 374 } |
| 375 }; | 375 }; |
| 376 | 376 |
| 377 /** | 377 /** |
| 378 * @unrestricted | 378 * @unrestricted |
| 379 */ | 379 */ |
| 380 WebInspector.PendingTarget = class { | 380 SDK.PendingTarget = class { |
| 381 /** | 381 /** |
| 382 * @param {string} id | 382 * @param {string} id |
| 383 * @param {string} title | 383 * @param {string} title |
| 384 * @param {boolean} canConnect | 384 * @param {boolean} canConnect |
| 385 * @param {?WebInspector.SubTargetsManager} manager | 385 * @param {?SDK.SubTargetsManager} manager |
| 386 */ | 386 */ |
| 387 constructor(id, title, canConnect, manager) { | 387 constructor(id, title, canConnect, manager) { |
| 388 this._id = id; | 388 this._id = id; |
| 389 this._title = title; | 389 this._title = title; |
| 390 this._isRemote = canConnect; | 390 this._isRemote = canConnect; |
| 391 this._manager = manager; | 391 this._manager = manager; |
| 392 /** @type {?Promise} */ | 392 /** @type {?Promise} */ |
| 393 this._connectPromise = null; | 393 this._connectPromise = null; |
| 394 /** @type {?Function} */ | 394 /** @type {?Function} */ |
| 395 this._attachedCallback = null; | 395 this._attachedCallback = null; |
| 396 } | 396 } |
| 397 | 397 |
| 398 /** | 398 /** |
| 399 * @return {string} | 399 * @return {string} |
| 400 */ | 400 */ |
| 401 id() { | 401 id() { |
| 402 return this._id; | 402 return this._id; |
| 403 } | 403 } |
| 404 | 404 |
| 405 /** | 405 /** |
| 406 * @return {?WebInspector.Target} | 406 * @return {?SDK.Target} |
| 407 */ | 407 */ |
| 408 target() { | 408 target() { |
| 409 if (!this._manager) | 409 if (!this._manager) |
| 410 return null; | 410 return null; |
| 411 return this._manager.targetForId(this.id()); | 411 return this._manager.targetForId(this.id()); |
| 412 } | 412 } |
| 413 | 413 |
| 414 /** | 414 /** |
| 415 * @return {string} | 415 * @return {string} |
| 416 */ | 416 */ |
| (...skipping 21 matching lines...) Expand all Loading... |
| 438 /** | 438 /** |
| 439 * @return {!Promise} | 439 * @return {!Promise} |
| 440 */ | 440 */ |
| 441 detach() { | 441 detach() { |
| 442 if (this._manager) | 442 if (this._manager) |
| 443 this._manager._agent.detachFromTarget(this.id()); | 443 this._manager._agent.detachFromTarget(this.id()); |
| 444 return Promise.resolve(); | 444 return Promise.resolve(); |
| 445 } | 445 } |
| 446 | 446 |
| 447 /** | 447 /** |
| 448 * @param {!WebInspector.Target} target | 448 * @param {!SDK.Target} target |
| 449 */ | 449 */ |
| 450 notifyAttached(target) | 450 notifyAttached(target) |
| 451 { | 451 { |
| 452 if (this._attachedCallback) | 452 if (this._attachedCallback) |
| 453 this._attachedCallback(target); | 453 this._attachedCallback(target); |
| 454 this._connectPromise = null; | 454 this._connectPromise = null; |
| 455 this._attachedCallback = null; | 455 this._attachedCallback = null; |
| 456 } | 456 } |
| 457 | 457 |
| 458 /** | 458 /** |
| 459 * @return {boolean} | 459 * @return {boolean} |
| 460 */ | 460 */ |
| 461 canConnect() | 461 canConnect() |
| 462 { | 462 { |
| 463 return this._isRemote; | 463 return this._isRemote; |
| 464 } | 464 } |
| 465 }; | 465 }; |
| OLD | NEW |