home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 123 / cdrom123.iso / essenc / extens / wweb / Web Developer.xpi / chrome / webdeveloper.jar / content / webdeveloper / disable.js < prev    next >
Encoding:
JavaScript  |  2004-11-21  |  11.8 KB  |  368 lines

  1. // Toggles the cache
  2. function webdeveloper_toggleCache(element)
  3. {
  4.     webdeveloper_disablePreference(element, "browser.cache.disk.enable");
  5.     webdeveloper_disablePreference(element, "browser.cache.memory.enable");
  6. }
  7.  
  8. // Toggles cookies
  9. function webdeveloper_toggleCookies(element)
  10. {
  11.     const checked                      = element.getAttribute("checked");
  12.     const preferencesService           = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
  13.     const viewCookieInformationElement = document.getElementById("webdeveloper-view-cookie-information-menu");
  14.  
  15.     // Try to get the cookie preference
  16.     try
  17.     {
  18.         preferencesService.getIntPref("network.cookie.cookieBehavior");
  19.  
  20.         var cookieBehavior = 0;
  21.  
  22.         // If disabling cookies
  23.         if(checked)
  24.         {
  25.             cookieBehavior = 2;
  26.         }
  27.  
  28.         preferencesService.setIntPref("network.cookie.cookieBehavior", cookieBehavior);
  29.     }
  30.     catch(exception)
  31.     {
  32.         preferencesService.setBoolPref("network.cookie.enable", !checked);
  33.     }
  34.  
  35.     webdeveloper_configureEquivalentElements(element, "checked", checked);
  36. }
  37.  
  38. // Toggles all the inline styles in elements in the document
  39. function webdeveloper_toggleDocumentInlineStyles(node, disable)
  40. {
  41.     // If the node exists and is an element
  42.     if(node && node.nodeType == 1)
  43.     {
  44.         const childNodes = node.childNodes;
  45.  
  46.         // If disabling styles and the node has a style attribute
  47.         if(disable && node.hasAttribute("style"))
  48.         {
  49.             node.setAttribute("webdeveloper-inline-style", node.getAttribute("style"));
  50.             node.removeAttribute("style");
  51.         }
  52.         else if(!disable && node.hasAttribute("webdeveloper-inline-style"))
  53.         {
  54.             node.setAttribute("style", node.getAttribute("webdeveloper-inline-style"));
  55.             node.removeAttribute("webdeveloper-inline-style");
  56.         }
  57.  
  58.         // Loop through the child nodes
  59.         for(var i = 0; i < childNodes.length; i++)
  60.         {
  61.             webdeveloper_toggleDocumentInlineStyles(childNodes[i], disable);
  62.         }
  63.     }
  64. }
  65.  
  66. // Toggles all the embedded styles on the page
  67. function webdeveloper_toggleEmbeddedStyles(element, applyStyle)
  68. {
  69.     const content      = window.document.getElementById("content");
  70.     const mainTabBox   = content.mTabBox;
  71.     const documentList = webdeveloper_getDocuments(content.browsers[mainTabBox.selectedIndex].contentWindow, new Array());
  72.  
  73.     var disable        = element.getAttribute("checked");
  74.     var pageDocument   = null;
  75.     var styleSheetList = null;
  76.  
  77.     webdeveloper_configureEquivalentElements(element, "checked", disable);
  78.  
  79.     // Loop through the documents
  80.     for(var i = 0; i < documentList.length; i++)
  81.     {
  82.         pageDocument   = documentList[i];
  83.         styleSheetList = pageDocument.getElementsByTagName("style");
  84.  
  85.         // Loop through all the stylesheets
  86.         for(var j = 0; j < styleSheetList.length; j++)
  87.         {
  88.             styleSheetList[j].disabled = disable;
  89.         }
  90.  
  91.     }
  92.  
  93.     // If applying styles
  94.     if(applyStyle)
  95.     {
  96.         // If style sheets are being disabled
  97.         if(disable)
  98.         {
  99.             webdeveloper_addAppliedStyle("webdeveloper-disable-embedded-styles");
  100.         }
  101.         else
  102.         {
  103.             webdeveloper_removeAppliedStyle("webdeveloper-disable-embedded-styles");
  104.         }
  105.     }
  106. }
  107.  
  108. // Toggles image animations
  109. function webdeveloper_toggleImageAnimations(element)
  110. {
  111.     const checked            = element.getAttribute("checked");
  112.     const preferencesService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
  113.  
  114.     var imageBehavior = "normal";
  115.  
  116.     // If disabling images
  117.     if(checked)
  118.     {
  119.         imageBehavior = "none";
  120.     }
  121.  
  122.     preferencesService.setCharPref("image.animation_mode", imageBehavior);
  123.  
  124.     webdeveloper_configureEquivalentElements(element, "checked", checked);
  125.     BrowserReloadSkipCache();
  126. }
  127.  
  128. // Toggles images
  129. function webdeveloper_toggleImages(element)
  130. {
  131.     const checked            = element.getAttribute("checked");
  132.     const preferencesService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
  133.  
  134.     var imageBehavior = 0;
  135.  
  136.     // If disabling images
  137.     if(checked)
  138.     {
  139.         imageBehavior = 2;
  140.     }
  141.  
  142.     preferencesService.setIntPref("network.image.imageBehavior", imageBehavior);
  143.  
  144.     webdeveloper_configureEquivalentElements(element, "checked", checked);
  145.     BrowserReloadSkipCache();
  146. }
  147.  
  148. // Toggles all the inline styles in elements on the page
  149. function webdeveloper_toggleInlineStyles(element, applyStyle)
  150. {
  151.     const content      = window.document.getElementById("content");
  152.     const mainTabBox   = content.mTabBox;
  153.     const documentList = webdeveloper_getDocuments(content.browsers[mainTabBox.selectedIndex].contentWindow, new Array());
  154.  
  155.     var disable = element.getAttribute("checked");
  156.  
  157.     webdeveloper_configureEquivalentElements(element, "checked", disable);
  158.  
  159.     // Loop through the documents
  160.     for(var i = 0; i < documentList.length; i++)
  161.     {
  162.         webdeveloper_toggleDocumentInlineStyles(documentList[i].documentElement, disable);
  163.     }
  164.  
  165.     // If applying styles
  166.     if(applyStyle)
  167.     {
  168.         // If style sheets are being disabled
  169.         if(disable)
  170.         {
  171.             webdeveloper_addAppliedStyle("webdeveloper-disable-inline-styles");
  172.         }
  173.         else
  174.         {
  175.             webdeveloper_removeAppliedStyle("webdeveloper-disable-inline-styles");
  176.         }
  177.     }
  178. }
  179.  
  180. // Toggles all the linked styles on the page
  181. function webdeveloper_toggleLinkedStyles(element, applyStyle)
  182. {
  183.     const content      = window.document.getElementById("content");
  184.     const mainTabBox   = content.mTabBox;
  185.     const documentList = webdeveloper_getDocuments(content.browsers[mainTabBox.selectedIndex].contentWindow, new Array());
  186.  
  187.     var disable        = element.getAttribute("checked");
  188.     var ownerNode      = null;
  189.     var pageDocument   = null;
  190.     var styleSheet     = null;
  191.     var styleSheetList = null;
  192.  
  193.     webdeveloper_configureEquivalentElements(element, "checked", disable);
  194.  
  195.     // Loop through the documents
  196.     for(var i = 0; i < documentList.length; i++)
  197.     {
  198.         pageDocument   = documentList[i];
  199.         styleSheetList = pageDocument.styleSheets;
  200.  
  201.         // Loop through all the stylesheets
  202.         for(var j = 0; j < styleSheetList.length; j++)
  203.         {
  204.             styleSheet = styleSheetList[j];
  205.             ownerNode  = styleSheet.ownerNode;
  206.  
  207.             // If this style sheet is not embedded, has an owner node and is not an alternate style
  208.             if(styleSheet.href != pageDocument.documentURI && ownerNode && ownerNode.getAttribute("rel") != "alternate stylesheet")
  209.             {
  210.                 styleSheet.disabled = disable;
  211.             }
  212.         }
  213.     }
  214.  
  215.     // If applying styles
  216.     if(applyStyle)
  217.     {
  218.         // If style sheets are being disabled
  219.         if(disable)
  220.         {
  221.             webdeveloper_addAppliedStyle("webdeveloper-disable-linked-styles");
  222.         }
  223.         else
  224.         {
  225.             webdeveloper_removeAppliedStyle("webdeveloper-disable-linked-styles");
  226.         }
  227.     }
  228. }
  229.  
  230. // Toggles Java
  231. function webdeveloper_toggleJava(element)
  232. {
  233.     const checked                = element.getAttribute("checked");
  234.     const openJavaConsoleElement = document.getElementById("webdeveloper-open-java-console-menu");
  235.  
  236.     webdeveloper_disablePreference(element, "security.enable_java");
  237.     webdeveloper_configureEquivalentElements(openJavaConsoleElement, "disabled", checked);
  238.     webdeveloper_disableElement(document.getElementById("webdeveloper-open-java-console-key"), checked);
  239. }
  240.  
  241. // Toggles the page colors
  242. function webdeveloper_togglePageColors(element)
  243. {
  244.     webdeveloper_disablePreference(element, "browser.display.use_document_colors");
  245.     BrowserReloadSkipCache();
  246. }
  247.  
  248. // Toggles referrer logging
  249. function webdeveloper_toggleReferrerLogging(element)
  250. {
  251.     const checked            = element.getAttribute("checked");
  252.     const preferencesService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
  253.  
  254.     var sendReferrer = 2;
  255.  
  256.     // If disabling referrer logging
  257.     if(checked)
  258.     {
  259.         sendReferrer = 0;
  260.     }
  261.  
  262.     preferencesService.setIntPref("network.http.sendRefererHeader", sendReferrer);
  263.  
  264.     webdeveloper_configureEquivalentElements(element, "checked", checked);
  265. }
  266.  
  267. // Toggles the styles for the page
  268. function webdeveloper_toggleStyles(element, applyStyle)
  269. {
  270.     const content      = window.document.getElementById("content");
  271.     const mainTabBox   = content.mTabBox;
  272.     const documentList = webdeveloper_getDocuments(content.browsers[mainTabBox.selectedIndex].contentWindow, new Array());
  273.  
  274.     var disable        = null;
  275.     var ownerNode      = null;
  276.     var pageDocument   = null;
  277.     var styleElement   = null;
  278.     var styleSheet     = null;
  279.     var styleSheetList = null;
  280.  
  281.     // If the element is not set we are coming from a keyboard shortcut
  282.     if(!element)
  283.     {
  284.         element = document.getElementById("webdeveloper-disable-all-styles-menu");
  285.  
  286.         // If the element has a checked attribute
  287.         if(element.getAttribute("checked") == "true")
  288.         {
  289.             element.removeAttribute("checked");
  290.         }
  291.         else
  292.         {
  293.             element.setAttribute("checked", true);
  294.         }
  295.     }
  296.  
  297.     disable = element.getAttribute("checked");
  298.     webdeveloper_configureEquivalentElements(element, "checked", disable);
  299.  
  300.     // Explictly convert the value of disable to a boolean
  301.     if(disable == "true")
  302.     {
  303.         disable = true;
  304.     }
  305.     else
  306.     {
  307.         disable = false;
  308.     }
  309.  
  310.     // Loop through the documents
  311.     for(var i = 0; i < documentList.length; i++)
  312.     {
  313.         pageDocument   = documentList[i];
  314.         styleSheetList = pageDocument.styleSheets;
  315.  
  316.         // Loop through all the stylesheets
  317.         for(var j = 0; j < styleSheetList.length; j++)
  318.         {
  319.             styleSheet = styleSheetList[j];
  320.             ownerNode  = styleSheet.ownerNode;
  321.  
  322.             // If this style sheet does not have an owner node or is not an alternate style
  323.             if(!ownerNode || ownerNode.getAttribute("rel") != "alternate stylesheet")
  324.             {
  325.                 styleSheet.disabled = disable;
  326.             }
  327.         }
  328.  
  329.         webdeveloper_toggleDocumentInlineStyles(pageDocument.documentElement, disable);
  330.     }
  331.  
  332.     // If disabling styles
  333.     if(disable)
  334.     {
  335.         webdeveloper_resetMenu(false);
  336.     }
  337.     else
  338.     {
  339.         webdeveloper_updateMenu();
  340.     }
  341.  
  342.     styleElement = document.getElementById("webdeveloper-disable-embedded-styles-menu");
  343.     webdeveloper_configureEquivalentElements(styleElement, "checked", false);
  344.     webdeveloper_configureEquivalentElements(styleElement, "disabled", disable);
  345.  
  346.     styleElement = document.getElementById("webdeveloper-disable-inline-styles-menu");
  347.     webdeveloper_configureEquivalentElements(styleElement, "checked", false);
  348.     webdeveloper_configureEquivalentElements(styleElement, "disabled", disable);
  349.  
  350.     styleElement = document.getElementById("webdeveloper-disable-linked-styles-menu");
  351.     webdeveloper_configureEquivalentElements(styleElement, "checked", false);
  352.     webdeveloper_configureEquivalentElements(styleElement, "disabled", disable);
  353.  
  354.     // If applying styles
  355.     if(applyStyle)
  356.     {
  357.         // If style sheets are being disabled
  358.         if(disable)
  359.         {
  360.             webdeveloper_addAppliedStyle("webdeveloper-disable-all-styles");
  361.         }
  362.         else
  363.         {
  364.             webdeveloper_removeAppliedStyle("webdeveloper-disable-all-styles");
  365.         }
  366.     }
  367. }
  368.