Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698