104 lines
4.2 KiB
JavaScript
104 lines
4.2 KiB
JavaScript
/* 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/. */
|
|
|
|
/* Custom TenFourFox prefpanel (C)2016 Cameron Kaiser */
|
|
|
|
Components.utils.import("resource://gre/modules/AppConstants.jsm");
|
|
Components.utils.import("resource://gre/modules/Services.jsm");
|
|
|
|
var gTenFourFoxPane = {
|
|
|
|
init: function ()
|
|
{
|
|
function setEventListener(aId, aEventType, aCallback)
|
|
{
|
|
document.getElementById(aId)
|
|
.addEventListener(aEventType, aCallback.bind(gTenFourFoxPane));
|
|
}
|
|
|
|
setEventListener("siteSpecificUAs", "command", gTenFourFoxPane.showSSUAs);
|
|
setEventListener("autoReaderView", "command", gTenFourFoxPane.showAutoRV);
|
|
},
|
|
|
|
showSSUAs: function ()
|
|
{
|
|
let bundle = document.getElementById("tenFourFoxBundle");
|
|
let params = { blockVisible : true,
|
|
sessionVisible : true,
|
|
allowVisible : true,
|
|
prefilledHost : "",
|
|
type : "ssua",
|
|
windowTitle : bundle.getString("TFFsiteSpecificUAs.title"),
|
|
introText : bundle.getString("TFFsiteSpecificUAs.prompt") };
|
|
gSubDialog.open("chrome://browser/content/preferences/tenfourfox-ssua.xul",
|
|
null, params);
|
|
},
|
|
|
|
showAutoRV: function ()
|
|
{
|
|
let bundle = document.getElementById("tenFourFoxBundle");
|
|
let params = { blockVisible : true,
|
|
sessionVisible : true,
|
|
allowVisible : true,
|
|
prefilledHost : "",
|
|
type : "autorv",
|
|
windowTitle : bundle.getString("TFFautoReaderView.title"),
|
|
introText : bundle.getString("TFFautoReaderView.prompt") };
|
|
gSubDialog.open("chrome://browser/content/preferences/tenfourfox-autorv.xul",
|
|
null, params);
|
|
},
|
|
|
|
|
|
// We have to invert the sense for the pdfjs.disabled pref, since true equals DISabled.
|
|
|
|
readPDFjs: function ()
|
|
{
|
|
var pref = document.getElementById("pdfjs.disabled");
|
|
return (!(pref.value));
|
|
},
|
|
writePDFjs: function ()
|
|
{
|
|
var nupref = document.getElementById("pdfJsCheckbox");
|
|
return (!(nupref.checked));
|
|
},
|
|
|
|
// Find and set the appropriate UA string based on the UA template.
|
|
// Keep in sync with tenfourfox-ssua.xul and tenfourfox.xul
|
|
validUA : {
|
|
"fx" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Firefox/52.0",
|
|
"fx60" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Firefox/60.0",
|
|
"fx68" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Firefox/68.0",
|
|
"fx78" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0",
|
|
"fx91" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 12.0; rv:91.0) Gecko/20100101 Firefox/91.0",
|
|
"classilla" : "NokiaN90-1/3.0545.5.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1 (en-US; rv:9.3.3) Clecko/20141026 Classilla/CFM",
|
|
"ie8" : "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)",
|
|
"ie11" : "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
"android" : "Mozilla/5.0 (Linux; Android 8.1.0; Pixel XL Build/OPM1.171019.021) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36",
|
|
"ipad" : "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1"
|
|
},
|
|
readUA: function ()
|
|
{
|
|
var pref = document.getElementById("tenfourfox.ua.template");
|
|
if (!pref) return "";
|
|
|
|
// Synchronize the pref on entry in case it's stale.
|
|
pref = pref.value;
|
|
if (this.validUA[pref]) {
|
|
Services.prefs.setCharPref("general.useragent.override", this.validUA[pref]);
|
|
return pref;
|
|
}
|
|
return "";
|
|
},
|
|
writeUA : function()
|
|
{
|
|
var nupref = document.getElementById("uaBox").value;
|
|
if (this.validUA[nupref]) {
|
|
Services.prefs.setCharPref("general.useragent.override", this.validUA[nupref]);
|
|
return nupref;
|
|
}
|
|
Services.prefs.clearUserPref("general.useragent.override");
|
|
return "";
|
|
},
|
|
};
|