Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/sdk/SecurityOriginManager.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/SecurityOriginManager.js b/third_party/WebKit/Source/devtools/front_end/sdk/SecurityOriginManager.js |
| index 2b0b903fa3fe02e5b361a455438be235710cca3b..e0ad468e2e58cbe3a3a84a9d07c5ab73fc9d4e0d 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/SecurityOriginManager.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/SecurityOriginManager.js |
| @@ -11,7 +11,8 @@ SDK.SecurityOriginManager = class extends SDK.SDKModel { |
| constructor(target) { |
| super(SDK.SecurityOriginManager, target); |
| - this._securityOriginCounter = new Map(); |
| + /** @type {!Set<string>} */ |
| + this._securityOrigins = new Set(); |
| this._mainSecurityOrigin = ''; |
| } |
| @@ -27,36 +28,28 @@ SDK.SecurityOriginManager = class extends SDK.SDKModel { |
| } |
| /** |
| - * @param {string} securityOrigin |
| + * @param {!Set<string>} securityOrigins |
| */ |
| - addSecurityOrigin(securityOrigin) { |
| - var currentCount = this._securityOriginCounter.get(securityOrigin); |
| - if (!currentCount) { |
| - this._securityOriginCounter.set(securityOrigin, 1); |
| - this.dispatchEventToListeners(SDK.SecurityOriginManager.Events.SecurityOriginAdded, securityOrigin); |
| - return; |
| + updateSecurityOrigins(securityOrigins) { |
| + var oldOrigins = this._securityOrigins; |
| + this._securityOrigins = new Set(securityOrigins); |
|
pfeldman
2017/01/09 20:34:47
No need to wrap in a new set, it is already a set.
eostroukhov
2017/01/09 22:09:49
I don't trust API users... But I changed the code.
|
| + |
| + for (var origin of oldOrigins) { |
| + if (!this._securityOrigins.has(origin)) |
| + this.dispatchEventToListeners(SDK.SecurityOriginManager.Events.SecurityOriginRemoved, origin); |
| } |
| - this._securityOriginCounter.set(securityOrigin, currentCount + 1); |
| - } |
| - /** |
| - * @param {string} securityOrigin |
| - */ |
| - removeSecurityOrigin(securityOrigin) { |
| - var currentCount = this._securityOriginCounter.get(securityOrigin); |
| - if (currentCount === 1) { |
| - this._securityOriginCounter.delete(securityOrigin); |
| - this.dispatchEventToListeners(SDK.SecurityOriginManager.Events.SecurityOriginRemoved, securityOrigin); |
| - return; |
| + for (var origin of this._securityOrigins) { |
| + if (!oldOrigins.has(origin)) |
| + this.dispatchEventToListeners(SDK.SecurityOriginManager.Events.SecurityOriginAdded, origin); |
| } |
| - this._securityOriginCounter.set(securityOrigin, currentCount - 1); |
| } |
| /** |
| * @return {!Array<string>} |
| */ |
| securityOrigins() { |
| - return this._securityOriginCounter.keysArray(); |
| + return this._securityOrigins.valuesArray(); |
| } |
| /** |