diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/Policy.js | 15 |
1 files changed, 14 insertions, 1 deletions
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)); } |