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