| 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 * @unrestricted | 8 * @unrestricted |
| 9 */ | 9 */ |
| 10 WebInspector.TargetManager = class extends WebInspector.Object { | 10 SDK.TargetManager = class extends Common.Object { |
| 11 constructor() { | 11 constructor() { |
| 12 super(); | 12 super(); |
| 13 /** @type {!Array.<!WebInspector.Target>} */ | 13 /** @type {!Array.<!SDK.Target>} */ |
| 14 this._targets = []; | 14 this._targets = []; |
| 15 /** @type {!Array.<!WebInspector.TargetManager.Observer>} */ | 15 /** @type {!Array.<!SDK.TargetManager.Observer>} */ |
| 16 this._observers = []; | 16 this._observers = []; |
| 17 this._observerCapabiliesMaskSymbol = Symbol('observerCapabilitiesMask'); | 17 this._observerCapabiliesMaskSymbol = Symbol('observerCapabilitiesMask'); |
| 18 /** @type {!Map<symbol, !Array<{modelClass: !Function, thisObject: (!Object|
undefined), listener: function(!WebInspector.Event)}>>} */ | 18 /** @type {!Map<symbol, !Array<{modelClass: !Function, thisObject: (!Object|
undefined), listener: function(!Common.Event)}>>} */ |
| 19 this._modelListeners = new Map(); | 19 this._modelListeners = new Map(); |
| 20 this._isSuspended = false; | 20 this._isSuspended = false; |
| 21 } | 21 } |
| 22 | 22 |
| 23 suspendAllTargets() { | 23 suspendAllTargets() { |
| 24 if (this._isSuspended) | 24 if (this._isSuspended) |
| 25 return; | 25 return; |
| 26 this._isSuspended = true; | 26 this._isSuspended = true; |
| 27 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendState
Changed); | 27 this.dispatchEventToListeners(SDK.TargetManager.Events.SuspendStateChanged); |
| 28 | 28 |
| 29 for (var i = 0; i < this._targets.length; ++i) { | 29 for (var i = 0; i < this._targets.length; ++i) { |
| 30 for (var model of this._targets[i].models()) | 30 for (var model of this._targets[i].models()) |
| 31 model.suspendModel(); | 31 model.suspendModel(); |
| 32 } | 32 } |
| 33 } | 33 } |
| 34 | 34 |
| 35 /** | 35 /** |
| 36 * @return {!Promise} | 36 * @return {!Promise} |
| 37 */ | 37 */ |
| 38 resumeAllTargets() { | 38 resumeAllTargets() { |
| 39 if (!this._isSuspended) | 39 if (!this._isSuspended) |
| 40 throw new Error('Not suspended'); | 40 throw new Error('Not suspended'); |
| 41 this._isSuspended = false; | 41 this._isSuspended = false; |
| 42 this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendState
Changed); | 42 this.dispatchEventToListeners(SDK.TargetManager.Events.SuspendStateChanged); |
| 43 | 43 |
| 44 var promises = []; | 44 var promises = []; |
| 45 for (var i = 0; i < this._targets.length; ++i) { | 45 for (var i = 0; i < this._targets.length; ++i) { |
| 46 for (var model of this._targets[i].models()) | 46 for (var model of this._targets[i].models()) |
| 47 promises.push(model.resumeModel()); | 47 promises.push(model.resumeModel()); |
| 48 } | 48 } |
| 49 return Promise.all(promises); | 49 return Promise.all(promises); |
| 50 } | 50 } |
| 51 | 51 |
| 52 suspendAndResumeAllTargets() { | 52 suspendAndResumeAllTargets() { |
| 53 this.suspendAllTargets(); | 53 this.suspendAllTargets(); |
| 54 this.resumeAllTargets(); | 54 this.resumeAllTargets(); |
| 55 } | 55 } |
| 56 | 56 |
| 57 /** | 57 /** |
| 58 * @return {boolean} | 58 * @return {boolean} |
| 59 */ | 59 */ |
| 60 allTargetsSuspended() { | 60 allTargetsSuspended() { |
| 61 return this._isSuspended; | 61 return this._isSuspended; |
| 62 } | 62 } |
| 63 | 63 |
| 64 /** | 64 /** |
| 65 * @return {string} | 65 * @return {string} |
| 66 */ | 66 */ |
| 67 inspectedURL() { | 67 inspectedURL() { |
| 68 return this._targets[0] ? this._targets[0].inspectedURL() : ''; | 68 return this._targets[0] ? this._targets[0].inspectedURL() : ''; |
| 69 } | 69 } |
| 70 | 70 |
| 71 /** | 71 /** |
| 72 * @param {!WebInspector.TargetManager.Events} eventName | 72 * @param {!SDK.TargetManager.Events} eventName |
| 73 * @param {!WebInspector.Event} event | 73 * @param {!Common.Event} event |
| 74 */ | 74 */ |
| 75 _redispatchEvent(eventName, event) { | 75 _redispatchEvent(eventName, event) { |
| 76 this.dispatchEventToListeners(eventName, event.data); | 76 this.dispatchEventToListeners(eventName, event.data); |
| 77 } | 77 } |
| 78 | 78 |
| 79 /** | 79 /** |
| 80 * @param {boolean=} bypassCache | 80 * @param {boolean=} bypassCache |
| 81 * @param {string=} injectedScript | 81 * @param {string=} injectedScript |
| 82 */ | 82 */ |
| 83 reloadPage(bypassCache, injectedScript) { | 83 reloadPage(bypassCache, injectedScript) { |
| 84 if (!this._targets.length) | 84 if (!this._targets.length) |
| 85 return; | 85 return; |
| 86 | 86 |
| 87 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._targ
ets[0]); | 87 var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(this._targets[0]); |
| 88 if (!resourceTreeModel) | 88 if (!resourceTreeModel) |
| 89 return; | 89 return; |
| 90 | 90 |
| 91 resourceTreeModel.reloadPage(bypassCache, injectedScript); | 91 resourceTreeModel.reloadPage(bypassCache, injectedScript); |
| 92 } | 92 } |
| 93 | 93 |
| 94 /** | 94 /** |
| 95 * @param {!Function} modelClass | 95 * @param {!Function} modelClass |
| 96 * @param {symbol} eventType | 96 * @param {symbol} eventType |
| 97 * @param {function(!WebInspector.Event)} listener | 97 * @param {function(!Common.Event)} listener |
| 98 * @param {!Object=} thisObject | 98 * @param {!Object=} thisObject |
| 99 */ | 99 */ |
| 100 addModelListener(modelClass, eventType, listener, thisObject) { | 100 addModelListener(modelClass, eventType, listener, thisObject) { |
| 101 for (var i = 0; i < this._targets.length; ++i) { | 101 for (var i = 0; i < this._targets.length; ++i) { |
| 102 var model = this._targets[i].model(modelClass); | 102 var model = this._targets[i].model(modelClass); |
| 103 if (model) | 103 if (model) |
| 104 model.addEventListener(eventType, listener, thisObject); | 104 model.addEventListener(eventType, listener, thisObject); |
| 105 } | 105 } |
| 106 if (!this._modelListeners.has(eventType)) | 106 if (!this._modelListeners.has(eventType)) |
| 107 this._modelListeners.set(eventType, []); | 107 this._modelListeners.set(eventType, []); |
| 108 this._modelListeners.get(eventType).push({modelClass: modelClass, thisObject
: thisObject, listener: listener}); | 108 this._modelListeners.get(eventType).push({modelClass: modelClass, thisObject
: thisObject, listener: listener}); |
| 109 } | 109 } |
| 110 | 110 |
| 111 /** | 111 /** |
| 112 * @param {!Function} modelClass | 112 * @param {!Function} modelClass |
| 113 * @param {symbol} eventType | 113 * @param {symbol} eventType |
| 114 * @param {function(!WebInspector.Event)} listener | 114 * @param {function(!Common.Event)} listener |
| 115 * @param {!Object=} thisObject | 115 * @param {!Object=} thisObject |
| 116 */ | 116 */ |
| 117 removeModelListener(modelClass, eventType, listener, thisObject) { | 117 removeModelListener(modelClass, eventType, listener, thisObject) { |
| 118 if (!this._modelListeners.has(eventType)) | 118 if (!this._modelListeners.has(eventType)) |
| 119 return; | 119 return; |
| 120 | 120 |
| 121 for (var i = 0; i < this._targets.length; ++i) { | 121 for (var i = 0; i < this._targets.length; ++i) { |
| 122 var model = this._targets[i].model(modelClass); | 122 var model = this._targets[i].model(modelClass); |
| 123 if (model) | 123 if (model) |
| 124 model.removeEventListener(eventType, listener, thisObject); | 124 model.removeEventListener(eventType, listener, thisObject); |
| 125 } | 125 } |
| 126 | 126 |
| 127 var listeners = this._modelListeners.get(eventType); | 127 var listeners = this._modelListeners.get(eventType); |
| 128 for (var i = 0; i < listeners.length; ++i) { | 128 for (var i = 0; i < listeners.length; ++i) { |
| 129 if (listeners[i].modelClass === modelClass && listeners[i].listener === li
stener && | 129 if (listeners[i].modelClass === modelClass && listeners[i].listener === li
stener && |
| 130 listeners[i].thisObject === thisObject) | 130 listeners[i].thisObject === thisObject) |
| 131 listeners.splice(i--, 1); | 131 listeners.splice(i--, 1); |
| 132 } | 132 } |
| 133 if (!listeners.length) | 133 if (!listeners.length) |
| 134 this._modelListeners.delete(eventType); | 134 this._modelListeners.delete(eventType); |
| 135 } | 135 } |
| 136 | 136 |
| 137 /** | 137 /** |
| 138 * @param {!WebInspector.TargetManager.Observer} targetObserver | 138 * @param {!SDK.TargetManager.Observer} targetObserver |
| 139 * @param {number=} capabilitiesMask | 139 * @param {number=} capabilitiesMask |
| 140 */ | 140 */ |
| 141 observeTargets(targetObserver, capabilitiesMask) { | 141 observeTargets(targetObserver, capabilitiesMask) { |
| 142 if (this._observerCapabiliesMaskSymbol in targetObserver) | 142 if (this._observerCapabiliesMaskSymbol in targetObserver) |
| 143 throw new Error('Observer can only be registered once'); | 143 throw new Error('Observer can only be registered once'); |
| 144 targetObserver[this._observerCapabiliesMaskSymbol] = capabilitiesMask || 0; | 144 targetObserver[this._observerCapabiliesMaskSymbol] = capabilitiesMask || 0; |
| 145 this.targets(capabilitiesMask).forEach(targetObserver.targetAdded.bind(targe
tObserver)); | 145 this.targets(capabilitiesMask).forEach(targetObserver.targetAdded.bind(targe
tObserver)); |
| 146 this._observers.push(targetObserver); | 146 this._observers.push(targetObserver); |
| 147 } | 147 } |
| 148 | 148 |
| 149 /** | 149 /** |
| 150 * @param {!WebInspector.TargetManager.Observer} targetObserver | 150 * @param {!SDK.TargetManager.Observer} targetObserver |
| 151 */ | 151 */ |
| 152 unobserveTargets(targetObserver) { | 152 unobserveTargets(targetObserver) { |
| 153 delete targetObserver[this._observerCapabiliesMaskSymbol]; | 153 delete targetObserver[this._observerCapabiliesMaskSymbol]; |
| 154 this._observers.remove(targetObserver); | 154 this._observers.remove(targetObserver); |
| 155 } | 155 } |
| 156 | 156 |
| 157 /** | 157 /** |
| 158 * @param {string} name | 158 * @param {string} name |
| 159 * @param {number} capabilitiesMask | 159 * @param {number} capabilitiesMask |
| 160 * @param {!InspectorBackendClass.Connection.Factory} connectionFactory | 160 * @param {!InspectorBackendClass.Connection.Factory} connectionFactory |
| 161 * @param {?WebInspector.Target} parentTarget | 161 * @param {?SDK.Target} parentTarget |
| 162 * @return {!WebInspector.Target} | 162 * @return {!SDK.Target} |
| 163 */ | 163 */ |
| 164 createTarget(name, capabilitiesMask, connectionFactory, parentTarget) { | 164 createTarget(name, capabilitiesMask, connectionFactory, parentTarget) { |
| 165 var target = new WebInspector.Target(this, name, capabilitiesMask, connectio
nFactory, parentTarget); | 165 var target = new SDK.Target(this, name, capabilitiesMask, connectionFactory,
parentTarget); |
| 166 | 166 |
| 167 var logAgent = target.hasLogCapability() ? target.logAgent() : null; | 167 var logAgent = target.hasLogCapability() ? target.logAgent() : null; |
| 168 | 168 |
| 169 /** @type {!WebInspector.ConsoleModel} */ | 169 /** @type {!SDK.ConsoleModel} */ |
| 170 target.consoleModel = new WebInspector.ConsoleModel(target, logAgent); | 170 target.consoleModel = new SDK.ConsoleModel(target, logAgent); |
| 171 | 171 |
| 172 var networkManager = null; | 172 var networkManager = null; |
| 173 var resourceTreeModel = null; | 173 var resourceTreeModel = null; |
| 174 if (target.hasNetworkCapability()) | 174 if (target.hasNetworkCapability()) |
| 175 networkManager = new WebInspector.NetworkManager(target); | 175 networkManager = new SDK.NetworkManager(target); |
| 176 if (networkManager && target.hasDOMCapability()) { | 176 if (networkManager && target.hasDOMCapability()) { |
| 177 resourceTreeModel = new WebInspector.ResourceTreeModel( | 177 resourceTreeModel = new SDK.ResourceTreeModel( |
| 178 target, networkManager, WebInspector.SecurityOriginManager.fromTarget(
target)); | 178 target, networkManager, SDK.SecurityOriginManager.fromTarget(target)); |
| 179 new WebInspector.NetworkLog(target, resourceTreeModel, networkManager); | 179 new SDK.NetworkLog(target, resourceTreeModel, networkManager); |
| 180 } | 180 } |
| 181 | 181 |
| 182 /** @type {!WebInspector.RuntimeModel} */ | 182 /** @type {!SDK.RuntimeModel} */ |
| 183 target.runtimeModel = new WebInspector.RuntimeModel(target); | 183 target.runtimeModel = new SDK.RuntimeModel(target); |
| 184 | 184 |
| 185 if (target.hasJSCapability()) | 185 if (target.hasJSCapability()) |
| 186 new WebInspector.DebuggerModel(target); | 186 new SDK.DebuggerModel(target); |
| 187 | 187 |
| 188 if (resourceTreeModel) { | 188 if (resourceTreeModel) { |
| 189 var domModel = new WebInspector.DOMModel(target); | 189 var domModel = new SDK.DOMModel(target); |
| 190 // TODO(eostroukhov) CSSModel should not depend on RTM | 190 // TODO(eostroukhov) CSSModel should not depend on RTM |
| 191 new WebInspector.CSSModel(target, domModel); | 191 new SDK.CSSModel(target, domModel); |
| 192 } | 192 } |
| 193 | 193 |
| 194 /** @type {?WebInspector.SubTargetsManager} */ | 194 /** @type {?SDK.SubTargetsManager} */ |
| 195 target.subTargetsManager = target.hasTargetCapability() ? new WebInspector.S
ubTargetsManager(target) : null; | 195 target.subTargetsManager = target.hasTargetCapability() ? new SDK.SubTargets
Manager(target) : null; |
| 196 /** @type {!WebInspector.CPUProfilerModel} */ | 196 /** @type {!SDK.CPUProfilerModel} */ |
| 197 target.cpuProfilerModel = new WebInspector.CPUProfilerModel(target); | 197 target.cpuProfilerModel = new SDK.CPUProfilerModel(target); |
| 198 /** @type {!WebInspector.HeapProfilerModel} */ | 198 /** @type {!SDK.HeapProfilerModel} */ |
| 199 target.heapProfilerModel = new WebInspector.HeapProfilerModel(target); | 199 target.heapProfilerModel = new SDK.HeapProfilerModel(target); |
| 200 | 200 |
| 201 target.tracingManager = new WebInspector.TracingManager(target); | 201 target.tracingManager = new SDK.TracingManager(target); |
| 202 | 202 |
| 203 if (target.subTargetsManager && target.hasBrowserCapability()) | 203 if (target.subTargetsManager && target.hasBrowserCapability()) |
| 204 target.serviceWorkerManager = new WebInspector.ServiceWorkerManager(target
, target.subTargetsManager); | 204 target.serviceWorkerManager = new SDK.ServiceWorkerManager(target, target.
subTargetsManager); |
| 205 | 205 |
| 206 this.addTarget(target); | 206 this.addTarget(target); |
| 207 return target; | 207 return target; |
| 208 } | 208 } |
| 209 | 209 |
| 210 /** | 210 /** |
| 211 * @param {!WebInspector.Target} target | 211 * @param {!SDK.Target} target |
| 212 * @return {!Array<!WebInspector.TargetManager.Observer>} | 212 * @return {!Array<!SDK.TargetManager.Observer>} |
| 213 */ | 213 */ |
| 214 _observersForTarget(target) { | 214 _observersForTarget(target) { |
| 215 return this._observers.filter( | 215 return this._observers.filter( |
| 216 (observer) => target.hasAllCapabilities(observer[this._observerCapabilie
sMaskSymbol] || 0)); | 216 (observer) => target.hasAllCapabilities(observer[this._observerCapabilie
sMaskSymbol] || 0)); |
| 217 } | 217 } |
| 218 | 218 |
| 219 /** | 219 /** |
| 220 * @param {!WebInspector.Target} target | 220 * @param {!SDK.Target} target |
| 221 */ | 221 */ |
| 222 addTarget(target) { | 222 addTarget(target) { |
| 223 this._targets.push(target); | 223 this._targets.push(target); |
| 224 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target); | 224 var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(target); |
| 225 if (this._targets.length === 1 && resourceTreeModel) { | 225 if (this._targets.length === 1 && resourceTreeModel) { |
| 226 resourceTreeModel[WebInspector.TargetManager._listenersSymbol] = [ | 226 resourceTreeModel[SDK.TargetManager._listenersSymbol] = [ |
| 227 setupRedispatch.call( | 227 setupRedispatch.call( |
| 228 this, WebInspector.ResourceTreeModel.Events.MainFrameNavigated, | 228 this, SDK.ResourceTreeModel.Events.MainFrameNavigated, |
| 229 WebInspector.TargetManager.Events.MainFrameNavigated), | 229 SDK.TargetManager.Events.MainFrameNavigated), |
| 230 setupRedispatch.call(this, WebInspector.ResourceTreeModel.Events.Load, W
ebInspector.TargetManager.Events.Load), | 230 setupRedispatch.call(this, SDK.ResourceTreeModel.Events.Load, SDK.Target
Manager.Events.Load), |
| 231 setupRedispatch.call( | 231 setupRedispatch.call( |
| 232 this, WebInspector.ResourceTreeModel.Events.PageReloadRequested, | 232 this, SDK.ResourceTreeModel.Events.PageReloadRequested, |
| 233 WebInspector.TargetManager.Events.PageReloadRequested), | 233 SDK.TargetManager.Events.PageReloadRequested), |
| 234 setupRedispatch.call( | 234 setupRedispatch.call( |
| 235 this, WebInspector.ResourceTreeModel.Events.WillReloadPage, | 235 this, SDK.ResourceTreeModel.Events.WillReloadPage, |
| 236 WebInspector.TargetManager.Events.WillReloadPage) | 236 SDK.TargetManager.Events.WillReloadPage) |
| 237 ]; | 237 ]; |
| 238 } | 238 } |
| 239 var copy = this._observersForTarget(target); | 239 var copy = this._observersForTarget(target); |
| 240 for (var i = 0; i < copy.length; ++i) | 240 for (var i = 0; i < copy.length; ++i) |
| 241 copy[i].targetAdded(target); | 241 copy[i].targetAdded(target); |
| 242 | 242 |
| 243 for (var pair of this._modelListeners) { | 243 for (var pair of this._modelListeners) { |
| 244 var listeners = pair[1]; | 244 var listeners = pair[1]; |
| 245 for (var i = 0; i < listeners.length; ++i) { | 245 for (var i = 0; i < listeners.length; ++i) { |
| 246 var model = target.model(listeners[i].modelClass); | 246 var model = target.model(listeners[i].modelClass); |
| 247 if (model) | 247 if (model) |
| 248 model.addEventListener(/** @type {symbol} */ (pair[0]), listeners[i].l
istener, listeners[i].thisObject); | 248 model.addEventListener(/** @type {symbol} */ (pair[0]), listeners[i].l
istener, listeners[i].thisObject); |
| 249 } | 249 } |
| 250 } | 250 } |
| 251 | 251 |
| 252 /** | 252 /** |
| 253 * @param {!WebInspector.ResourceTreeModel.Events} sourceEvent | 253 * @param {!SDK.ResourceTreeModel.Events} sourceEvent |
| 254 * @param {!WebInspector.TargetManager.Events} targetEvent | 254 * @param {!SDK.TargetManager.Events} targetEvent |
| 255 * @return {!WebInspector.EventTarget.EventDescriptor} | 255 * @return {!Common.EventTarget.EventDescriptor} |
| 256 * @this {WebInspector.TargetManager} | 256 * @this {SDK.TargetManager} |
| 257 */ | 257 */ |
| 258 function setupRedispatch(sourceEvent, targetEvent) { | 258 function setupRedispatch(sourceEvent, targetEvent) { |
| 259 return resourceTreeModel.addEventListener(sourceEvent, this._redispatchEve
nt.bind(this, targetEvent)); | 259 return resourceTreeModel.addEventListener(sourceEvent, this._redispatchEve
nt.bind(this, targetEvent)); |
| 260 } | 260 } |
| 261 } | 261 } |
| 262 | 262 |
| 263 /** | 263 /** |
| 264 * @param {!WebInspector.Target} target | 264 * @param {!SDK.Target} target |
| 265 */ | 265 */ |
| 266 removeTarget(target) { | 266 removeTarget(target) { |
| 267 if (!this._targets.includes(target)) | 267 if (!this._targets.includes(target)) |
| 268 return; | 268 return; |
| 269 this._targets.remove(target); | 269 this._targets.remove(target); |
| 270 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target); | 270 var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(target); |
| 271 var treeModelListeners = resourceTreeModel && resourceTreeModel[WebInspector
.TargetManager._listenersSymbol]; | 271 var treeModelListeners = resourceTreeModel && resourceTreeModel[SDK.TargetMa
nager._listenersSymbol]; |
| 272 if (treeModelListeners) | 272 if (treeModelListeners) |
| 273 WebInspector.EventTarget.removeEventListeners(treeModelListeners); | 273 Common.EventTarget.removeEventListeners(treeModelListeners); |
| 274 | 274 |
| 275 var copy = this._observersForTarget(target); | 275 var copy = this._observersForTarget(target); |
| 276 for (var i = 0; i < copy.length; ++i) | 276 for (var i = 0; i < copy.length; ++i) |
| 277 copy[i].targetRemoved(target); | 277 copy[i].targetRemoved(target); |
| 278 | 278 |
| 279 for (var pair of this._modelListeners) { | 279 for (var pair of this._modelListeners) { |
| 280 var listeners = pair[1]; | 280 var listeners = pair[1]; |
| 281 for (var i = 0; i < listeners.length; ++i) { | 281 for (var i = 0; i < listeners.length; ++i) { |
| 282 var model = target.model(listeners[i].modelClass); | 282 var model = target.model(listeners[i].modelClass); |
| 283 if (model) | 283 if (model) |
| 284 model.removeEventListener(/** @type {symbol} */ (pair[0]), listeners[i
].listener, listeners[i].thisObject); | 284 model.removeEventListener(/** @type {symbol} */ (pair[0]), listeners[i
].listener, listeners[i].thisObject); |
| 285 } | 285 } |
| 286 } | 286 } |
| 287 } | 287 } |
| 288 | 288 |
| 289 /** | 289 /** |
| 290 * @param {number=} capabilitiesMask | 290 * @param {number=} capabilitiesMask |
| 291 * @return {!Array.<!WebInspector.Target>} | 291 * @return {!Array.<!SDK.Target>} |
| 292 */ | 292 */ |
| 293 targets(capabilitiesMask) { | 293 targets(capabilitiesMask) { |
| 294 if (!capabilitiesMask) | 294 if (!capabilitiesMask) |
| 295 return this._targets.slice(); | 295 return this._targets.slice(); |
| 296 else | 296 else |
| 297 return this._targets.filter((target) => target.hasAllCapabilities(capabili
tiesMask || 0)); | 297 return this._targets.filter((target) => target.hasAllCapabilities(capabili
tiesMask || 0)); |
| 298 } | 298 } |
| 299 | 299 |
| 300 /** | 300 /** |
| 301 * | 301 * |
| 302 * @param {number} id | 302 * @param {number} id |
| 303 * @return {?WebInspector.Target} | 303 * @return {?SDK.Target} |
| 304 */ | 304 */ |
| 305 targetById(id) { | 305 targetById(id) { |
| 306 for (var i = 0; i < this._targets.length; ++i) { | 306 for (var i = 0; i < this._targets.length; ++i) { |
| 307 if (this._targets[i].id() === id) | 307 if (this._targets[i].id() === id) |
| 308 return this._targets[i]; | 308 return this._targets[i]; |
| 309 } | 309 } |
| 310 return null; | 310 return null; |
| 311 } | 311 } |
| 312 | 312 |
| 313 /** | 313 /** |
| 314 * @return {?WebInspector.Target} | 314 * @return {?SDK.Target} |
| 315 */ | 315 */ |
| 316 mainTarget() { | 316 mainTarget() { |
| 317 return this._targets[0] || null; | 317 return this._targets[0] || null; |
| 318 } | 318 } |
| 319 | 319 |
| 320 /** | 320 /** |
| 321 * @param {!WebInspector.Target} target | 321 * @param {!SDK.Target} target |
| 322 */ | 322 */ |
| 323 suspendReload(target) { | 323 suspendReload(target) { |
| 324 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target); | 324 var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(target); |
| 325 if (resourceTreeModel) | 325 if (resourceTreeModel) |
| 326 resourceTreeModel.suspendReload(); | 326 resourceTreeModel.suspendReload(); |
| 327 } | 327 } |
| 328 | 328 |
| 329 /** | 329 /** |
| 330 * @param {!WebInspector.Target} target | 330 * @param {!SDK.Target} target |
| 331 */ | 331 */ |
| 332 resumeReload(target) { | 332 resumeReload(target) { |
| 333 var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target); | 333 var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(target); |
| 334 if (resourceTreeModel) | 334 if (resourceTreeModel) |
| 335 setImmediate(resourceTreeModel.resumeReload.bind(resourceTreeModel)); | 335 setImmediate(resourceTreeModel.resumeReload.bind(resourceTreeModel)); |
| 336 } | 336 } |
| 337 | 337 |
| 338 /** | 338 /** |
| 339 * @param {function()} webSocketConnectionLostCallback | 339 * @param {function()} webSocketConnectionLostCallback |
| 340 */ | 340 */ |
| 341 connectToMainTarget(webSocketConnectionLostCallback) { | 341 connectToMainTarget(webSocketConnectionLostCallback) { |
| 342 this._webSocketConnectionLostCallback = webSocketConnectionLostCallback; | 342 this._webSocketConnectionLostCallback = webSocketConnectionLostCallback; |
| 343 this._connectAndCreateMainTarget(); | 343 this._connectAndCreateMainTarget(); |
| 344 } | 344 } |
| 345 | 345 |
| 346 _connectAndCreateMainTarget() { | 346 _connectAndCreateMainTarget() { |
| 347 var capabilities = WebInspector.Target.Capability.Browser | WebInspector.Tar
get.Capability.DOM | | 347 var capabilities = SDK.Target.Capability.Browser | SDK.Target.Capability.DOM
| |
| 348 WebInspector.Target.Capability.JS | WebInspector.Target.Capability.Log | | 348 SDK.Target.Capability.JS | SDK.Target.Capability.Log | |
| 349 WebInspector.Target.Capability.Network | WebInspector.Target.Capability.
Target; | 349 SDK.Target.Capability.Network | SDK.Target.Capability.Target; |
| 350 if (Runtime.queryParam('isSharedWorker')) { | 350 if (Runtime.queryParam('isSharedWorker')) { |
| 351 capabilities = WebInspector.Target.Capability.Browser | WebInspector.Targe
t.Capability.Log | | 351 capabilities = SDK.Target.Capability.Browser | SDK.Target.Capability.Log | |
| 352 WebInspector.Target.Capability.Network | WebInspector.Target.Capabilit
y.Target; | 352 SDK.Target.Capability.Network | SDK.Target.Capability.Target; |
| 353 } else if (Runtime.queryParam('v8only')) { | 353 } else if (Runtime.queryParam('v8only')) { |
| 354 capabilities = WebInspector.Target.Capability.JS; | 354 capabilities = SDK.Target.Capability.JS; |
| 355 } | 355 } |
| 356 | 356 |
| 357 var target = | 357 var target = |
| 358 this.createTarget(WebInspector.UIString('Main'), capabilities, this._cre
ateMainConnection.bind(this), null); | 358 this.createTarget(Common.UIString('Main'), capabilities, this._createMai
nConnection.bind(this), null); |
| 359 target.runtimeAgent().runIfWaitingForDebugger(); | 359 target.runtimeAgent().runIfWaitingForDebugger(); |
| 360 } | 360 } |
| 361 | 361 |
| 362 /** | 362 /** |
| 363 * @param {!InspectorBackendClass.Connection.Params} params | 363 * @param {!InspectorBackendClass.Connection.Params} params |
| 364 * @return {!InspectorBackendClass.Connection} | 364 * @return {!InspectorBackendClass.Connection} |
| 365 */ | 365 */ |
| 366 _createMainConnection(params) { | 366 _createMainConnection(params) { |
| 367 if (Runtime.queryParam('ws')) { | 367 if (Runtime.queryParam('ws')) { |
| 368 var ws = 'ws://' + Runtime.queryParam('ws'); | 368 var ws = 'ws://' + Runtime.queryParam('ws'); |
| 369 this._mainConnection = new WebInspector.WebSocketConnection(ws, this._webS
ocketConnectionLostCallback, params); | 369 this._mainConnection = new SDK.WebSocketConnection(ws, this._webSocketConn
ectionLostCallback, params); |
| 370 } else if (InspectorFrontendHost.isHostedMode()) { | 370 } else if (InspectorFrontendHost.isHostedMode()) { |
| 371 this._mainConnection = new WebInspector.StubConnection(params); | 371 this._mainConnection = new SDK.StubConnection(params); |
| 372 } else { | 372 } else { |
| 373 this._mainConnection = new WebInspector.MainConnection(params); | 373 this._mainConnection = new SDK.MainConnection(params); |
| 374 } | 374 } |
| 375 return this._mainConnection; | 375 return this._mainConnection; |
| 376 } | 376 } |
| 377 | 377 |
| 378 /** | 378 /** |
| 379 * @param {function(string)} onMessage | 379 * @param {function(string)} onMessage |
| 380 * @return {!Promise<!InspectorBackendClass.Connection>} | 380 * @return {!Promise<!InspectorBackendClass.Connection>} |
| 381 */ | 381 */ |
| 382 interceptMainConnection(onMessage) { | 382 interceptMainConnection(onMessage) { |
| 383 var params = {onMessage: onMessage, onDisconnect: this._connectAndCreateMain
Target.bind(this)}; | 383 var params = {onMessage: onMessage, onDisconnect: this._connectAndCreateMain
Target.bind(this)}; |
| 384 return this._mainConnection.disconnect().then(this._createMainConnection.bin
d(this, params)); | 384 return this._mainConnection.disconnect().then(this._createMainConnection.bin
d(this, params)); |
| 385 } | 385 } |
| 386 }; | 386 }; |
| 387 | 387 |
| 388 /** @enum {symbol} */ | 388 /** @enum {symbol} */ |
| 389 WebInspector.TargetManager.Events = { | 389 SDK.TargetManager.Events = { |
| 390 InspectedURLChanged: Symbol('InspectedURLChanged'), | 390 InspectedURLChanged: Symbol('InspectedURLChanged'), |
| 391 Load: Symbol('Load'), | 391 Load: Symbol('Load'), |
| 392 MainFrameNavigated: Symbol('MainFrameNavigated'), | 392 MainFrameNavigated: Symbol('MainFrameNavigated'), |
| 393 NameChanged: Symbol('NameChanged'), | 393 NameChanged: Symbol('NameChanged'), |
| 394 PageReloadRequested: Symbol('PageReloadRequested'), | 394 PageReloadRequested: Symbol('PageReloadRequested'), |
| 395 WillReloadPage: Symbol('WillReloadPage'), | 395 WillReloadPage: Symbol('WillReloadPage'), |
| 396 TargetDisposed: Symbol('TargetDisposed'), | 396 TargetDisposed: Symbol('TargetDisposed'), |
| 397 SuspendStateChanged: Symbol('SuspendStateChanged') | 397 SuspendStateChanged: Symbol('SuspendStateChanged') |
| 398 }; | 398 }; |
| 399 | 399 |
| 400 WebInspector.TargetManager._listenersSymbol = Symbol('WebInspector.TargetManager
.Listeners'); | 400 SDK.TargetManager._listenersSymbol = Symbol('SDK.TargetManager.Listeners'); |
| 401 | 401 |
| 402 /** | 402 /** |
| 403 * @interface | 403 * @interface |
| 404 */ | 404 */ |
| 405 WebInspector.TargetManager.Observer = function() {}; | 405 SDK.TargetManager.Observer = function() {}; |
| 406 | 406 |
| 407 WebInspector.TargetManager.Observer.prototype = { | 407 SDK.TargetManager.Observer.prototype = { |
| 408 /** | 408 /** |
| 409 * @param {!WebInspector.Target} target | 409 * @param {!SDK.Target} target |
| 410 */ | 410 */ |
| 411 targetAdded: function(target) {}, | 411 targetAdded: function(target) {}, |
| 412 | 412 |
| 413 /** | 413 /** |
| 414 * @param {!WebInspector.Target} target | 414 * @param {!SDK.Target} target |
| 415 */ | 415 */ |
| 416 targetRemoved: function(target) {}, | 416 targetRemoved: function(target) {}, |
| 417 }; | 417 }; |
| 418 | 418 |
| 419 /** | 419 /** |
| 420 * @type {!WebInspector.TargetManager} | 420 * @type {!SDK.TargetManager} |
| 421 */ | 421 */ |
| 422 WebInspector.targetManager = new WebInspector.TargetManager(); | 422 SDK.targetManager = new SDK.TargetManager(); |
| OLD | NEW |