-// Toggles the cache
-function webdeveloper_toggleCache(element)
-{
- webdeveloper_disablePreference(element, "browser.cache.disk.enable");
- webdeveloper_disablePreference(element, "browser.cache.memory.enable");
-}
-
-// Toggles Java
-function webdeveloper_toggleJava(element)
-{
- webdeveloper_disablePreference(element, "security.enable_java");
-}
-
-// Toggle JavaScript
-function webdeveloper_toggleJavaScript(element)
-{
- var javaScriptButton = document.getElementById("webdeveloper-javascript-statusbar");
-
- webdeveloper_disablePreference(element, "javascript.enabled");
-
- // If the JavaScript button exists
- if(javaScriptButton)
- {
- // If disabling JavaScript
- if(element.getAttribute("checked"))
- {
- javaScriptButton.setAttribute("class", "disabled");
- javaScriptButton.setAttribute("tooltiptext", document.getElementById("webdeveloper-string-bundle").getString("webdeveloper_javaScriptDisabledTooltip"));
- }
- else
- {
- // If the JavaScript button has a class attribute
- if(javaScriptButton.hasAttribute("class"))
- {
- javaScriptButton.removeAttribute("class");
- }
-
- // If the JavaScript button has a tooltip text attribute
- if(javaScriptButton.hasAttribute("tooltiptext"))
- {
- javaScriptButton.removeAttribute("tooltiptext");
- }
- }
- }
-}
-
-// Toggles meta redirects
-function webdeveloper_toggleMetaRedirects(element)
-{
- var allowMetaRedirects = true;
- var browsers = getBrowser().browsers;
- var browserLength = browsers.length;
-
- // If the element is checked
- if(element.getAttribute("checked"))
- {
- allowMetaRedirects = false;
- }
-
- // Loop through the browsers
- for(var i = 0; i < browserLength; i++)
- {
- browsers[i].docShell.allowMetaRedirects = allowMetaRedirects;
- }
-
- webdeveloper_enablePreference(element, "webdeveloper.meta.redirects.disable");
-}
-
-// Toggles the minimum font size
-function webdeveloper_toggleMinimumFontSize(element)
-{
- var defaultFontSize = 10;
- var minimumFontSize = null;
-
- // If disabling the minimum font size
- if(element.getAttribute("checked"))
- {
- minimumFontSize = webdeveloper_getIntegerPreference("font.minimum-size.x-western", true);
-
- // If the minimum font size is not set
- if(minimumFontSize == 0)
- {
- minimumFontSize = defaultFontSize;
- }
-
- webdeveloper_deletePreference("font.minimum-size.x-western");
- webdeveloper_setIntegerPreference("webdeveloper.font.minimum.size", minimumFontSize);
- }
- else
- {
- minimumFontSize = webdeveloper_getIntegerPreference("webdeveloper.font.minimum.size", true);
-
- // If the minimum font size is not set
- if(minimumFontSize == 0)
- {
- minimumFontSize = defaultFontSize;
- }
-
- webdeveloper_deletePreference("webdeveloper.font.minimum.size");
- webdeveloper_setIntegerPreference("font.minimum-size.x-western", minimumFontSize);
- }
-
- BrowserReload();
-}
-
-// Toggles the page colors
-function webdeveloper_togglePageColors(element)
-{
- webdeveloper_disablePreference(element, "browser.display.use_document_colors");
- BrowserReload();
-}
-
-// Toggles the proxy settings
-function webdeveloper_toggleProxy(element)
-{
- // If disabling the proxy
- if(element.getAttribute("checked"))
- {
- webdeveloper_setIntegerPreference("webdeveloper.proxy.type", webdeveloper_getIntegerPreference("network.proxy.type", true));
- webdeveloper_deletePreference("network.proxy.type");
- }
- else
- {
- webdeveloper_setIntegerPreference("network.proxy.type", webdeveloper_getIntegerPreference("webdeveloper.proxy.type", true));
- webdeveloper_deletePreference("webdeveloper.proxy.type");
- }
-}
-
-// Toggles referrers
-function webdeveloper_toggleReferrers(element)
-{
- var sendReferrer = 2;
-
- // If disabling referrers
- if(element.getAttribute("checked"))
- {
- sendReferrer = 0;
- }
-
- webdeveloper_setIntegerPreference("network.http.sendRefererHeader", sendReferrer);
-}
-
-// Updates the disable menu
-function webdeveloper_updateDisableMenu(suffix)
-{
- var checked = !webdeveloper_getBooleanPreference("browser.cache.disk.enable", false) && !webdeveloper_getBooleanPreference("browser.cache.memory.enable", false);
- var menu = document.getElementById("webdeveloper-disable-proxy-" + suffix);
-
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-cache-" + suffix), "checked", checked);
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-java-" + suffix), "checked", !webdeveloper_getBooleanPreference("security.enable_java", false));
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-javascript-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.enabled", false));
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-meta-redirects-" + suffix), "checked", webdeveloper_getBooleanPreference("webdeveloper.meta.redirects.disable", true));
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-minimum-font-size-" + suffix), "checked", webdeveloper_getIntegerPreference("font.minimum-size.x-western", true) == 0);
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-page-colors-" + suffix), "checked", !webdeveloper_getBooleanPreference("browser.display.use_document_colors", false));
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-popup-blocker-" + suffix), "checked", !webdeveloper_getBooleanPreference("dom.disable_open_during_load", false));
-
- // If the menu is set
- if(menu)
- {
- var proxyConfigured = webdeveloper_isPreferenceSet("network.proxy.type");
- var proxyDisabled = webdeveloper_isPreferenceSet("webdeveloper.proxy.type");
-
- webdeveloper_configureElement(menu, "checked", !proxyConfigured && proxyDisabled);
- webdeveloper_configureElement(menu, "disabled", !proxyConfigured && !proxyDisabled);
- }
-
- // If the referrer preference is set to 0
- if(webdeveloper_getIntegerPreference("network.http.sendRefererHeader", false) == 0)
- {
- checked = true;
- }
- else
- {
- checked = false;
- }
-
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-referrers-" + suffix), "checked", checked);
-}
-
-// Updates the disable JavaScript menu
-function webdeveloper_updateDisableJavaScriptMenu(suffix)
-{
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-all-javascript-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.enabled", false));
- webdeveloper_configureElement(document.getElementById("webdeveloper-disable-strict-javascript-warnings-" + suffix), "checked", !webdeveloper_getBooleanPreference("javascript.options.strict", false));
-}