| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 The Chromium Authors. All rights reserved. | 2 * Copyright 2014 The Chromium Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * @constructor | 8 * @constructor |
| 9 * @extends {WebInspector.Object} | 9 * @extends {WebInspector.Object} |
| 10 */ | 10 */ |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 if (target.hasBrowserCapability()) { | 229 if (target.hasBrowserCapability()) { |
| 230 target.subTargetsManager = new WebInspector.SubTargetsManager(target
); | 230 target.subTargetsManager = new WebInspector.SubTargetsManager(target
); |
| 231 target.serviceWorkerManager = new WebInspector.ServiceWorkerManager(
target, target.subTargetsManager); | 231 target.serviceWorkerManager = new WebInspector.ServiceWorkerManager(
target, target.subTargetsManager); |
| 232 } | 232 } |
| 233 | 233 |
| 234 this.addTarget(target); | 234 this.addTarget(target); |
| 235 return target; | 235 return target; |
| 236 }, | 236 }, |
| 237 | 237 |
| 238 /** | 238 /** |
| 239 * @param {function()} factory |
| 240 */ |
| 241 setMainTargetFactory: function(factory) |
| 242 { |
| 243 this._mainTargetFactory = factory; |
| 244 }, |
| 245 |
| 246 /** |
| 247 * @param {function(string)} dispatch |
| 248 * @return {!Promise<!WebInspector.RawProtocolConnection>} |
| 249 */ |
| 250 interceptMainConnection: function(dispatch) |
| 251 { |
| 252 var target = WebInspector.targetManager.mainTarget(); |
| 253 if (target) |
| 254 target.connection().close(); |
| 255 |
| 256 var fulfill; |
| 257 var result = new Promise(resolve => fulfill = resolve); |
| 258 InspectorFrontendHost.reattach(() => fulfill(new WebInspector.RawProtoco
lConnection(dispatch, yieldCallback.bind(this)))); |
| 259 return result; |
| 260 |
| 261 /** |
| 262 * @this {WebInspector.TargetManager} |
| 263 */ |
| 264 function yieldCallback() |
| 265 { |
| 266 InspectorFrontendHost.reattach(this._mainTargetFactory()); |
| 267 } |
| 268 }, |
| 269 |
| 270 /** |
| 239 * @param {!WebInspector.Target} target | 271 * @param {!WebInspector.Target} target |
| 240 * @return {!Array<!WebInspector.TargetManager.Observer>} | 272 * @return {!Array<!WebInspector.TargetManager.Observer>} |
| 241 */ | 273 */ |
| 242 _observersForTarget: function(target) | 274 _observersForTarget: function(target) |
| 243 { | 275 { |
| 244 return this._observers.filter((observer) => target.hasAllCapabilities(ob
server[this._observerCapabiliesMaskSymbol] || 0)); | 276 return this._observers.filter((observer) => target.hasAllCapabilities(ob
server[this._observerCapabiliesMaskSymbol] || 0)); |
| 245 }, | 277 }, |
| 246 | 278 |
| 247 /** | 279 /** |
| 248 * @param {!WebInspector.Target} target | 280 * @param {!WebInspector.Target} target |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 { | 314 { |
| 283 return resourceTreeModel.addEventListener(sourceEvent, this._redispa
tchEvent.bind(this, targetEvent)); | 315 return resourceTreeModel.addEventListener(sourceEvent, this._redispa
tchEvent.bind(this, targetEvent)); |
| 284 } | 316 } |
| 285 }, | 317 }, |
| 286 | 318 |
| 287 /** | 319 /** |
| 288 * @param {!WebInspector.Target} target | 320 * @param {!WebInspector.Target} target |
| 289 */ | 321 */ |
| 290 removeTarget: function(target) | 322 removeTarget: function(target) |
| 291 { | 323 { |
| 324 if (!this._targets.includes(target)) |
| 325 return; |
| 292 this._targets.remove(target); | 326 this._targets.remove(target); |
| 293 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target
); | 327 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target
); |
| 294 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe
ctor.TargetManager._listenersSymbol]; | 328 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe
ctor.TargetManager._listenersSymbol]; |
| 295 if (treeModelListeners) | 329 if (treeModelListeners) |
| 296 WebInspector.EventTarget.removeEventListeners(treeModelListeners); | 330 WebInspector.EventTarget.removeEventListeners(treeModelListeners); |
| 297 | 331 |
| 298 var copy = this._observersForTarget(target); | 332 var copy = this._observersForTarget(target); |
| 299 for (var i = 0; i < copy.length; ++i) | 333 for (var i = 0; i < copy.length; ++i) |
| 300 copy[i].targetRemoved(target); | 334 copy[i].targetRemoved(target); |
| 301 | 335 |
| 302 for (var pair of this._modelListeners) { | 336 for (var pair of this._modelListeners) { |
| 303 var listeners = pair[1]; | 337 var listeners = pair[1]; |
| 304 for (var i = 0; i < listeners.length; ++i) { | 338 for (var i = 0; i < listeners.length; ++i) { |
| 305 var model = target.model(listeners[i].modelClass); | 339 var model = target.model(listeners[i].modelClass); |
| 306 if (model) | 340 if (model) |
| 307 model.removeEventListener(/** @type {symbol} */ (pair[0]), l
isteners[i].listener, listeners[i].thisObject); | 341 model.removeEventListener(/** @type {symbol} */ (pair[0]), l
isteners[i].listener, listeners[i].thisObject); |
| 308 } | 342 } |
| 309 } | 343 } |
| 310 }, | 344 }, |
| 311 | 345 |
| 312 removeAllTargets: function() | |
| 313 { | |
| 314 var targets = this._targets.slice(); | |
| 315 for (var i = targets.length - 1; i >=0 ; --i) | |
| 316 this.removeTarget(targets[i]); | |
| 317 this._targets = []; | |
| 318 }, | |
| 319 | |
| 320 /** | 346 /** |
| 321 * @param {number=} capabilitiesMask | 347 * @param {number=} capabilitiesMask |
| 322 * @return {!Array.<!WebInspector.Target>} | 348 * @return {!Array.<!WebInspector.Target>} |
| 323 */ | 349 */ |
| 324 targets: function(capabilitiesMask) | 350 targets: function(capabilitiesMask) |
| 325 { | 351 { |
| 326 if (!capabilitiesMask) | 352 if (!capabilitiesMask) |
| 327 return this._targets.slice(); | 353 return this._targets.slice(); |
| 328 else | 354 else |
| 329 return this._targets.filter((target) => target.hasAllCapabilities(ca
pabilitiesMask || 0)); | 355 return this._targets.filter((target) => target.hasAllCapabilities(ca
pabilitiesMask || 0)); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 /** | 416 /** |
| 391 * @param {!WebInspector.Target} target | 417 * @param {!WebInspector.Target} target |
| 392 */ | 418 */ |
| 393 targetRemoved: function(target) { }, | 419 targetRemoved: function(target) { }, |
| 394 } | 420 } |
| 395 | 421 |
| 396 /** | 422 /** |
| 397 * @type {!WebInspector.TargetManager} | 423 * @type {!WebInspector.TargetManager} |
| 398 */ | 424 */ |
| 399 WebInspector.targetManager = new WebInspector.TargetManager(); | 425 WebInspector.targetManager = new WebInspector.TargetManager(); |
| OLD | NEW |