1 var tabs = require("sdk/tabs");
2 const {Cu} = require("chrome");
4 for (i = 0; i < 10; i++) {
8 console.log("About to load ctypes");
9 Cu.import("resource://gre/modules/ctypes.jsm");
10 console.log(" ... loaded.");
15 // TODO: detect which OS we're running, and proactively search for the
16 // correct library name.
17 console.log("About to load libjsongssapi");
19 json_gssapi = ctypes.open("libjsongssapi.so");
23 json_gssapi = ctypes.open("libjsongssapi.dll");
26 console.log(" ... " + e);
29 console.log(" ... loaded.");
31 console.log("Declaring the call_gss function:");
32 const call_gss = json_gssapi.declare("gss_request",
36 console.log(" ... declared.");
38 console.log("Calling import_name");
40 reply = call_gss("{\"method\":\"gss_import_name\",\"arguments\":{\"input_name\":\"HTTP@localhost\",\"input_name_type\":\"{1 2 840 113554 1 2 1 4 }\"}}");
41 console.log(" ... Reply: " + reply.readString());
44 var self = require("sdk/self");
45 var data = require("sdk/self").data;
46 var pageMod = require("sdk/page-mod");
50 contentScriptFile: [data.url("navigator.gss.js")],
51 contentScriptWhen: "ready"
54 tabs.on("ready", function(tab) {
55 worker = tab.attach({ contentScriptFile: data.url("navigator.gss.js") });
56 worker.port.on("gss_request", function(message) {
57 console.log("main.js received message: " + message);
59 worker.port.emit("alert", "Message from the add-on");
64 myListener: function(evt) {
65 alert("Received from web page: " +
66 evt.target.getAttribute("attribute1") + "/" +
67 evt.target.getAttribute("attribute2"));
70 //document.addEventListener("GsswebEvent", function(e) { gssweb.myListener(e); }, false, true);
71 // The last value is a Mozilla-specific value to indicate untrusted content is allowed to trigger the event.