summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/WellKnownOpportunisticUtils.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /netwerk/protocol/http/WellKnownOpportunisticUtils.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'netwerk/protocol/http/WellKnownOpportunisticUtils.js')
-rw-r--r--netwerk/protocol/http/WellKnownOpportunisticUtils.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/netwerk/protocol/http/WellKnownOpportunisticUtils.js b/netwerk/protocol/http/WellKnownOpportunisticUtils.js
new file mode 100644
index 000000000..865f2a6b4
--- /dev/null
+++ b/netwerk/protocol/http/WellKnownOpportunisticUtils.js
@@ -0,0 +1,43 @@
+/* -*- 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';
+
+const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+const WELLKNOWNOPPORTUNISTICUTILS_CONTRACTID = "@mozilla.org/network/well-known-opportunistic-utils;1";
+const WELLKNOWNOPPORTUNISTICUTILS_CID = Components.ID("{b4f96c89-5238-450c-8bda-e12c26f1d150}");
+
+function WellKnownOpportunisticUtils() {
+ this.valid = false;
+ this.mixed = false;
+ this.lifetime = 0;
+}
+
+WellKnownOpportunisticUtils.prototype = {
+ classID: WELLKNOWNOPPORTUNISTICUTILS_CID,
+ contractID: WELLKNOWNOPPORTUNISTICUTILS_CONTRACTID,
+ classDescription: "Well-Known Opportunistic Utils",
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIWellKnownOpportunisticUtils]),
+
+ verify: function(aJSON, aOrigin, aAlternatePort) {
+ try {
+ let obj = JSON.parse(aJSON.toLowerCase());
+ let ports = obj[aOrigin.toLowerCase()]['tls-ports'];
+ if (ports.indexOf(aAlternatePort) == -1) {
+ throw "invalid port";
+ }
+ this.lifetime = obj[aOrigin.toLowerCase()]['lifetime'];
+ this.mixed = obj[aOrigin.toLowerCase()]['mixed-scheme'];
+ } catch (e) {
+ return;
+ }
+ this.valid = true;
+ },
+};
+
+this.NSGetFactory = XPCOMUtils.generateNSGetFactory([WellKnownOpportunisticUtils]);