174 lines
6.1 KiB
JavaScript
174 lines
6.1 KiB
JavaScript
/*var self = require("sdk/self");
|
|
|
|
var buttons;
|
|
try {
|
|
buttons = require('sdk/ui/button/action');
|
|
} catch (ex) {
|
|
buttons = null;
|
|
}
|
|
var tabs = require("sdk/tabs");
|
|
|
|
const {Cc, Ci, Cu, Cr} = require("chrome");*/
|
|
|
|
/*if (buttons != null) {//null -> 24
|
|
var button = buttons.ActionButton({
|
|
id: "mozilla-link",
|
|
label: "Befator Inc. Secure-Web!",
|
|
icon: {
|
|
"16": "./icon-64.png",
|
|
"32": "./icon-64.png",
|
|
"64": "./icon-64.png"
|
|
},
|
|
onClick: handleClick
|
|
});
|
|
} else {
|
|
var widgets = require("sdk/widget")
|
|
var widget = widgets.Widget({
|
|
id: "mozilla-link",
|
|
label: "Befator Inc. Secure-Web!",
|
|
contentURL: "resource://befatoraddon-at-jetpack/befatoraddon/data/icon-64.png",
|
|
onClick: handleClick
|
|
});
|
|
}*/
|
|
var EXPORTED_SYMBOLS = ["befatorUpdate", "handleBefatorClick", "getServices"];
|
|
|
|
//console.log("Befator Inc grüßt Sie!");
|
|
|
|
function getServices(window) {
|
|
try {
|
|
return window.Cu.import('resource://gre/modules/Services.jsm').Services;
|
|
} catch (e) {//e -> 3.6
|
|
return Services = {
|
|
io: Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService),
|
|
obs: Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService),
|
|
prefs: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch(""),
|
|
prompt: Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService)
|
|
}
|
|
}
|
|
}
|
|
|
|
function handleBefatorClick(window) {
|
|
var Services = getServices(window);
|
|
|
|
var request = new window.XMLHttpRequest();
|
|
request.onreadystatechange = function() {
|
|
if (request.readyState == 4) {
|
|
Services.prompt.alert(window, "Befator Inc Secure-Web", request.responseText);
|
|
}
|
|
}
|
|
request.open("GET", "http://proxy.befatorinc.de/api/progressMessage?currentPage=" + window.document.getElementById("content").selectedBrowser.contentDocument.location.href.replace("http://", ""), true);
|
|
request.send(null);
|
|
//tabs.open("https://wiki.befatorinc.de/index.php/Hauptseite");
|
|
}
|
|
|
|
function realHandleWindow(window) {
|
|
if (Components.utils.import != undefined) {//undefined -> 2.0
|
|
Components.utils.import("resource://befatoraddon/main.jsm");
|
|
} else {
|
|
Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader).loadSubScript("chrome://befatoraddon/content/main.jsm");
|
|
}
|
|
onBefatorWindow(window);
|
|
}
|
|
|
|
function handleWindow(window) {
|
|
if (window.document.readyState == "complete") {
|
|
//window.console.log("Window!");
|
|
realHandleWindow(window);
|
|
} else {
|
|
window.addEventListener('load', function(e) {
|
|
realHandleWindow(window);
|
|
}, false);
|
|
}
|
|
}
|
|
|
|
var init = false;
|
|
function befatorUpdate(window) {
|
|
if (Components.utils.import == undefined) {//undefined -> 2.0
|
|
var globalWindow = Components.classes["@mozilla.org/appshell/appShellService;1"].getService(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
|
|
init = globalWindow.befatorWebInit;
|
|
}
|
|
|
|
if (!init) {
|
|
if (Components.utils.import != undefined) {//undefined -> 2.0
|
|
init = true;
|
|
} else {
|
|
globalWindow.befatorWebInit = true;
|
|
}
|
|
var Services = getServices(window);
|
|
|
|
var observers = {
|
|
'homepage-pref': {
|
|
observe: function (aSubject, aTopic, aData) {
|
|
//befatorWindow.console.log("HomePage!");
|
|
if (Services.prefs.getCharPref("browser.startup.homepage") != "about:home") {
|
|
Services.prefs.setCharPref("browser.startup.homepage", "about:home");
|
|
}
|
|
},
|
|
reg: function () {
|
|
var pref = Services.prefs;
|
|
if (pref.addObserver == undefined) {//undefined -> 3.6
|
|
pref = pref.QueryInterface(Components.interfaces.nsIPrefBranch2);
|
|
}
|
|
pref.addObserver("browser.startup.homepage", observers['homepage-pref'], false);
|
|
},
|
|
unreg: function () {
|
|
//Services.obs.removeObserver(observers['http-on-modify-request'], 'http-on-modify-request');
|
|
}
|
|
},
|
|
'proxy-pref': {
|
|
observe: function (aSubject, aTopic, aData) {
|
|
if (Services.prefs.getCharPref("network.proxy.http") != "192.168.0.84") {
|
|
Services.prefs.setCharPref("network.proxy.http", "192.168.0.84");
|
|
}
|
|
if (Services.prefs.getIntPref("network.proxy.http_port") != 3636) {
|
|
Services.prefs.setIntPref("network.proxy.http_port", 3636);
|
|
}
|
|
if (Services.prefs.getCharPref("network.proxy.ssl") != "192.168.0.84") {
|
|
Services.prefs.setCharPref("network.proxy.ssl", "192.168.0.84");
|
|
}
|
|
if (Services.prefs.getIntPref("network.proxy.ssl_port") != 3636) {
|
|
Services.prefs.setIntPref("network.proxy.ssl_port", 3636);
|
|
}
|
|
if (Services.prefs.getIntPref("network.proxy.type") != 1) {
|
|
Services.prefs.setIntPref("network.proxy.type", 1);
|
|
}
|
|
},
|
|
reg: function () {
|
|
var pref = Services.prefs;
|
|
if (pref.addObserver == undefined) {//undefined -> 3.6
|
|
pref = pref.QueryInterface(Components.interfaces.nsIPrefBranch2)
|
|
}
|
|
pref.addObserver("network.proxy.http", observers['proxy-pref'], false);
|
|
pref.addObserver("network.proxy.http_port", observers['proxy-pref'], false);
|
|
pref.addObserver("network.proxy.ssl", observers['proxy-pref'], false);
|
|
pref.addObserver("network.proxy.ssl_port", observers['proxy-pref'], false);
|
|
pref.addObserver("network.proxy.type", observers['proxy-pref'], false);
|
|
pref.setCharPref("network.proxy.http", "update-trigger");
|
|
},
|
|
unreg: function () {
|
|
//Services.obs.removeObserver(observers['http-on-modify-request'], 'http-on-modify-request');
|
|
}
|
|
},
|
|
'toplevel-window-ready': {
|
|
observe: function (aSubject, aTopic, aData) {
|
|
handleWindow(aSubject);
|
|
},
|
|
reg: function () {
|
|
Services.obs.addObserver(observers['toplevel-window-ready'], 'toplevel-window-ready', false);
|
|
},
|
|
unreg: function () {
|
|
Services.obs.removeObserver(observers['toplevel-window-ready'], 'toplevel-window-ready');
|
|
}
|
|
}
|
|
};
|
|
|
|
//console.log("Startup");
|
|
|
|
for (var o in observers) {
|
|
observers[o].reg();
|
|
}
|
|
|
|
handleWindow(window);
|
|
}
|
|
}
|