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) | |
|
dgozman
2016/10/15 00:26:26
Let's rework TargetDisposed event.
| |
| 250 { | |
| 251 var targets = this._targets.slice(); | |
| 252 for (var i = targets.length - 1; i >=0 ; --i) | |
| 253 targets[i].connection().close(); | |
| 254 | |
| 255 var yeld = InspectorFrontendHost.reattach.bind(InspectorFrontendHost, th is._mainTargetFactory); | |
|
dgozman
2016/10/15 00:26:26
yield
| |
| 256 | |
| 257 var fulfill; | |
| 258 var result = new Promise(resolve => fulfill = resolve); | |
| 259 InspectorFrontendHost.reattach(() => fulfill(new WebInspector.RawProtoco lConnection(dispatch, yeld))); | |
| 260 return result; | |
| 261 }, | |
| 262 | |
| 263 /** | |
| 238 * @param {!WebInspector.Target} target | 264 * @param {!WebInspector.Target} target |
| 239 * @return {!Array<!WebInspector.TargetManager.Observer>} | 265 * @return {!Array<!WebInspector.TargetManager.Observer>} |
| 240 */ | 266 */ |
| 241 _observersForTarget: function(target) | 267 _observersForTarget: function(target) |
| 242 { | 268 { |
| 243 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); | 269 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); |
| 244 }, | 270 }, |
| 245 | 271 |
| 246 /** | 272 /** |
| 247 * @param {!WebInspector.Target} target | 273 * @param {!WebInspector.Target} target |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 281 { | 307 { |
| 282 return resourceTreeModel.addEventListener(sourceEvent, this._redispa tchEvent.bind(this, targetEvent)); | 308 return resourceTreeModel.addEventListener(sourceEvent, this._redispa tchEvent.bind(this, targetEvent)); |
| 283 } | 309 } |
| 284 }, | 310 }, |
| 285 | 311 |
| 286 /** | 312 /** |
| 287 * @param {!WebInspector.Target} target | 313 * @param {!WebInspector.Target} target |
| 288 */ | 314 */ |
| 289 removeTarget: function(target) | 315 removeTarget: function(target) |
| 290 { | 316 { |
| 317 if (!this._targets.includes(target)) | |
|
dgozman
2016/10/15 00:26:26
Let's try to only remove main.
| |
| 318 return; | |
| 291 this._targets.remove(target); | 319 this._targets.remove(target); |
| 292 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target ); | 320 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target ); |
| 293 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe ctor.TargetManager._listenersSymbol]; | 321 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe ctor.TargetManager._listenersSymbol]; |
| 294 if (treeModelListeners) | 322 if (treeModelListeners) |
| 295 WebInspector.EventTarget.removeEventListeners(treeModelListeners); | 323 WebInspector.EventTarget.removeEventListeners(treeModelListeners); |
| 296 | 324 |
| 297 var copy = this._observersForTarget(target); | 325 var copy = this._observersForTarget(target); |
| 298 for (var i = 0; i < copy.length; ++i) | 326 for (var i = 0; i < copy.length; ++i) |
| 299 copy[i].targetRemoved(target); | 327 copy[i].targetRemoved(target); |
| 300 | 328 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 389 /** | 417 /** |
| 390 * @param {!WebInspector.Target} target | 418 * @param {!WebInspector.Target} target |
| 391 */ | 419 */ |
| 392 targetRemoved: function(target) { }, | 420 targetRemoved: function(target) { }, |
| 393 } | 421 } |
| 394 | 422 |
| 395 /** | 423 /** |
| 396 * @type {!WebInspector.TargetManager} | 424 * @type {!WebInspector.TargetManager} |
| 397 */ | 425 */ |
| 398 WebInspector.targetManager = new WebInspector.TargetManager(); | 426 WebInspector.targetManager = new WebInspector.TargetManager(); |
| OLD | NEW |