| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 /** | 31 /** |
| 32 * @unrestricted | 32 * @unrestricted |
| 33 */ | 33 */ |
| 34 WebInspector.ServiceWorkerManager = class extends WebInspector.SDKObject { | 34 SDK.ServiceWorkerManager = class extends SDK.SDKObject { |
| 35 /** | 35 /** |
| 36 * @param {!WebInspector.Target} target | 36 * @param {!SDK.Target} target |
| 37 * @param {!WebInspector.SubTargetsManager} subTargetsManager | 37 * @param {!SDK.SubTargetsManager} subTargetsManager |
| 38 */ | 38 */ |
| 39 constructor(target, subTargetsManager) { | 39 constructor(target, subTargetsManager) { |
| 40 super(target); | 40 super(target); |
| 41 target.registerServiceWorkerDispatcher(new WebInspector.ServiceWorkerDispatc
her(this)); | 41 target.registerServiceWorkerDispatcher(new SDK.ServiceWorkerDispatcher(this)
); |
| 42 this._lastAnonymousTargetId = 0; | 42 this._lastAnonymousTargetId = 0; |
| 43 this._agent = target.serviceWorkerAgent(); | 43 this._agent = target.serviceWorkerAgent(); |
| 44 /** @type {!Map.<string, !WebInspector.ServiceWorkerRegistration>} */ | 44 /** @type {!Map.<string, !SDK.ServiceWorkerRegistration>} */ |
| 45 this._registrations = new Map(); | 45 this._registrations = new Map(); |
| 46 this.enable(); | 46 this.enable(); |
| 47 this._forceUpdateSetting = WebInspector.settings.createSetting('serviceWorke
rUpdateOnReload', false); | 47 this._forceUpdateSetting = Common.settings.createSetting('serviceWorkerUpdat
eOnReload', false); |
| 48 if (this._forceUpdateSetting.get()) | 48 if (this._forceUpdateSetting.get()) |
| 49 this._forceUpdateSettingChanged(); | 49 this._forceUpdateSettingChanged(); |
| 50 this._forceUpdateSetting.addChangeListener(this._forceUpdateSettingChanged,
this); | 50 this._forceUpdateSetting.addChangeListener(this._forceUpdateSettingChanged,
this); |
| 51 new WebInspector.ServiceWorkerContextNamer(target, this, subTargetsManager); | 51 new SDK.ServiceWorkerContextNamer(target, this, subTargetsManager); |
| 52 } | 52 } |
| 53 | 53 |
| 54 enable() { | 54 enable() { |
| 55 if (this._enabled) | 55 if (this._enabled) |
| 56 return; | 56 return; |
| 57 this._enabled = true; | 57 this._enabled = true; |
| 58 this._agent.enable(); | 58 this._agent.enable(); |
| 59 } | 59 } |
| 60 | 60 |
| 61 disable() { | 61 disable() { |
| 62 if (!this._enabled) | 62 if (!this._enabled) |
| 63 return; | 63 return; |
| 64 this._enabled = false; | 64 this._enabled = false; |
| 65 this._registrations.clear(); | 65 this._registrations.clear(); |
| 66 this._agent.disable(); | 66 this._agent.disable(); |
| 67 } | 67 } |
| 68 | 68 |
| 69 /** | 69 /** |
| 70 * @return {!Map.<string, !WebInspector.ServiceWorkerRegistration>} | 70 * @return {!Map.<string, !SDK.ServiceWorkerRegistration>} |
| 71 */ | 71 */ |
| 72 registrations() { | 72 registrations() { |
| 73 return this._registrations; | 73 return this._registrations; |
| 74 } | 74 } |
| 75 | 75 |
| 76 /** | 76 /** |
| 77 * @param {string} versionId | 77 * @param {string} versionId |
| 78 * @return {?WebInspector.ServiceWorkerVersion} | 78 * @return {?SDK.ServiceWorkerVersion} |
| 79 */ | 79 */ |
| 80 findVersion(versionId) { | 80 findVersion(versionId) { |
| 81 for (var registration of this.registrations().values()) { | 81 for (var registration of this.registrations().values()) { |
| 82 var version = registration.versions.get(versionId); | 82 var version = registration.versions.get(versionId); |
| 83 if (version) | 83 if (version) |
| 84 return version; | 84 return version; |
| 85 } | 85 } |
| 86 return null; | 86 return null; |
| 87 } | 87 } |
| 88 | 88 |
| 89 /** | 89 /** |
| 90 * @param {string} registrationId | 90 * @param {string} registrationId |
| 91 */ | 91 */ |
| 92 deleteRegistration(registrationId) { | 92 deleteRegistration(registrationId) { |
| 93 var registration = this._registrations.get(registrationId); | 93 var registration = this._registrations.get(registrationId); |
| 94 if (!registration) | 94 if (!registration) |
| 95 return; | 95 return; |
| 96 if (registration._isRedundant()) { | 96 if (registration._isRedundant()) { |
| 97 this._registrations.delete(registrationId); | 97 this._registrations.delete(registrationId); |
| 98 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.Reg
istrationDeleted, registration); | 98 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registration
Deleted, registration); |
| 99 return; | 99 return; |
| 100 } | 100 } |
| 101 registration._deleting = true; | 101 registration._deleting = true; |
| 102 for (var version of registration.versions.values()) | 102 for (var version of registration.versions.values()) |
| 103 this.stopWorker(version.id); | 103 this.stopWorker(version.id); |
| 104 this._unregister(registration.scopeURL); | 104 this._unregister(registration.scopeURL); |
| 105 } | 105 } |
| 106 | 106 |
| 107 /** | 107 /** |
| 108 * @param {string} registrationId | 108 * @param {string} registrationId |
| 109 */ | 109 */ |
| 110 updateRegistration(registrationId) { | 110 updateRegistration(registrationId) { |
| 111 var registration = this._registrations.get(registrationId); | 111 var registration = this._registrations.get(registrationId); |
| 112 if (!registration) | 112 if (!registration) |
| 113 return; | 113 return; |
| 114 this._agent.updateRegistration(registration.scopeURL); | 114 this._agent.updateRegistration(registration.scopeURL); |
| 115 } | 115 } |
| 116 | 116 |
| 117 /** | 117 /** |
| 118 * @param {string} registrationId | 118 * @param {string} registrationId |
| 119 * @param {string} data | 119 * @param {string} data |
| 120 */ | 120 */ |
| 121 deliverPushMessage(registrationId, data) { | 121 deliverPushMessage(registrationId, data) { |
| 122 var registration = this._registrations.get(registrationId); | 122 var registration = this._registrations.get(registrationId); |
| 123 if (!registration) | 123 if (!registration) |
| 124 return; | 124 return; |
| 125 var origin = WebInspector.ParsedURL.extractOrigin(registration.scopeURL); | 125 var origin = Common.ParsedURL.extractOrigin(registration.scopeURL); |
| 126 this._agent.deliverPushMessage(origin, registrationId, data); | 126 this._agent.deliverPushMessage(origin, registrationId, data); |
| 127 } | 127 } |
| 128 | 128 |
| 129 /** | 129 /** |
| 130 * @param {string} registrationId | 130 * @param {string} registrationId |
| 131 * @param {string} tag | 131 * @param {string} tag |
| 132 * @param {boolean} lastChance | 132 * @param {boolean} lastChance |
| 133 */ | 133 */ |
| 134 dispatchSyncEvent(registrationId, tag, lastChance) { | 134 dispatchSyncEvent(registrationId, tag, lastChance) { |
| 135 var registration = this._registrations.get(registrationId); | 135 var registration = this._registrations.get(registrationId); |
| 136 if (!registration) | 136 if (!registration) |
| 137 return; | 137 return; |
| 138 var origin = WebInspector.ParsedURL.extractOrigin(registration.scopeURL); | 138 var origin = Common.ParsedURL.extractOrigin(registration.scopeURL); |
| 139 this._agent.dispatchSyncEvent(origin, registrationId, tag, lastChance); | 139 this._agent.dispatchSyncEvent(origin, registrationId, tag, lastChance); |
| 140 } | 140 } |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * @param {string} scope | 143 * @param {string} scope |
| 144 */ | 144 */ |
| 145 _unregister(scope) { | 145 _unregister(scope) { |
| 146 this._agent.unregister(scope); | 146 this._agent.unregister(scope); |
| 147 } | 147 } |
| 148 | 148 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 174 this._agent.inspectWorker(versionId); | 174 this._agent.inspectWorker(versionId); |
| 175 } | 175 } |
| 176 | 176 |
| 177 /** | 177 /** |
| 178 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerRegistration>} registr
ations | 178 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerRegistration>} registr
ations |
| 179 */ | 179 */ |
| 180 _workerRegistrationUpdated(registrations) { | 180 _workerRegistrationUpdated(registrations) { |
| 181 for (var payload of registrations) { | 181 for (var payload of registrations) { |
| 182 var registration = this._registrations.get(payload.registrationId); | 182 var registration = this._registrations.get(payload.registrationId); |
| 183 if (!registration) { | 183 if (!registration) { |
| 184 registration = new WebInspector.ServiceWorkerRegistration(payload); | 184 registration = new SDK.ServiceWorkerRegistration(payload); |
| 185 this._registrations.set(payload.registrationId, registration); | 185 this._registrations.set(payload.registrationId, registration); |
| 186 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.R
egistrationUpdated, registration); | 186 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registrati
onUpdated, registration); |
| 187 continue; | 187 continue; |
| 188 } | 188 } |
| 189 registration._update(payload); | 189 registration._update(payload); |
| 190 | 190 |
| 191 if (registration._shouldBeRemoved()) { | 191 if (registration._shouldBeRemoved()) { |
| 192 this._registrations.delete(registration.id); | 192 this._registrations.delete(registration.id); |
| 193 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.R
egistrationDeleted, registration); | 193 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registrati
onDeleted, registration); |
| 194 } else { | 194 } else { |
| 195 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.R
egistrationUpdated, registration); | 195 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registrati
onUpdated, registration); |
| 196 } | 196 } |
| 197 } | 197 } |
| 198 } | 198 } |
| 199 | 199 |
| 200 /** | 200 /** |
| 201 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerVersion>} versions | 201 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerVersion>} versions |
| 202 */ | 202 */ |
| 203 _workerVersionUpdated(versions) { | 203 _workerVersionUpdated(versions) { |
| 204 /** @type {!Set.<!WebInspector.ServiceWorkerRegistration>} */ | 204 /** @type {!Set.<!SDK.ServiceWorkerRegistration>} */ |
| 205 var registrations = new Set(); | 205 var registrations = new Set(); |
| 206 for (var payload of versions) { | 206 for (var payload of versions) { |
| 207 var registration = this._registrations.get(payload.registrationId); | 207 var registration = this._registrations.get(payload.registrationId); |
| 208 if (!registration) | 208 if (!registration) |
| 209 continue; | 209 continue; |
| 210 registration._updateVersion(payload); | 210 registration._updateVersion(payload); |
| 211 registrations.add(registration); | 211 registrations.add(registration); |
| 212 } | 212 } |
| 213 for (var registration of registrations) { | 213 for (var registration of registrations) { |
| 214 if (registration._shouldBeRemoved()) { | 214 if (registration._shouldBeRemoved()) { |
| 215 this._registrations.delete(registration.id); | 215 this._registrations.delete(registration.id); |
| 216 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.R
egistrationDeleted, registration); | 216 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registrati
onDeleted, registration); |
| 217 } else { | 217 } else { |
| 218 this.dispatchEventToListeners(WebInspector.ServiceWorkerManager.Events.R
egistrationUpdated, registration); | 218 this.dispatchEventToListeners(SDK.ServiceWorkerManager.Events.Registrati
onUpdated, registration); |
| 219 } | 219 } |
| 220 } | 220 } |
| 221 } | 221 } |
| 222 | 222 |
| 223 /** | 223 /** |
| 224 * @param {!Protocol.ServiceWorker.ServiceWorkerErrorMessage} payload | 224 * @param {!Protocol.ServiceWorker.ServiceWorkerErrorMessage} payload |
| 225 */ | 225 */ |
| 226 _workerErrorReported(payload) { | 226 _workerErrorReported(payload) { |
| 227 var registration = this._registrations.get(payload.registrationId); | 227 var registration = this._registrations.get(payload.registrationId); |
| 228 if (!registration) | 228 if (!registration) |
| 229 return; | 229 return; |
| 230 registration.errors.push(payload); | 230 registration.errors.push(payload); |
| 231 this.dispatchEventToListeners( | 231 this.dispatchEventToListeners( |
| 232 WebInspector.ServiceWorkerManager.Events.RegistrationErrorAdded, {regist
ration: registration, error: payload}); | 232 SDK.ServiceWorkerManager.Events.RegistrationErrorAdded, {registration: r
egistration, error: payload}); |
| 233 } | 233 } |
| 234 | 234 |
| 235 /** | 235 /** |
| 236 * @return {!WebInspector.Setting} | 236 * @return {!Common.Setting} |
| 237 */ | 237 */ |
| 238 forceUpdateOnReloadSetting() { | 238 forceUpdateOnReloadSetting() { |
| 239 return this._forceUpdateSetting; | 239 return this._forceUpdateSetting; |
| 240 } | 240 } |
| 241 | 241 |
| 242 _forceUpdateSettingChanged() { | 242 _forceUpdateSettingChanged() { |
| 243 this._agent.setForceUpdateOnPageLoad(this._forceUpdateSetting.get()); | 243 this._agent.setForceUpdateOnPageLoad(this._forceUpdateSetting.get()); |
| 244 } | 244 } |
| 245 }; | 245 }; |
| 246 | 246 |
| 247 /** @enum {symbol} */ | 247 /** @enum {symbol} */ |
| 248 WebInspector.ServiceWorkerManager.Events = { | 248 SDK.ServiceWorkerManager.Events = { |
| 249 RegistrationUpdated: Symbol('RegistrationUpdated'), | 249 RegistrationUpdated: Symbol('RegistrationUpdated'), |
| 250 RegistrationErrorAdded: Symbol('RegistrationErrorAdded'), | 250 RegistrationErrorAdded: Symbol('RegistrationErrorAdded'), |
| 251 RegistrationDeleted: Symbol('RegistrationDeleted') | 251 RegistrationDeleted: Symbol('RegistrationDeleted') |
| 252 }; | 252 }; |
| 253 | 253 |
| 254 /** | 254 /** |
| 255 * @implements {Protocol.ServiceWorkerDispatcher} | 255 * @implements {Protocol.ServiceWorkerDispatcher} |
| 256 * @unrestricted | 256 * @unrestricted |
| 257 */ | 257 */ |
| 258 WebInspector.ServiceWorkerDispatcher = class { | 258 SDK.ServiceWorkerDispatcher = class { |
| 259 /** | 259 /** |
| 260 * @param {!WebInspector.ServiceWorkerManager} manager | 260 * @param {!SDK.ServiceWorkerManager} manager |
| 261 */ | 261 */ |
| 262 constructor(manager) { | 262 constructor(manager) { |
| 263 this._manager = manager; | 263 this._manager = manager; |
| 264 } | 264 } |
| 265 | 265 |
| 266 /** | 266 /** |
| 267 * @override | 267 * @override |
| 268 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerRegistration>} registr
ations | 268 * @param {!Array.<!Protocol.ServiceWorker.ServiceWorkerRegistration>} registr
ations |
| 269 */ | 269 */ |
| 270 workerRegistrationUpdated(registrations) { | 270 workerRegistrationUpdated(registrations) { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 284 * @param {!Protocol.ServiceWorker.ServiceWorkerErrorMessage} errorMessage | 284 * @param {!Protocol.ServiceWorker.ServiceWorkerErrorMessage} errorMessage |
| 285 */ | 285 */ |
| 286 workerErrorReported(errorMessage) { | 286 workerErrorReported(errorMessage) { |
| 287 this._manager._workerErrorReported(errorMessage); | 287 this._manager._workerErrorReported(errorMessage); |
| 288 } | 288 } |
| 289 }; | 289 }; |
| 290 | 290 |
| 291 /** | 291 /** |
| 292 * @unrestricted | 292 * @unrestricted |
| 293 */ | 293 */ |
| 294 WebInspector.ServiceWorkerVersion = class { | 294 SDK.ServiceWorkerVersion = class { |
| 295 /** | 295 /** |
| 296 * @param {!WebInspector.ServiceWorkerRegistration} registration | 296 * @param {!SDK.ServiceWorkerRegistration} registration |
| 297 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload | 297 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload |
| 298 */ | 298 */ |
| 299 constructor(registration, payload) { | 299 constructor(registration, payload) { |
| 300 this.registration = registration; | 300 this.registration = registration; |
| 301 this._update(payload); | 301 this._update(payload); |
| 302 } | 302 } |
| 303 | 303 |
| 304 /** | 304 /** |
| 305 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload | 305 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload |
| 306 */ | 306 */ |
| 307 _update(payload) { | 307 _update(payload) { |
| 308 this.id = payload.versionId; | 308 this.id = payload.versionId; |
| 309 this.scriptURL = payload.scriptURL; | 309 this.scriptURL = payload.scriptURL; |
| 310 var parsedURL = new WebInspector.ParsedURL(payload.scriptURL); | 310 var parsedURL = new Common.ParsedURL(payload.scriptURL); |
| 311 this.securityOrigin = parsedURL.securityOrigin(); | 311 this.securityOrigin = parsedURL.securityOrigin(); |
| 312 this.runningStatus = payload.runningStatus; | 312 this.runningStatus = payload.runningStatus; |
| 313 this.status = payload.status; | 313 this.status = payload.status; |
| 314 this.scriptLastModified = payload.scriptLastModified; | 314 this.scriptLastModified = payload.scriptLastModified; |
| 315 this.scriptResponseTime = payload.scriptResponseTime; | 315 this.scriptResponseTime = payload.scriptResponseTime; |
| 316 this.controlledClients = []; | 316 this.controlledClients = []; |
| 317 for (var i = 0; i < payload.controlledClients.length; ++i) | 317 for (var i = 0; i < payload.controlledClients.length; ++i) |
| 318 this.controlledClients.push(payload.controlledClients[i]); | 318 this.controlledClients.push(payload.controlledClients[i]); |
| 319 this.targetId = payload.targetId || null; | 319 this.targetId = payload.targetId || null; |
| 320 } | 320 } |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 */ | 402 */ |
| 403 isRedundant() { | 403 isRedundant() { |
| 404 return this.status === Protocol.ServiceWorker.ServiceWorkerVersionStatus.Red
undant; | 404 return this.status === Protocol.ServiceWorker.ServiceWorkerVersionStatus.Red
undant; |
| 405 } | 405 } |
| 406 | 406 |
| 407 /** | 407 /** |
| 408 * @return {string} | 408 * @return {string} |
| 409 */ | 409 */ |
| 410 mode() { | 410 mode() { |
| 411 if (this.isNew() || this.isInstalling()) | 411 if (this.isNew() || this.isInstalling()) |
| 412 return WebInspector.ServiceWorkerVersion.Modes.Installing; | 412 return SDK.ServiceWorkerVersion.Modes.Installing; |
| 413 else if (this.isInstalled()) | 413 else if (this.isInstalled()) |
| 414 return WebInspector.ServiceWorkerVersion.Modes.Waiting; | 414 return SDK.ServiceWorkerVersion.Modes.Waiting; |
| 415 else if (this.isActivating() || this.isActivated()) | 415 else if (this.isActivating() || this.isActivated()) |
| 416 return WebInspector.ServiceWorkerVersion.Modes.Active; | 416 return SDK.ServiceWorkerVersion.Modes.Active; |
| 417 return WebInspector.ServiceWorkerVersion.Modes.Redundant; | 417 return SDK.ServiceWorkerVersion.Modes.Redundant; |
| 418 } | 418 } |
| 419 }; | 419 }; |
| 420 | 420 |
| 421 /** | 421 /** |
| 422 * @enum {string} | 422 * @enum {string} |
| 423 */ | 423 */ |
| 424 WebInspector.ServiceWorkerVersion.Modes = { | 424 SDK.ServiceWorkerVersion.Modes = { |
| 425 Installing: 'installing', | 425 Installing: 'installing', |
| 426 Waiting: 'waiting', | 426 Waiting: 'waiting', |
| 427 Active: 'active', | 427 Active: 'active', |
| 428 Redundant: 'redundant' | 428 Redundant: 'redundant' |
| 429 }; | 429 }; |
| 430 | 430 |
| 431 /** | 431 /** |
| 432 * @unrestricted | 432 * @unrestricted |
| 433 */ | 433 */ |
| 434 WebInspector.ServiceWorkerRegistration = class { | 434 SDK.ServiceWorkerRegistration = class { |
| 435 /** | 435 /** |
| 436 * @param {!Protocol.ServiceWorker.ServiceWorkerRegistration} payload | 436 * @param {!Protocol.ServiceWorker.ServiceWorkerRegistration} payload |
| 437 */ | 437 */ |
| 438 constructor(payload) { | 438 constructor(payload) { |
| 439 this._update(payload); | 439 this._update(payload); |
| 440 /** @type {!Map.<string, !WebInspector.ServiceWorkerVersion>} */ | 440 /** @type {!Map.<string, !SDK.ServiceWorkerVersion>} */ |
| 441 this.versions = new Map(); | 441 this.versions = new Map(); |
| 442 this._deleting = false; | 442 this._deleting = false; |
| 443 /** @type {!Array<!Protocol.ServiceWorker.ServiceWorkerErrorMessage>} */ | 443 /** @type {!Array<!Protocol.ServiceWorker.ServiceWorkerErrorMessage>} */ |
| 444 this.errors = []; | 444 this.errors = []; |
| 445 } | 445 } |
| 446 | 446 |
| 447 /** | 447 /** |
| 448 * @param {!Protocol.ServiceWorker.ServiceWorkerRegistration} payload | 448 * @param {!Protocol.ServiceWorker.ServiceWorkerRegistration} payload |
| 449 */ | 449 */ |
| 450 _update(payload) { | 450 _update(payload) { |
| 451 this._fingerprint = Symbol('fingerprint'); | 451 this._fingerprint = Symbol('fingerprint'); |
| 452 this.id = payload.registrationId; | 452 this.id = payload.registrationId; |
| 453 this.scopeURL = payload.scopeURL; | 453 this.scopeURL = payload.scopeURL; |
| 454 var parsedURL = new WebInspector.ParsedURL(payload.scopeURL); | 454 var parsedURL = new Common.ParsedURL(payload.scopeURL); |
| 455 this.securityOrigin = parsedURL.securityOrigin(); | 455 this.securityOrigin = parsedURL.securityOrigin(); |
| 456 this.isDeleted = payload.isDeleted; | 456 this.isDeleted = payload.isDeleted; |
| 457 this.forceUpdateOnPageLoad = payload.forceUpdateOnPageLoad; | 457 this.forceUpdateOnPageLoad = payload.forceUpdateOnPageLoad; |
| 458 } | 458 } |
| 459 | 459 |
| 460 /** | 460 /** |
| 461 * @return {symbol} | 461 * @return {symbol} |
| 462 */ | 462 */ |
| 463 fingerprint() { | 463 fingerprint() { |
| 464 return this._fingerprint; | 464 return this._fingerprint; |
| 465 } | 465 } |
| 466 | 466 |
| 467 /** | 467 /** |
| 468 * @return {!Map<string, !WebInspector.ServiceWorkerVersion>} | 468 * @return {!Map<string, !SDK.ServiceWorkerVersion>} |
| 469 */ | 469 */ |
| 470 versionsByMode() { | 470 versionsByMode() { |
| 471 /** @type {!Map<string, !WebInspector.ServiceWorkerVersion>} */ | 471 /** @type {!Map<string, !SDK.ServiceWorkerVersion>} */ |
| 472 var result = new Map(); | 472 var result = new Map(); |
| 473 for (var version of this.versions.values()) | 473 for (var version of this.versions.values()) |
| 474 result.set(version.mode(), version); | 474 result.set(version.mode(), version); |
| 475 return result; | 475 return result; |
| 476 } | 476 } |
| 477 | 477 |
| 478 /** | 478 /** |
| 479 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload | 479 * @param {!Protocol.ServiceWorker.ServiceWorkerVersion} payload |
| 480 * @return {!WebInspector.ServiceWorkerVersion} | 480 * @return {!SDK.ServiceWorkerVersion} |
| 481 */ | 481 */ |
| 482 _updateVersion(payload) { | 482 _updateVersion(payload) { |
| 483 this._fingerprint = Symbol('fingerprint'); | 483 this._fingerprint = Symbol('fingerprint'); |
| 484 var version = this.versions.get(payload.versionId); | 484 var version = this.versions.get(payload.versionId); |
| 485 if (!version) { | 485 if (!version) { |
| 486 version = new WebInspector.ServiceWorkerVersion(this, payload); | 486 version = new SDK.ServiceWorkerVersion(this, payload); |
| 487 this.versions.set(payload.versionId, version); | 487 this.versions.set(payload.versionId, version); |
| 488 return version; | 488 return version; |
| 489 } | 489 } |
| 490 version._update(payload); | 490 version._update(payload); |
| 491 return version; | 491 return version; |
| 492 } | 492 } |
| 493 | 493 |
| 494 /** | 494 /** |
| 495 * @return {boolean} | 495 * @return {boolean} |
| 496 */ | 496 */ |
| (...skipping 14 matching lines...) Expand all Loading... |
| 511 | 511 |
| 512 clearErrors() { | 512 clearErrors() { |
| 513 this._fingerprint = Symbol('fingerprint'); | 513 this._fingerprint = Symbol('fingerprint'); |
| 514 this.errors = []; | 514 this.errors = []; |
| 515 } | 515 } |
| 516 }; | 516 }; |
| 517 | 517 |
| 518 /** | 518 /** |
| 519 * @unrestricted | 519 * @unrestricted |
| 520 */ | 520 */ |
| 521 WebInspector.ServiceWorkerContextNamer = class { | 521 SDK.ServiceWorkerContextNamer = class { |
| 522 /** | 522 /** |
| 523 * @param {!WebInspector.Target} target | 523 * @param {!SDK.Target} target |
| 524 * @param {!WebInspector.ServiceWorkerManager} serviceWorkerManager | 524 * @param {!SDK.ServiceWorkerManager} serviceWorkerManager |
| 525 * @param {!WebInspector.SubTargetsManager} subTargetsManager | 525 * @param {!SDK.SubTargetsManager} subTargetsManager |
| 526 */ | 526 */ |
| 527 constructor(target, serviceWorkerManager, subTargetsManager) { | 527 constructor(target, serviceWorkerManager, subTargetsManager) { |
| 528 this._target = target; | 528 this._target = target; |
| 529 this._serviceWorkerManager = serviceWorkerManager; | 529 this._serviceWorkerManager = serviceWorkerManager; |
| 530 this._subTargetsManager = subTargetsManager; | 530 this._subTargetsManager = subTargetsManager; |
| 531 /** @type {!Map<string, !WebInspector.ServiceWorkerVersion>} */ | 531 /** @type {!Map<string, !SDK.ServiceWorkerVersion>} */ |
| 532 this._versionByTargetId = new Map(); | 532 this._versionByTargetId = new Map(); |
| 533 serviceWorkerManager.addEventListener( | 533 serviceWorkerManager.addEventListener( |
| 534 WebInspector.ServiceWorkerManager.Events.RegistrationUpdated, this._regi
strationsUpdated, this); | 534 SDK.ServiceWorkerManager.Events.RegistrationUpdated, this._registrations
Updated, this); |
| 535 serviceWorkerManager.addEventListener( | 535 serviceWorkerManager.addEventListener( |
| 536 WebInspector.ServiceWorkerManager.Events.RegistrationDeleted, this._regi
strationsUpdated, this); | 536 SDK.ServiceWorkerManager.Events.RegistrationDeleted, this._registrations
Updated, this); |
| 537 WebInspector.targetManager.addModelListener( | 537 SDK.targetManager.addModelListener( |
| 538 WebInspector.RuntimeModel, WebInspector.RuntimeModel.Events.ExecutionCon
textCreated, | 538 SDK.RuntimeModel, SDK.RuntimeModel.Events.ExecutionContextCreated, |
| 539 this._executionContextCreated, this); | 539 this._executionContextCreated, this); |
| 540 } | 540 } |
| 541 | 541 |
| 542 /** | 542 /** |
| 543 * @param {!WebInspector.Event} event | 543 * @param {!Common.Event} event |
| 544 */ | 544 */ |
| 545 _registrationsUpdated(event) { | 545 _registrationsUpdated(event) { |
| 546 this._versionByTargetId.clear(); | 546 this._versionByTargetId.clear(); |
| 547 var registrations = this._serviceWorkerManager.registrations().valuesArray()
; | 547 var registrations = this._serviceWorkerManager.registrations().valuesArray()
; |
| 548 for (var registration of registrations) { | 548 for (var registration of registrations) { |
| 549 var versions = registration.versions.valuesArray(); | 549 var versions = registration.versions.valuesArray(); |
| 550 for (var version of versions) { | 550 for (var version of versions) { |
| 551 if (version.targetId) | 551 if (version.targetId) |
| 552 this._versionByTargetId.set(version.targetId, version); | 552 this._versionByTargetId.set(version.targetId, version); |
| 553 } | 553 } |
| 554 } | 554 } |
| 555 this._updateAllContextLabels(); | 555 this._updateAllContextLabels(); |
| 556 } | 556 } |
| 557 | 557 |
| 558 /** | 558 /** |
| 559 * @param {!WebInspector.Event} event | 559 * @param {!Common.Event} event |
| 560 */ | 560 */ |
| 561 _executionContextCreated(event) { | 561 _executionContextCreated(event) { |
| 562 var executionContext = /** @type {!WebInspector.ExecutionContext} */ (event.
data); | 562 var executionContext = /** @type {!SDK.ExecutionContext} */ (event.data); |
| 563 var serviceWorkerTargetId = this._serviceWorkerTargetIdForWorker(executionCo
ntext.target()); | 563 var serviceWorkerTargetId = this._serviceWorkerTargetIdForWorker(executionCo
ntext.target()); |
| 564 if (!serviceWorkerTargetId) | 564 if (!serviceWorkerTargetId) |
| 565 return; | 565 return; |
| 566 this._updateContextLabel(executionContext, this._versionByTargetId.get(servi
ceWorkerTargetId) || null); | 566 this._updateContextLabel(executionContext, this._versionByTargetId.get(servi
ceWorkerTargetId) || null); |
| 567 } | 567 } |
| 568 | 568 |
| 569 /** | 569 /** |
| 570 * @param {!WebInspector.Target} target | 570 * @param {!SDK.Target} target |
| 571 * @return {?string} | 571 * @return {?string} |
| 572 */ | 572 */ |
| 573 _serviceWorkerTargetIdForWorker(target) { | 573 _serviceWorkerTargetIdForWorker(target) { |
| 574 var parent = target.parentTarget(); | 574 var parent = target.parentTarget(); |
| 575 if (!parent || parent.parentTarget() !== this._target) | 575 if (!parent || parent.parentTarget() !== this._target) |
| 576 return null; | 576 return null; |
| 577 var targetInfo = this._subTargetsManager.targetInfo(parent); | 577 var targetInfo = this._subTargetsManager.targetInfo(parent); |
| 578 if (!targetInfo || targetInfo.type !== 'service_worker') | 578 if (!targetInfo || targetInfo.type !== 'service_worker') |
| 579 return null; | 579 return null; |
| 580 return targetInfo.id; | 580 return targetInfo.id; |
| 581 } | 581 } |
| 582 | 582 |
| 583 _updateAllContextLabels() { | 583 _updateAllContextLabels() { |
| 584 for (var target of WebInspector.targetManager.targets()) { | 584 for (var target of SDK.targetManager.targets()) { |
| 585 var serviceWorkerTargetId = this._serviceWorkerTargetIdForWorker(target); | 585 var serviceWorkerTargetId = this._serviceWorkerTargetIdForWorker(target); |
| 586 if (!serviceWorkerTargetId) | 586 if (!serviceWorkerTargetId) |
| 587 continue; | 587 continue; |
| 588 var version = this._versionByTargetId.get(serviceWorkerTargetId) || null; | 588 var version = this._versionByTargetId.get(serviceWorkerTargetId) || null; |
| 589 for (var context of target.runtimeModel.executionContexts()) | 589 for (var context of target.runtimeModel.executionContexts()) |
| 590 this._updateContextLabel(context, version); | 590 this._updateContextLabel(context, version); |
| 591 } | 591 } |
| 592 } | 592 } |
| 593 | 593 |
| 594 /** | 594 /** |
| 595 * @param {!WebInspector.ExecutionContext} context | 595 * @param {!SDK.ExecutionContext} context |
| 596 * @param {?WebInspector.ServiceWorkerVersion} version | 596 * @param {?SDK.ServiceWorkerVersion} version |
| 597 */ | 597 */ |
| 598 _updateContextLabel(context, version) { | 598 _updateContextLabel(context, version) { |
| 599 var parsedUrl = context.origin.asParsedURL(); | 599 var parsedUrl = context.origin.asParsedURL(); |
| 600 var label = parsedUrl ? parsedUrl.lastPathComponentWithFragment() : context.
name; | 600 var label = parsedUrl ? parsedUrl.lastPathComponentWithFragment() : context.
name; |
| 601 if (version) | 601 if (version) |
| 602 context.setLabel(label + ' #' + version.id + ' (' + version.status + ')'); | 602 context.setLabel(label + ' #' + version.id + ' (' + version.status + ')'); |
| 603 else | 603 else |
| 604 context.setLabel(label); | 604 context.setLabel(label); |
| 605 } | 605 } |
| 606 }; | 606 }; |
| OLD | NEW |