diff options
Diffstat (limited to 'netwerk/protocol/http/WellKnownOpportunisticUtils.jsm')
-rw-r--r-- | netwerk/protocol/http/WellKnownOpportunisticUtils.jsm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/netwerk/protocol/http/WellKnownOpportunisticUtils.jsm b/netwerk/protocol/http/WellKnownOpportunisticUtils.jsm new file mode 100644 index 0000000000..cf3c7e78ce --- /dev/null +++ b/netwerk/protocol/http/WellKnownOpportunisticUtils.jsm @@ -0,0 +1,30 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* 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"; + +function WellKnownOpportunisticUtils() { + this.valid = false; + this.mixed = false; + this.lifetime = 0; +} + +WellKnownOpportunisticUtils.prototype = { + QueryInterface: ChromeUtils.generateQI(["nsIWellKnownOpportunisticUtils"]), + + verify(aJSON, aOrigin) { + try { + let arr = JSON.parse(aJSON.toLowerCase()); + if (!arr.includes(aOrigin.toLowerCase())) { + throw new Error("invalid origin"); + } + } catch (e) { + return; + } + this.valid = true; + }, +}; + +var EXPORTED_SYMBOLS = ["WellKnownOpportunisticUtils"]; |