diff options
Diffstat (limited to 'toolkit/devtools/webide/content/wifi-auth.js')
-rw-r--r-- | toolkit/devtools/webide/content/wifi-auth.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/toolkit/devtools/webide/content/wifi-auth.js b/toolkit/devtools/webide/content/wifi-auth.js new file mode 100644 index 000000000..23ef92046 --- /dev/null +++ b/toolkit/devtools/webide/content/wifi-auth.js @@ -0,0 +1,44 @@ +/* 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 Cu = Components.utils; +const { Services } = Cu.import("resource://gre/modules/Services.jsm"); +const { require } = + Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools; +const QR = require("devtools/toolkit/qrcode/index"); + +window.addEventListener("load", function onLoad() { + window.removeEventListener("load", onLoad); + document.getElementById("close").onclick = () => window.close(); + document.getElementById("no-scanner").onclick = showToken; + document.getElementById("yes-scanner").onclick = hideToken; + buildUI(); +}); + +function buildUI() { + let { oob } = window.arguments[0]; + createQR(oob); + createToken(oob); +} + +function createQR(oob) { + let oobData = JSON.stringify(oob); + let imgData = QR.encodeToDataURI(oobData, "L" /* low quality */); + document.querySelector("#qr-code img").src = imgData.src; +} + +function createToken(oob) { + let token = oob.sha256.replace(/:/g, "").toLowerCase() + oob.k; + document.querySelector("#token pre").textContent = token; +} + +function showToken() { + document.querySelector("body").setAttribute("token", "true"); +} + +function hideToken() { + document.querySelector("body").removeAttribute("token"); +} |