[or-cvs] r14678: Disable full page plugins via pref (in addition to cancellin (in torbutton/trunk/src: chrome/content defaults/preferences)

mikeperry at seul.org mikeperry at seul.org
Tue May 20 07:27:22 UTC 2008


Author: mikeperry
Date: 2008-05-20 03:27:22 -0400 (Tue, 20 May 2008)
New Revision: 14678

Modified:
   torbutton/trunk/src/chrome/content/preferences.js
   torbutton/trunk/src/chrome/content/torbutton.js
   torbutton/trunk/src/defaults/preferences/preferences.js
Log:

Disable full page plugins via pref (in addition to cancelling
them at load time).



Modified: torbutton/trunk/src/chrome/content/preferences.js
===================================================================
--- torbutton/trunk/src/chrome/content/preferences.js	2008-05-20 05:50:03 UTC (rev 14677)
+++ torbutton/trunk/src/chrome/content/preferences.js	2008-05-20 07:27:22 UTC (rev 14678)
@@ -336,6 +336,8 @@
     //  2. Restore saved prefs
     //  3. Clear torbutton settings
 
+    // XXX: Some of these are torbutton state variables that should NOT
+    // be reset!
     children = o_torprefs.getChildList("" , tmpcnt);
     for(i = 0; i < children.length; i++) {
         torbutton_log(5, "Preferences reset: "+children[i]);

Modified: torbutton/trunk/src/chrome/content/torbutton.js
===================================================================
--- torbutton/trunk/src/chrome/content/torbutton.js	2008-05-20 05:50:03 UTC (rev 14677)
+++ torbutton/trunk/src/chrome/content/torbutton.js	2008-05-20 07:27:22 UTC (rev 14678)
@@ -7,6 +7,7 @@
 var m_tb_prefs = false;
 var m_tb_jshooks = false;
 var m_tb_plugin_mimetypes = false;
+var m_tb_plugin_string = false;
 var m_tb_is_main_window = false;
 
 var m_tb_window_height = 0;
@@ -117,6 +118,7 @@
             case "extensions.torbutton.set_uagent":
                 // If the user turns off the pref, reset their user agent to
                 // vanilla
+                // XXX: Update this with new prefs from greg's patch.
                 if(!m_tb_prefs.getBoolPref("extensions.torbutton.set_uagent")) {
                     if(m_tb_prefs.prefHasUserValue("general.appname.override"))
                         m_tb_prefs.clearUserPref("general.appname.override");
@@ -707,6 +709,27 @@
 
     torbutton_log(2, "Prefs pretty much done");
     
+    if(torprefs.getBoolPref("no_tor_plugins")) {
+        if(mode) {
+            if(changed && m_tb_prefs.prefHasUserValue("plugin.disable_full_page_plugin_for_types")) {
+                // Update saved plugin pref
+                torprefs.setCharPref("saved_full_page_plugins", 
+                  m_tb_prefs.getCharPref("plugin.disable_full_page_plugin_for_types"));
+            }
+            // copy plugins array to pref
+            m_tb_prefs.setCharPref("plugin.disable_full_page_plugin_for_types",
+                    m_tb_plugin_string);
+        } else {
+            if(torprefs.prefHasUserValue("saved_full_page_plugins")) {
+                // restore saved pref
+                m_tb_prefs.setCharPref("plugin.disable_full_page_plugin_for_types",
+                        torprefs.getCharPref("saved_full_page_plugins"));
+            } else {
+                m_tb_prefs.clearUserPref("plugin.disable_full_page_plugin_for_types");
+            }
+        }
+    }
+
     // No need to clear cookies if just updating prefs
     if(!changed && force_update)
         return;
@@ -1270,6 +1293,9 @@
             Components.interfaces.nsIX509Cert.USER_CERT);
     torbutton_unjar_cert_type(mode, emailTreeView, "email", 
             Components.interfaces.nsIX509Cert.EMAIL_CERT);
+
+    // XXX: on FF3, somehow CA certs get loaded into server pane on 
+    // reload
     torbutton_unjar_cert_type(mode, serverTreeView, "server", 
             Components.interfaces.nsIX509Cert.SERVER_CERT);
 
@@ -1653,12 +1679,15 @@
 function torbutton_get_plugin_mimetypes()
 {
     m_tb_plugin_mimetypes = { null : null };
+    var plugin_list = [];
     for(var i = 0; i < window.navigator.mimeTypes.length; ++i) {
         var mime = window.navigator.mimeTypes.item(i);
         if(mime && mime.enabledPlugin) {
             m_tb_plugin_mimetypes[mime.type] = true;
+            plugin_list.push(mime.type);
         }
     }
+    m_tb_plugin_string = plugin_list.join();
 }
 
 

Modified: torbutton/trunk/src/defaults/preferences/preferences.js
===================================================================
--- torbutton/trunk/src/defaults/preferences/preferences.js	2008-05-20 05:50:03 UTC (rev 14677)
+++ torbutton/trunk/src/defaults/preferences/preferences.js	2008-05-20 07:27:22 UTC (rev 14678)
@@ -92,3 +92,4 @@
 pref("extensions.torbutton.jar_ca_certs",false);
 pref("extensions.torbutton.asked_ca_disable",false);
 pref("extensions.torbutton.block_cert_dialogs",false);
+pref("extensions.torbutton.saved_full_page_plugins","");



More information about the tor-commits mailing list