Skip to content
Snippets Groups Projects
enable-js-options.patch 8.58 KiB
Newer Older
diff -ru firefox-32.0.3+build1.orig/browser/components/preferences/in-content/content.js firefox-32.0.3+build1/browser/components/preferences/in-content/content.js
--- firefox-32.0.3+build1.orig/browser/components/preferences/in-content/content.js	2014-09-24 06:33:20.000000000 +0000
+++ firefox-32.0.3+build1/browser/components/preferences/in-content/content.js	2014-09-30 13:03:48.000000000 +0000
@@ -70,6 +70,18 @@
                "Browser:Permissions", "resizable=yes", params);
   },
+  // JAVASCRIPT
+
+  /**
+   * Displays the advanced JavaScript preferences for enabling or disabling
+   * various annoying behaviors.
+   */
+  showAdvancedJS: function ()
+  {
+    openDialog("chrome://browser/content/preferences/advanced-scripts.xul", 
+               "Browser:AdvancedScripts", null);  
+  },
+
   // FONTS
   /**
diff -ru firefox-32.0.3+build1.orig/browser/components/preferences/in-content/content.xul firefox-32.0.3+build1/browser/components/preferences/in-content/content.xul
--- firefox-32.0.3+build1.orig/browser/components/preferences/in-content/content.xul	2014-09-24 06:33:20.000000000 +0000
+++ firefox-32.0.3+build1/browser/components/preferences/in-content/content.xul	2014-09-30 13:06:50.000000000 +0000
@@ -11,6 +11,15 @@
               name="dom.disable_open_during_load"
               type="bool"/>
 
+  <!-- JavaScript -->
+  <preference id="javascript.enabled"
+              name="javascript.enabled"
+              type="bool"/>
+
+  <preference id="pref.advanced.javascript.disable_button.advanced"
+              name="pref.advanced.javascript.disable_button.advanced"
+              type="bool"/>
+
   <!-- Fonts -->
   <preference id="font.language.group"
               name="font.language.group"
@@ -56,6 +65,20 @@
                 oncommand="gContentPane.showPopupExceptions();"
                 accesskey="&popupExceptions.accesskey;"/>
       </row>
+      <row id="enableJavaScriptRow">
+        <vbox align="start">
+          <checkbox id="enableJavaScript" preference="javascript.enabled"
+                    label="&enableJavaScript.label;" accesskey="&enableJavaScript.accesskey;"
+                    onsyncfrompreference="return gContentPane.updateButtons('advancedJSButton',
+                                                                        'javascript.enabled');"/>
+        </vbox>
+        <vbox>
+          <button id="advancedJSButton" label="&advancedJS.label;"
+                  accesskey="&advancedJS.accesskey;"
+                  oncommand="gContentPane.showAdvancedJS();"
+                  preference="pref.advanced.javascript.disable_button.advanced"/>
+        </vbox>
+      </row>
     </rows>
   </grid>
 </groupbox>
diff -ru firefox-32.0.3+build1.orig/browser/components/preferences/in-content/jar.mn firefox-32.0.3+build1/browser/components/preferences/jar.mn
--- firefox-32.0.3+build1.orig/browser/components/preferences/in-content/jar.mn	2014-09-24 06:33:20.000000000 +0000
+++ firefox-32.0.3+build1/browser/components/preferences/in-content/jar.mn	2014-09-30 13:03:48.000000000 +0000
@@ -10,6 +10,7 @@
 *  content/browser/preferences/in-content/main.js
 *  content/browser/preferences/in-content/privacy.js
 *  content/browser/preferences/in-content/advanced.js
+   content/browser/preferences/advanced-scripts.xul
 *  content/browser/preferences/in-content/applications.js
    content/browser/preferences/in-content/content.js
    content/browser/preferences/in-content/sync.js
diff -ru firefox-32.0.3+build1.orig/browser/locales/en-US/chrome/browser/preferences/content.dtd firefox-32.0.3+build1/browser/locales/en-US/chrome/browser/preferences/content.dtd
--- firefox-32.0.3+build1.orig/browser/locales/en-US/chrome/browser/preferences/content.dtd	2014-09-24 06:33:22.000000000 +0000
+++ firefox-32.0.3+build1/browser/locales/en-US/chrome/browser/preferences/content.dtd	2014-09-30 13:03:48.000000000 +0000
@@ -9,6 +9,15 @@
 <!ENTITY  popupExceptions.label       "Exceptions…">
 <!ENTITY  popupExceptions.accesskey   "E">
 
+<!ENTITY  enableJavaScript.label      "Enable JavaScript">
+<!ENTITY  enableJavaScript.accesskey  "J">
+<!ENTITY  advancedJS.label            "Advanced…">
+<!ENTITY  advancedJS.accesskey        "v">
+
+<!ENTITY  enableJava.label            "Enable Java">
+<!ENTITY  enableJava.accesskey        "n">
+
+
 <!ENTITY  fontsAndColors.label        "Fonts &amp; Colors">
 
 <!ENTITY  defaultFont.label           "Default font:">
diff -ru firefox-32.0.3+build1.orig/browser/locales/jar.mn firefox-32.0.3+build1/browser/locales/jar.mn
--- firefox-32.0.3+build1.orig/browser/locales/jar.mn	2014-09-24 06:33:22.000000000 +0000
+++ firefox-32.0.3+build1/browser/locales/jar.mn	2014-09-30 13:03:48.000000000 +0000
@@ -103,6 +103,7 @@
     locale/browser/preferences/aboutPermissions.dtd          (%chrome/browser/preferences/aboutPermissions.dtd)
     locale/browser/preferences/aboutPermissions.properties   (%chrome/browser/preferences/aboutPermissions.properties)
     locale/browser/preferences/advanced.dtd           (%chrome/browser/preferences/advanced.dtd)
+    locale/browser/preferences/advanced-scripts.dtd   (%chrome/browser/preferences/advanced-scripts.dtd)
     locale/browser/preferences/applicationManager.dtd        (%chrome/browser/preferences/applicationManager.dtd)
     locale/browser/preferences/applicationManager.properties (%chrome/browser/preferences/applicationManager.properties)
     locale/browser/preferences/colors.dtd             (%chrome/browser/preferences/colors.dtd)
diff --git a/browser/components/preferences/advanced-scripts.xul b/browser/components/preferences/advanced-scripts.xul
--- /dev/null
+++ a/browser/components/preferences/advanced-scripts.xul
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+
+<!-- -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
+<!-- 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/. -->
+
+<!DOCTYPE prefwindow SYSTEM "chrome://browser/locale/preferences/advanced-scripts.dtd">
+
+<?xml-stylesheet href="chrome://global/skin/"?>
+
+<prefwindow id="AdvancedJSDialog" type="child"
+            xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+            title="&advancedJSDialog.title;"
+            dlgbuttons="accept,cancel,help"
+            ondialoghelp="openPrefsHelp()">
+
+  <script type="application/javascript" src="chrome://browser/content/utilityOverlay.js"/>
+
+  <prefpane id="AdvancedJSDialogPane"
+            helpTopic="prefs-advanced-javascript">
+
+    <preferences>
+     <preference id="dom.event.contextmenu.enabled"  name="dom.event.contextmenu.enabled"  type="bool"/>
+     <preference id="dom.disable_window_move_resize" name="dom.disable_window_move_resize" type="bool" inverted="true"/>
+     <preference id="dom.disable_window_flip"        name="dom.disable_window_flip"        type="bool" inverted="true"/>
+    </preferences>
+
+    <script type="application/javascript" src="chrome://browser/content/preferences/advanced-scripts.js"/>
+
+    <stringbundle id="preferencesBundle" src="chrome://browser/locale/preferences/preferences.properties"/>
+
+    <description value="&allowScripts.label;"/>
+
+    <checkbox id="moveResizePopupWindows" label="&moveResizePopupWindows.label;"
+              accesskey="&moveResizePopupWindows.accesskey;"
+              preference="dom.disable_window_move_resize"/>
+    <checkbox id="raiseLowerWindows" label="&raiseLowerWindows.label;"
+              accesskey="&raiseLowerWindows.accesskey;"
+              preference="dom.disable_window_flip"/>
+    <checkbox id="disableContextMenus" label="&disableContextMenus.label;"
+              accesskey="&disableContextMenus.accesskey;"
+              preference="dom.event.contextmenu.enabled"/>
+
+  </prefpane>
+</prefwindow>
--- /dev/null
+++ a/browser/locales/en-US/chrome/browser/preferences/advanced-scripts.dtd
@@ -0,0 +1,15 @@
+<!-- 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/. -->
+
+<!ENTITY advancedJSDialog.title         "Advanced JavaScript Settings">
+<!ENTITY window.width                   "37em">
+
+<!ENTITY allowScripts.label             "Allow scripts to:">
+
+<!ENTITY moveResizePopupWindows.label     "Move or resize popup windows">
+<!ENTITY moveResizePopupWindows.accesskey "M">
+<!ENTITY raiseLowerWindows.label        "Raise or lower windows">
+<!ENTITY raiseLowerWindows.accesskey    "R">
+<!ENTITY disableContextMenus.label      "Disable or replace context menus">
+<!ENTITY disableContextMenus.accesskey  "D">