diff options
Diffstat (limited to 'browser/components/sessionstore/DocShellCapabilities.jsm')
-rw-r--r-- | browser/components/sessionstore/DocShellCapabilities.jsm | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/browser/components/sessionstore/DocShellCapabilities.jsm b/browser/components/sessionstore/DocShellCapabilities.jsm deleted file mode 100644 index 098aae86f..000000000 --- a/browser/components/sessionstore/DocShellCapabilities.jsm +++ /dev/null @@ -1,50 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this file, -* You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["DocShellCapabilities"]; - -/** - * The external API exported by this module. - */ -this.DocShellCapabilities = Object.freeze({ - collect: function (docShell) { - return DocShellCapabilitiesInternal.collect(docShell); - }, - - restore: function (docShell, disallow) { - return DocShellCapabilitiesInternal.restore(docShell, disallow); - }, -}); - -/** - * Internal functionality to save and restore the docShell.allow* properties. - */ -var DocShellCapabilitiesInternal = { - // List of docShell capabilities to (re)store. These are automatically - // retrieved from a given docShell if not already collected before. - // This is made so they're automatically in sync with all nsIDocShell.allow* - // properties. - caps: null, - - allCapabilities: function (docShell) { - if (!this.caps) { - let keys = Object.keys(docShell); - this.caps = keys.filter(k => k.startsWith("allow")).map(k => k.slice(5)); - } - return this.caps; - }, - - collect: function (docShell) { - let caps = this.allCapabilities(docShell); - return caps.filter(cap => !docShell["allow" + cap]); - }, - - restore: function (docShell, disallow) { - let caps = this.allCapabilities(docShell); - for (let cap of caps) - docShell["allow" + cap] = !disallow.has(cap); - }, -}; |