From 23fb55bf38469a5dcc2dd7b8c45807f5535d6382 Mon Sep 17 00:00:00 2001 From: hackademix Date: Sun, 26 May 2019 15:42:00 +0200 Subject: More accurate algorithm to account for permissions changes in the UI triggering automatic reloads. --- src/common/Policy.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/common') diff --git a/src/common/Policy.js b/src/common/Policy.js index 4fbc4ec..c61596d 100644 --- a/src/common/Policy.js +++ b/src/common/Policy.js @@ -238,7 +238,20 @@ var {Permissions, Policy, Sites} = (() => { } return enabled; } - + sameAs(otherPerms) { + let otherCaps = new Set(otherPerms.capabilities); + let theseCaps = this.capabilities; + for (let c of theseCaps) { + if (!otherCaps.delete(c)) return false; + } + for (let c of otherCaps) { + if (!theseCaps.has(c)) return false; + } + return true; + } + clone() { + return new Permissions(this.capabilities, this.temp, this.context); + } get tempTwin() { return this._tempTwin || (this._tempTwin = new Permissions(this.capabilities, true, this.contextual)); } -- cgit v1.2.3