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 13 matching lines...) Expand all Loading... | |
| 24 WebInspector.TargetManager.Events = { | 24 WebInspector.TargetManager.Events = { |
| 25 InspectedURLChanged: "InspectedURLChanged", | 25 InspectedURLChanged: "InspectedURLChanged", |
| 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._listenersSymbol = Symbol("WebInspector.TargetManager .Listeners"); | |
| 35 | |
| 34 WebInspector.TargetManager.prototype = { | 36 WebInspector.TargetManager.prototype = { |
| 35 suspendAllTargets: function() | 37 suspendAllTargets: function() |
| 36 { | 38 { |
| 37 if (this._isSuspended) | 39 if (this._isSuspended) |
| 38 return; | 40 return; |
| 39 this._isSuspended = true; | 41 this._isSuspended = true; |
| 40 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS tateChanged); | 42 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendS tateChanged); |
| 41 | 43 |
| 42 for (var i = 0; i < this._targets.length; ++i) { | 44 for (var i = 0; i < this._targets.length; ++i) { |
| 43 for (var model of this._targets[i].models()) | 45 for (var model of this._targets[i].models()) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 92 { | 94 { |
| 93 this.dispatchEventToListeners(event.type, event.data); | 95 this.dispatchEventToListeners(event.type, event.data); |
| 94 }, | 96 }, |
| 95 | 97 |
| 96 /** | 98 /** |
| 97 * @param {boolean=} bypassCache | 99 * @param {boolean=} bypassCache |
| 98 * @param {string=} injectedScript | 100 * @param {string=} injectedScript |
| 99 */ | 101 */ |
| 100 reloadPage: function(bypassCache, injectedScript) | 102 reloadPage: function(bypassCache, injectedScript) |
| 101 { | 103 { |
| 102 if (this._targets.length) | 104 if (!this._targets.length) |
| 103 this._targets[0].resourceTreeModel.reloadPage(bypassCache, injectedS cript); | 105 return; |
| 106 | |
| 107 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._ targets[0]); | |
| 108 if (!resourceTreeModel) | |
| 109 return; | |
| 110 | |
| 111 resourceTreeModel.reloadPage(bypassCache, injectedScript); | |
| 104 }, | 112 }, |
| 105 | 113 |
| 106 /** | 114 /** |
| 107 * @param {!Function} modelClass | 115 * @param {!Function} modelClass |
| 108 * @param {string} eventType | 116 * @param {string} eventType |
| 109 * @param {function(!WebInspector.Event)} listener | 117 * @param {function(!WebInspector.Event)} listener |
| 110 * @param {!Object=} thisObject | 118 * @param {!Object=} thisObject |
| 111 */ | 119 */ |
| 112 addModelListener: function(modelClass, eventType, listener, thisObject) | 120 addModelListener: function(modelClass, eventType, listener, thisObject) |
| 113 { | 121 { |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 179 createTarget: function(name, capabilitiesMask, connection, parentTarget) | 187 createTarget: function(name, capabilitiesMask, connection, parentTarget) |
| 180 { | 188 { |
| 181 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget); | 189 var target = new WebInspector.Target(this, name, capabilitiesMask, conne ction, parentTarget); |
| 182 | 190 |
| 183 /** @type {!WebInspector.ConsoleModel} */ | 191 /** @type {!WebInspector.ConsoleModel} */ |
| 184 target.consoleModel = new WebInspector.ConsoleModel(target); | 192 target.consoleModel = new WebInspector.ConsoleModel(target); |
| 185 /** @type {!WebInspector.RuntimeModel} */ | 193 /** @type {!WebInspector.RuntimeModel} */ |
| 186 target.runtimeModel = new WebInspector.RuntimeModel(target); | 194 target.runtimeModel = new WebInspector.RuntimeModel(target); |
| 187 | 195 |
| 188 var networkManager = null; | 196 var networkManager = null; |
| 189 if (target.hasNetworkCapability()) | 197 var resourceTreeModel = null; |
| 198 if (target.hasNetworkCapability()) { | |
|
dgozman
2016/08/20 01:32:00
style: unnecessary {}
eostroukhov-old
2016/08/22 17:55:41
Done.
| |
| 190 networkManager = new WebInspector.NetworkManager(target); | 199 networkManager = new WebInspector.NetworkManager(target); |
| 191 | 200 } |
| 192 var securityOriginManager = WebInspector.SecurityOriginManager.fromTarge t(target); | 201 if (networkManager && target.hasDOMCapability()) { |
| 193 /** @type {!WebInspector.ResourceTreeModel} */ | 202 resourceTreeModel = new WebInspector.ResourceTreeModel(target, netwo rkManager, WebInspector.SecurityOriginManager.fromTarget(target)); |
| 194 target.resourceTreeModel = new WebInspector.ResourceTreeModel(target, ne tworkManager, securityOriginManager); | 203 new WebInspector.NetworkLog(target, resourceTreeModel, networkManage r); |
| 195 | 204 } |
| 196 if (networkManager) | |
| 197 new WebInspector.NetworkLog(target, target.resourceTreeModel, networ kManager); | |
| 198 | 205 |
| 199 if (target.hasJSCapability()) | 206 if (target.hasJSCapability()) |
| 200 new WebInspector.DebuggerModel(target); | 207 new WebInspector.DebuggerModel(target); |
| 201 | 208 |
| 202 if (target.hasDOMCapability()) { | 209 if (resourceTreeModel) { |
| 203 var domModel = new WebInspector.DOMModel(target); | 210 var domModel = new WebInspector.DOMModel(target); |
| 204 new WebInspector.CSSModel(target, domModel); | 211 new WebInspector.CSSModel(target, domModel); |
| 205 } | 212 } |
| 206 | 213 |
| 207 /** @type {?WebInspector.WorkerManager} */ | 214 /** @type {?WebInspector.WorkerManager} */ |
| 208 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null; | 215 target.workerManager = target.hasWorkerCapability() ? new WebInspector.W orkerManager(target) : null; |
| 209 /** @type {!WebInspector.CPUProfilerModel} */ | 216 /** @type {!WebInspector.CPUProfilerModel} */ |
| 210 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); | 217 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); |
| 211 /** @type {!WebInspector.HeapProfilerModel} */ | 218 /** @type {!WebInspector.HeapProfilerModel} */ |
| 212 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); | 219 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 228 { | 235 { |
| 229 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); | 236 return this._observers.filter((observer) => target.hasAllCapabilities(ob server[this._observerCapabiliesMaskSymbol] || 0)); |
| 230 }, | 237 }, |
| 231 | 238 |
| 232 /** | 239 /** |
| 233 * @param {!WebInspector.Target} target | 240 * @param {!WebInspector.Target} target |
| 234 */ | 241 */ |
| 235 addTarget: function(target) | 242 addTarget: function(target) |
| 236 { | 243 { |
| 237 this._targets.push(target); | 244 this._targets.push(target); |
| 238 if (this._targets.length === 1) { | 245 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target ); |
| 239 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); | 246 if (this._targets.length === 1 && resourceTreeModel) { |
| 240 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.Load, this._redispatchEvent, this); | 247 resourceTreeModel[WebInspector.TargetManager._listenersSymbol] = [ |
| 241 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.PageReloadRequested, this._redispatchEvent, this); | 248 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.MainFrameNavigated, this._redispatchEvent, this), |
| 242 target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeM odel.EventTypes.WillReloadPage, this._redispatchEvent, this); | 249 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.Load, this._redispatchEvent, this), |
| 250 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.PageReloadRequested, this._redispatchEvent, this), | |
| 251 resourceTreeModel.addEventListener(WebInspector.ResourceTreeMode l.EventTypes.WillReloadPage, this._redispatchEvent, this) | |
| 252 ]; | |
| 243 } | 253 } |
| 244 var copy = this._observersForTarget(target); | 254 var copy = this._observersForTarget(target); |
| 245 for (var i = 0; i < copy.length; ++i) | 255 for (var i = 0; i < copy.length; ++i) |
| 246 copy[i].targetAdded(target); | 256 copy[i].targetAdded(target); |
| 247 | 257 |
| 248 for (var eventType in this._modelListeners) { | 258 for (var eventType in this._modelListeners) { |
| 249 var listeners = this._modelListeners[eventType]; | 259 var listeners = this._modelListeners[eventType]; |
| 250 for (var i = 0; i < listeners.length; ++i) { | 260 for (var i = 0; i < listeners.length; ++i) { |
| 251 var model = target.model(listeners[i].modelClass); | 261 var model = target.model(listeners[i].modelClass); |
| 252 if (model) | 262 if (model) |
| 253 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); | 263 model.addEventListener(eventType, listeners[i].listener, lis teners[i].thisObject); |
| 254 } | 264 } |
| 255 } | 265 } |
| 256 }, | 266 }, |
| 257 | 267 |
| 258 /** | 268 /** |
| 259 * @param {!WebInspector.Target} target | 269 * @param {!WebInspector.Target} target |
| 260 */ | 270 */ |
| 261 removeTarget: function(target) | 271 removeTarget: function(target) |
| 262 { | 272 { |
| 263 this._targets.remove(target); | 273 this._targets.remove(target); |
| 264 if (this._targets.length === 0) { | 274 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target ); |
| 265 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.MainFrameNavigated, this._redispatchEvent, this); | 275 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspe ctor.TargetManager._listenersSymbol]; |
| 266 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.Load, this._redispatchEvent, this); | 276 if (treeModelListeners) |
| 267 target.resourceTreeModel.removeEventListener(WebInspector.ResourceTr eeModel.EventTypes.WillReloadPage, this._redispatchEvent, this); | 277 WebInspector.EventTarget.removeEventListeners(treeModelListeners); |
| 268 } | 278 |
| 269 var copy = this._observersForTarget(target); | 279 var copy = this._observersForTarget(target); |
| 270 for (var i = 0; i < copy.length; ++i) | 280 for (var i = 0; i < copy.length; ++i) |
| 271 copy[i].targetRemoved(target); | 281 copy[i].targetRemoved(target); |
| 272 | 282 |
| 273 for (var eventType in this._modelListeners) { | 283 for (var eventType in this._modelListeners) { |
| 274 var listeners = this._modelListeners[eventType]; | 284 var listeners = this._modelListeners[eventType]; |
| 275 for (var i = 0; i < listeners.length; ++i) { | 285 for (var i = 0; i < listeners.length; ++i) { |
| 276 var model = target.model(listeners[i].modelClass); | 286 var model = target.model(listeners[i].modelClass); |
| 277 if (model) | 287 if (model) |
| 278 model.removeEventListener(eventType, listeners[i].listener, listeners[i].thisObject); | 288 model.removeEventListener(eventType, listeners[i].listener, listeners[i].thisObject); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 353 /** | 363 /** |
| 354 * @param {!WebInspector.Target} target | 364 * @param {!WebInspector.Target} target |
| 355 */ | 365 */ |
| 356 targetRemoved: function(target) { }, | 366 targetRemoved: function(target) { }, |
| 357 } | 367 } |
| 358 | 368 |
| 359 /** | 369 /** |
| 360 * @type {!WebInspector.TargetManager} | 370 * @type {!WebInspector.TargetManager} |
| 361 */ | 371 */ |
| 362 WebInspector.targetManager = new WebInspector.TargetManager(); | 372 WebInspector.targetManager = new WebInspector.TargetManager(); |
| OLD | NEW |