| 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.Target = class extends Protocol.TargetBase { | 10 SDK.Target = class extends Protocol.TargetBase { |
| 11 /** | 11 /** |
| 12 * @param {!WebInspector.TargetManager} targetManager | 12 * @param {!SDK.TargetManager} targetManager |
| 13 * @param {string} name | 13 * @param {string} name |
| 14 * @param {number} capabilitiesMask | 14 * @param {number} capabilitiesMask |
| 15 * @param {!InspectorBackendClass.Connection.Factory} connectionFactory | 15 * @param {!InspectorBackendClass.Connection.Factory} connectionFactory |
| 16 * @param {?WebInspector.Target} parentTarget | 16 * @param {?SDK.Target} parentTarget |
| 17 */ | 17 */ |
| 18 constructor(targetManager, name, capabilitiesMask, connectionFactory, parentTa
rget) { | 18 constructor(targetManager, name, capabilitiesMask, connectionFactory, parentTa
rget) { |
| 19 super(connectionFactory); | 19 super(connectionFactory); |
| 20 this._targetManager = targetManager; | 20 this._targetManager = targetManager; |
| 21 this._name = name; | 21 this._name = name; |
| 22 this._inspectedURL = ''; | 22 this._inspectedURL = ''; |
| 23 this._capabilitiesMask = capabilitiesMask; | 23 this._capabilitiesMask = capabilitiesMask; |
| 24 this._parentTarget = parentTarget; | 24 this._parentTarget = parentTarget; |
| 25 this._id = WebInspector.Target._nextId++; | 25 this._id = SDK.Target._nextId++; |
| 26 | 26 |
| 27 /** @type {!Map.<!Function, !WebInspector.SDKModel>} */ | 27 /** @type {!Map.<!Function, !SDK.SDKModel>} */ |
| 28 this._modelByConstructor = new Map(); | 28 this._modelByConstructor = new Map(); |
| 29 } | 29 } |
| 30 | 30 |
| 31 /** | 31 /** |
| 32 * @return {boolean} | 32 * @return {boolean} |
| 33 */ | 33 */ |
| 34 isNodeJS() { | 34 isNodeJS() { |
| 35 // TODO(lushnikov): this is an unreliable way to detect Node.js targets. | 35 // TODO(lushnikov): this is an unreliable way to detect Node.js targets. |
| 36 return this._capabilitiesMask === WebInspector.Target.Capability.JS || this.
_isNodeJSForTest; | 36 return this._capabilitiesMask === SDK.Target.Capability.JS || this._isNodeJS
ForTest; |
| 37 } | 37 } |
| 38 | 38 |
| 39 setIsNodeJSForTest() { | 39 setIsNodeJSForTest() { |
| 40 this._isNodeJSForTest = true; | 40 this._isNodeJSForTest = true; |
| 41 } | 41 } |
| 42 | 42 |
| 43 /** | 43 /** |
| 44 * @return {number} | 44 * @return {number} |
| 45 */ | 45 */ |
| 46 id() { | 46 id() { |
| 47 return this._id; | 47 return this._id; |
| 48 } | 48 } |
| 49 | 49 |
| 50 /** | 50 /** |
| 51 * @return {string} | 51 * @return {string} |
| 52 */ | 52 */ |
| 53 name() { | 53 name() { |
| 54 return this._name || this._inspectedURLName; | 54 return this._name || this._inspectedURLName; |
| 55 } | 55 } |
| 56 | 56 |
| 57 /** | 57 /** |
| 58 * @return {!WebInspector.TargetManager} | 58 * @return {!SDK.TargetManager} |
| 59 */ | 59 */ |
| 60 targetManager() { | 60 targetManager() { |
| 61 return this._targetManager; | 61 return this._targetManager; |
| 62 } | 62 } |
| 63 | 63 |
| 64 /** | 64 /** |
| 65 * @param {number} capabilitiesMask | 65 * @param {number} capabilitiesMask |
| 66 * @return {boolean} | 66 * @return {boolean} |
| 67 */ | 67 */ |
| 68 hasAllCapabilities(capabilitiesMask) { | 68 hasAllCapabilities(capabilitiesMask) { |
| 69 return (this._capabilitiesMask & capabilitiesMask) === capabilitiesMask; | 69 return (this._capabilitiesMask & capabilitiesMask) === capabilitiesMask; |
| 70 } | 70 } |
| 71 | 71 |
| 72 /** | 72 /** |
| 73 * @param {string} label | 73 * @param {string} label |
| 74 * @return {string} | 74 * @return {string} |
| 75 */ | 75 */ |
| 76 decorateLabel(label) { | 76 decorateLabel(label) { |
| 77 return !this.hasBrowserCapability() ? '\u2699 ' + label : label; | 77 return !this.hasBrowserCapability() ? '\u2699 ' + label : label; |
| 78 } | 78 } |
| 79 | 79 |
| 80 /** | 80 /** |
| 81 * @return {boolean} | 81 * @return {boolean} |
| 82 */ | 82 */ |
| 83 hasBrowserCapability() { | 83 hasBrowserCapability() { |
| 84 return this.hasAllCapabilities(WebInspector.Target.Capability.Browser); | 84 return this.hasAllCapabilities(SDK.Target.Capability.Browser); |
| 85 } | 85 } |
| 86 | 86 |
| 87 /** | 87 /** |
| 88 * @return {boolean} | 88 * @return {boolean} |
| 89 */ | 89 */ |
| 90 hasJSCapability() { | 90 hasJSCapability() { |
| 91 return this.hasAllCapabilities(WebInspector.Target.Capability.JS); | 91 return this.hasAllCapabilities(SDK.Target.Capability.JS); |
| 92 } | 92 } |
| 93 | 93 |
| 94 /** | 94 /** |
| 95 * @return {boolean} | 95 * @return {boolean} |
| 96 */ | 96 */ |
| 97 hasLogCapability() { | 97 hasLogCapability() { |
| 98 return this.hasAllCapabilities(WebInspector.Target.Capability.Log); | 98 return this.hasAllCapabilities(SDK.Target.Capability.Log); |
| 99 } | 99 } |
| 100 | 100 |
| 101 /** | 101 /** |
| 102 * @return {boolean} | 102 * @return {boolean} |
| 103 */ | 103 */ |
| 104 hasNetworkCapability() { | 104 hasNetworkCapability() { |
| 105 return this.hasAllCapabilities(WebInspector.Target.Capability.Network); | 105 return this.hasAllCapabilities(SDK.Target.Capability.Network); |
| 106 } | 106 } |
| 107 | 107 |
| 108 /** | 108 /** |
| 109 * @return {boolean} | 109 * @return {boolean} |
| 110 */ | 110 */ |
| 111 hasTargetCapability() { | 111 hasTargetCapability() { |
| 112 return this.hasAllCapabilities(WebInspector.Target.Capability.Target); | 112 return this.hasAllCapabilities(SDK.Target.Capability.Target); |
| 113 } | 113 } |
| 114 | 114 |
| 115 /** | 115 /** |
| 116 * @return {boolean} | 116 * @return {boolean} |
| 117 */ | 117 */ |
| 118 hasDOMCapability() { | 118 hasDOMCapability() { |
| 119 return this.hasAllCapabilities(WebInspector.Target.Capability.DOM); | 119 return this.hasAllCapabilities(SDK.Target.Capability.DOM); |
| 120 } | 120 } |
| 121 | 121 |
| 122 /** | 122 /** |
| 123 * @return {?WebInspector.Target} | 123 * @return {?SDK.Target} |
| 124 */ | 124 */ |
| 125 parentTarget() { | 125 parentTarget() { |
| 126 return this._parentTarget; | 126 return this._parentTarget; |
| 127 } | 127 } |
| 128 | 128 |
| 129 /** | 129 /** |
| 130 * @override | 130 * @override |
| 131 */ | 131 */ |
| 132 dispose() { | 132 dispose() { |
| 133 this._targetManager.removeTarget(this); | 133 this._targetManager.removeTarget(this); |
| 134 for (var model of this._modelByConstructor.valuesArray()) | 134 for (var model of this._modelByConstructor.valuesArray()) |
| 135 model.dispose(); | 135 model.dispose(); |
| 136 } | 136 } |
| 137 | 137 |
| 138 /** | 138 /** |
| 139 * @param {!Function} modelClass | 139 * @param {!Function} modelClass |
| 140 * @return {?WebInspector.SDKModel} | 140 * @return {?SDK.SDKModel} |
| 141 */ | 141 */ |
| 142 model(modelClass) { | 142 model(modelClass) { |
| 143 return this._modelByConstructor.get(modelClass) || null; | 143 return this._modelByConstructor.get(modelClass) || null; |
| 144 } | 144 } |
| 145 | 145 |
| 146 /** | 146 /** |
| 147 * @return {!Array<!WebInspector.SDKModel>} | 147 * @return {!Array<!SDK.SDKModel>} |
| 148 */ | 148 */ |
| 149 models() { | 149 models() { |
| 150 return this._modelByConstructor.valuesArray(); | 150 return this._modelByConstructor.valuesArray(); |
| 151 } | 151 } |
| 152 | 152 |
| 153 /** | 153 /** |
| 154 * @return {string} | 154 * @return {string} |
| 155 */ | 155 */ |
| 156 inspectedURL() { | 156 inspectedURL() { |
| 157 return this._inspectedURL; | 157 return this._inspectedURL; |
| 158 } | 158 } |
| 159 | 159 |
| 160 /** | 160 /** |
| 161 * @param {string} inspectedURL | 161 * @param {string} inspectedURL |
| 162 */ | 162 */ |
| 163 setInspectedURL(inspectedURL) { | 163 setInspectedURL(inspectedURL) { |
| 164 this._inspectedURL = inspectedURL; | 164 this._inspectedURL = inspectedURL; |
| 165 var parsedURL = inspectedURL.asParsedURL(); | 165 var parsedURL = inspectedURL.asParsedURL(); |
| 166 this._inspectedURLName = parsedURL ? parsedURL.lastPathComponentWithFragment
() : '#' + this._id; | 166 this._inspectedURLName = parsedURL ? parsedURL.lastPathComponentWithFragment
() : '#' + this._id; |
| 167 if (!this.parentTarget()) | 167 if (!this.parentTarget()) |
| 168 InspectorFrontendHost.inspectedURLChanged(inspectedURL || ''); | 168 InspectorFrontendHost.inspectedURLChanged(inspectedURL || ''); |
| 169 this._targetManager.dispatchEventToListeners(WebInspector.TargetManager.Even
ts.InspectedURLChanged, this); | 169 this._targetManager.dispatchEventToListeners(SDK.TargetManager.Events.Inspec
tedURLChanged, this); |
| 170 if (!this._name) | 170 if (!this._name) |
| 171 this._targetManager.dispatchEventToListeners(WebInspector.TargetManager.Ev
ents.NameChanged, this); | 171 this._targetManager.dispatchEventToListeners(SDK.TargetManager.Events.Name
Changed, this); |
| 172 } | 172 } |
| 173 }; | 173 }; |
| 174 | 174 |
| 175 /** | 175 /** |
| 176 * @enum {number} | 176 * @enum {number} |
| 177 */ | 177 */ |
| 178 WebInspector.Target.Capability = { | 178 SDK.Target.Capability = { |
| 179 Browser: 1, | 179 Browser: 1, |
| 180 DOM: 2, | 180 DOM: 2, |
| 181 JS: 4, | 181 JS: 4, |
| 182 Log: 8, | 182 Log: 8, |
| 183 Network: 16, | 183 Network: 16, |
| 184 Target: 32 | 184 Target: 32 |
| 185 }; | 185 }; |
| 186 | 186 |
| 187 WebInspector.Target._nextId = 1; | 187 SDK.Target._nextId = 1; |
| 188 | 188 |
| 189 /** | 189 /** |
| 190 * @unrestricted | 190 * @unrestricted |
| 191 */ | 191 */ |
| 192 WebInspector.SDKObject = class extends WebInspector.Object { | 192 SDK.SDKObject = class extends Common.Object { |
| 193 /** | 193 /** |
| 194 * @param {!WebInspector.Target} target | 194 * @param {!SDK.Target} target |
| 195 */ | 195 */ |
| 196 constructor(target) { | 196 constructor(target) { |
| 197 super(); | 197 super(); |
| 198 this._target = target; | 198 this._target = target; |
| 199 } | 199 } |
| 200 | 200 |
| 201 /** | 201 /** |
| 202 * @return {!WebInspector.Target} | 202 * @return {!SDK.Target} |
| 203 */ | 203 */ |
| 204 target() { | 204 target() { |
| 205 return this._target; | 205 return this._target; |
| 206 } | 206 } |
| 207 }; | 207 }; |
| 208 | 208 |
| 209 /** | 209 /** |
| 210 * @unrestricted | 210 * @unrestricted |
| 211 */ | 211 */ |
| 212 WebInspector.SDKModel = class extends WebInspector.SDKObject { | 212 SDK.SDKModel = class extends SDK.SDKObject { |
| 213 /** | 213 /** |
| 214 * @param {!Function} modelClass | 214 * @param {!Function} modelClass |
| 215 * @param {!WebInspector.Target} target | 215 * @param {!SDK.Target} target |
| 216 */ | 216 */ |
| 217 constructor(modelClass, target) { | 217 constructor(modelClass, target) { |
| 218 super(target); | 218 super(target); |
| 219 target._modelByConstructor.set(modelClass, this); | 219 target._modelByConstructor.set(modelClass, this); |
| 220 } | 220 } |
| 221 | 221 |
| 222 /** | 222 /** |
| 223 * @return {!Promise} | 223 * @return {!Promise} |
| 224 */ | 224 */ |
| 225 suspendModel() { | 225 suspendModel() { |
| 226 return Promise.resolve(); | 226 return Promise.resolve(); |
| 227 } | 227 } |
| 228 | 228 |
| 229 /** | 229 /** |
| 230 * @return {!Promise} | 230 * @return {!Promise} |
| 231 */ | 231 */ |
| 232 resumeModel() { | 232 resumeModel() { |
| 233 return Promise.resolve(); | 233 return Promise.resolve(); |
| 234 } | 234 } |
| 235 | 235 |
| 236 dispose() { | 236 dispose() { |
| 237 } | 237 } |
| 238 | 238 |
| 239 /** | 239 /** |
| 240 * @param {!WebInspector.Event} event | 240 * @param {!Common.Event} event |
| 241 */ | 241 */ |
| 242 _targetDisposed(event) { | 242 _targetDisposed(event) { |
| 243 var target = /** @type {!WebInspector.Target} */ (event.data); | 243 var target = /** @type {!SDK.Target} */ (event.data); |
| 244 if (target !== this._target) | 244 if (target !== this._target) |
| 245 return; | 245 return; |
| 246 this.dispose(); | 246 this.dispose(); |
| 247 } | 247 } |
| 248 }; | 248 }; |
| OLD | NEW |