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 */ |
| 11 WebInspector.TargetManager = function() | 11 WebInspector.TargetManager = function() |
| 12 { | 12 { |
| 13 WebInspector.Object.call(this); | 13 WebInspector.Object.call(this); |
| 14 /** @type {!Array.<!WebInspector.Target>} */ | 14 /** @type {!Array.<!WebInspector.Target>} */ |
| 15 this._targets = []; | 15 this._targets = []; |
| 16 /** @type {!Array.<!WebInspector.TargetManager.Observer>} */ | 16 /** @type {!Array.<!WebInspector.TargetManager.Observer>} */ |
| 17 this._observers = []; | 17 this._observers = []; |
| 18 this._observerCapabiliesMaskSymbol = Symbol("observerCapabilitiesMask"); | 18 this._observerCapabiliesMaskSymbol = Symbol("observerCapabilitiesMask"); |
| 19 /** @type {!Object.<string, !Array.<{modelClass: !Function, thisObject: (!Ob ject|undefined), listener: function(!WebInspector.Event)}>>} */ | 19 /** @type {!Object.<string, !Array.<{modelClass: !Function, thisObject: (!Ob ject|undefined), listener: function(!WebInspector.Event)}>>} */ |
| 20 this._modelListeners = {}; | 20 this._modelListeners = {}; |
| 21 this._isSuspended = false; | 21 this._isSuspended = false; |
| 22 } | 22 } |
| 23 | 23 |
| 24 WebInspector.TargetManager.Events = { | 24 WebInspector.TargetManager.Events = { |
| 25 InspectedURLChanged: "InspectedURLChanged", | 25 InspectedURLChanged: "InspectedURLChanged", |
|
dgozman
2016/07/27 17:26:06
You stopped sending this event. Remove it? Did all
eostroukhov-old
2016/07/27 17:46:59
This event is still sent out by a setter in the ta
| |
| 26 MainFrameNavigated: "MainFrameNavigated", | 26 MainFrameNavigated: "MainFrameNavigated", |
| 27 Load: "Load", | 27 Load: "Load", |
| 28 PageReloadRequested: "PageReloadRequested", | 28 PageReloadRequested: "PageReloadRequested", |
| 29 WillReloadPage: "WillReloadPage", | 29 WillReloadPage: "WillReloadPage", |
| 30 TargetDisposed: "TargetDisposed", | 30 TargetDisposed: "TargetDisposed", |
| 31 SuspendStateChanged: "SuspendStateChanged" | 31 SuspendStateChanged: "SuspendStateChanged" |
| 32 } | 32 } |
| 33 | 33 |
| 34 WebInspector.TargetManager.prototype = { | 34 WebInspector.TargetManager.prototype = { |
| 35 suspendAllTargets: function() | 35 suspendAllTargets: function() |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 78 }, | 78 }, |
| 79 | 79 |
| 80 /** | 80 /** |
| 81 * @return {string} | 81 * @return {string} |
| 82 */ | 82 */ |
| 83 inspectedPageURL: function() | 83 inspectedPageURL: function() |
| 84 { | 84 { |
| 85 if (!this._targets.length) | 85 if (!this._targets.length) |
| 86 return ""; | 86 return ""; |
| 87 | 87 |
| 88 return this._targets[0].resourceTreeModel.inspectedPageURL(); | 88 return this._targets[0].inspectedURL(); |
| 89 }, | 89 }, |
| 90 | 90 |
| 91 /** | 91 /** |
| 92 * @return {string} | 92 * @return {string} |
| 93 */ | 93 */ |
| 94 inspectedPageDomain: function() | 94 inspectedPageDomain: function() |
| 95 { | 95 { |
| 96 if (!this._targets.length) | 96 if (!this._targets.length) |
| 97 return ""; | 97 return ""; |
| 98 | 98 |
| 99 return this._targets[0].resourceTreeModel.inspectedPageDomain(); | 99 return this._targets[0].inspectedDomain(); |
| 100 }, | 100 }, |
| 101 | 101 |
| 102 /** | 102 /** |
| 103 * @param {!WebInspector.Event} event | 103 * @param {!WebInspector.Event} event |
| 104 */ | 104 */ |
| 105 _redispatchEvent: function(event) | 105 _redispatchEvent: function(event) |
| 106 { | 106 { |
| 107 this.dispatchEventToListeners(event.type, event.data); | 107 this.dispatchEventToListeners(event.type, event.data); |
| 108 }, | 108 }, |
| 109 | 109 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 243 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); | 243 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); |
| 244 }, | 244 }, |
| 245 | 245 |
| 246 /** | 246 /** |
| 247 * @param {!WebInspector.Target} target | 247 * @param {!WebInspector.Target} target |
| 248 */ | 248 */ |
| 249 addTarget: function(target) | 249 addTarget: function(target) |
| 250 { | 250 { |
| 251 this._targets.push(target); | 251 this._targets.push(target); |
| 252 if (this._targets.length === 1) { | 252 if (this._targets.length === 1) { |
| 253 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); | |
| 254 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); | 253 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); |
| 255 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); | 254 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); |
| 256 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); | 255 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); |
| 257 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); | 256 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); |
| 258 } | 257 } |
| 259 var copy = this._observersForTarget(target); | 258 var copy = this._observersForTarget(target); |
| 260 for (var i = 0; i < copy.length; ++i) | 259 for (var i = 0; i < copy.length; ++i) |
| 261 copy[i].targetAdded(target); | 260 copy[i].targetAdded(target); |
| 262 | 261 |
| 263 for (var eventType in this._modelListeners) { | 262 for (var eventType in this._modelListeners) { |
| 264 var listeners = this._modelListeners[eventType]; | 263 var listeners = this._modelListeners[eventType]; |
| 265 for (var i = 0; i < listeners.length; ++i) { | 264 for (var i = 0; i < listeners.length; ++i) { |
| 266 var model = target.model(listeners[i].modelClass); | 265 var model = target.model(listeners[i].modelClass); |
| 267 if (model) | 266 if (model) |
| 268 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); | 267 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); |
| 269 } | 268 } |
| 270 } | 269 } |
| 271 }, | 270 }, |
| 272 | 271 |
| 273 /** | 272 /** |
| 274 * @param {!WebInspector.Target} target | 273 * @param {!WebInspector.Target} target |
| 275 */ | 274 */ |
| 276 removeTarget: function(target) | 275 removeTarget: function(target) |
| 277 { | 276 { |
| 278 this._targets.remove(target); | 277 this._targets.remove(target); |
| 279 if (this._targets.length === 0) { | 278 if (this._targets.length === 0) { |
| 280 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.InspectedURLChanged, this._redispatchEvent, this); | |
| 281 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); | 279 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); |
| 282 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); | 280 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); |
| 283 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); | 281 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); |
| 284 } | 282 } |
| 285 var copy = this._observersForTarget(target); | 283 var copy = this._observersForTarget(target); |
| 286 for (var i = 0; i < copy.length; ++i) | 284 for (var i = 0; i < copy.length; ++i) |
| 287 copy[i].targetRemoved(target); | 285 copy[i].targetRemoved(target); |
| 288 | 286 |
| 289 for (var eventType in this._modelListeners) { | 287 for (var eventType in this._modelListeners) { |
| 290 var listeners = this._modelListeners[eventType]; | 288 var listeners = this._modelListeners[eventType]; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 349 /** | 347 /** |
| 350 * @param {!WebInspector.Target} target | 348 * @param {!WebInspector.Target} target |
| 351 */ | 349 */ |
| 352 targetRemoved: function(target) { }, | 350 targetRemoved: function(target) { }, |
| 353 } | 351 } |
| 354 | 352 |
| 355 /** | 353 /** |
| 356 * @type {!WebInspector.TargetManager} | 354 * @type {!WebInspector.TargetManager} |
| 357 */ | 355 */ |
| 358 WebInspector.targetManager = new WebInspector.TargetManager(); | 356 WebInspector.targetManager = new WebInspector.TargetManager(); |
| OLD | NEW |