summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/WellKnownOpportunisticUtils.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/protocol/http/WellKnownOpportunisticUtils.jsm')
-rw-r--r--netwerk/protocol/http/WellKnownOpportunisticUtils.jsm30
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"];