[or-cvs] r20325: {torbutton} Fixed some major bugs! (in torbutton/branches/gsoc2009-koryk/src: chrome/content components)

koryk at seul.org koryk at seul.org
Mon Aug 17 01:30:11 UTC 2009


Author: koryk
Date: 2009-08-16 21:30:10 -0400 (Sun, 16 Aug 2009)
New Revision: 20325

Modified:
   torbutton/branches/gsoc2009-koryk/src/chrome/content/preferences.js
   torbutton/branches/gsoc2009-koryk/src/chrome/content/torbutton.js
   torbutton/branches/gsoc2009-koryk/src/components/cookie-jar-selector.js
Log:
Fixed some major bugs!

Modified: torbutton/branches/gsoc2009-koryk/src/chrome/content/preferences.js
===================================================================
--- torbutton/branches/gsoc2009-koryk/src/chrome/content/preferences.js	2009-08-16 22:00:19 UTC (rev 20324)
+++ torbutton/branches/gsoc2009-koryk/src/chrome/content/preferences.js	2009-08-17 01:30:10 UTC (rev 20325)
@@ -177,27 +177,28 @@
         o_torprefs.setBoolPref('tor_memory_jar', true);
         doc.getElementById('torbutton_torMemoryJar').disabled = true;
         doc.getElementById('torbutton_nonTorMemoryJar').disabled = false;        
-    } else if(o_torprefs.getBoolPref('dual_cookie_jars')) {
-        doc.getElementById('torbutton_cookieGroup').selectedItem =
-            doc.getElementById('torbutton_dualCookieJars');
-        o_torprefs.setBoolPref('cookie_jars', false);
-        o_torprefs.setBoolPref('dual_cookie_jars', true);
-        o_torprefs.setBoolPref('clear_cookies', false); 
-        o_torprefs.setBoolPref('cookie_protections',false);
-        doc.getElementById('torbutton_torMemoryJar').disabled = false;
-        doc.getElementById('torbutton_nonTorMemoryJar').disabled = false;
     } else if(o_torprefs.getBoolPref('cookie_protections')) {
         doc.getElementById('torbutton_cookieGroup').selectedItem =
             doc.getElementById('torbutton_cookieProtections');
         o_torprefs.setBoolPref('cookie_jars', false);
-        o_torprefs.setBoolPref('dual_cookie_jars', false);
+        o_torprefs.setBoolPref('dual_cookie_jars', true);
         o_torprefs.setBoolPref('clear_cookies', false); 
         o_torprefs.setBoolPref('tor_memory_jar', false);
         o_torprefs.setBoolPref('nontor_memory_jar', false);
         doc.getElementById('torbutton_torMemoryJar').disabled = true;
         doc.getElementById('torbutton_nonTorMemoryJar').disabled = true;
-    } else {
+    } 
+    else if(o_torprefs.getBoolPref('dual_cookie_jars')) {
         doc.getElementById('torbutton_cookieGroup').selectedItem =
+            doc.getElementById('torbutton_dualCookieJars');
+        o_torprefs.setBoolPref('cookie_jars', false);
+        o_torprefs.setBoolPref('dual_cookie_jars', true);
+        o_torprefs.setBoolPref('clear_cookies', false); 
+        o_torprefs.setBoolPref('cookie_protections',false);
+        doc.getElementById('torbutton_torMemoryJar').disabled = false;
+        doc.getElementById('torbutton_nonTorMemoryJar').disabled = false;
+    }  else {
+        doc.getElementById('torbutton_cookieGroup').selectedItem =
             doc.getElementById('torbutton_mmmCookies');
         o_torprefs.setBoolPref('cookie_jars', false);
         o_torprefs.setBoolPref('dual_cookie_jars', false);
@@ -387,7 +388,7 @@
     o_torprefs.setBoolPref('block_cache', doc.getElementById('torbutton_blockCache').selected);
     o_torprefs.setBoolPref('clear_cookies', doc.getElementById('torbutton_clearCookies').selected);
     o_torprefs.setBoolPref('cookie_jars', doc.getElementById('torbutton_cookieJars').selected);
-    o_torprefs.setBoolPref('dual_cookie_jars', doc.getElementById('torbutton_dualCookieJars').selected);
+    o_torprefs.setBoolPref('dual_cookie_jars', doc.getElementById('torbutton_dualCookieJars').selected || doc.getElementById('torbutton_cookieProtections').selected);
     o_torprefs.setBoolPref('cookie_protections', doc.getElementById('torbutton_cookieProtections').selected);
     o_torprefs.setBoolPref('disable_domstorage', doc.getElementById('torbutton_noDomStorage').checked);
     o_torprefs.setBoolPref('clear_http_auth', doc.getElementById('torbutton_clearHttpAuth').checked);

Modified: torbutton/branches/gsoc2009-koryk/src/chrome/content/torbutton.js
===================================================================
--- torbutton/branches/gsoc2009-koryk/src/chrome/content/torbutton.js	2009-08-16 22:00:19 UTC (rev 20324)
+++ torbutton/branches/gsoc2009-koryk/src/chrome/content/torbutton.js	2009-08-17 01:30:10 UTC (rev 20325)
@@ -1381,7 +1381,6 @@
 }
 
 function torbutton_open_cookie_dialog() {
-
   window.openDialog('chrome://torbutton/content/torcookiedialog.xul','Cookie Protections',
                                    'centerscreen,chrome,dialog,modal,resizable');
 }
@@ -1535,12 +1534,12 @@
           selector.clearUnprotectedCookies("nontor");        
         selector.saveCookies("nontor");
         selector.clearCookies();
-        if(m_tb_prefs.getBoolPref('extensions.torbutton.dual_cookie_jars') || protectcookies)
+        if(m_tb_prefs.getBoolPref('extensions.torbutton.dual_cookie_jars'))
             selector.loadCookies("tor", false);
     } else {
         if (protectcookies)
           selector.clearUnprotectedCookies("tor");          
-        if(m_tb_prefs.getBoolPref('extensions.torbutton.dual_cookie_jars') || protectcookies)
+        if(m_tb_prefs.getBoolPref('extensions.torbutton.dual_cookie_jars'))
             selector.saveCookies("tor");
         selector.clearCookies();
         selector.loadCookies("nontor", false);

Modified: torbutton/branches/gsoc2009-koryk/src/components/cookie-jar-selector.js
===================================================================
--- torbutton/branches/gsoc2009-koryk/src/components/cookie-jar-selector.js	2009-08-16 22:00:19 UTC (rev 20324)
+++ torbutton/branches/gsoc2009-koryk/src/components/cookie-jar-selector.js	2009-08-17 01:30:10 UTC (rev 20325)
@@ -307,38 +307,47 @@
     this.logger.log(2, "Cookies saved");
   };
   this.clearUnprotectedCookies = function(name) {
-  var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
-                        .getService(Components.interfaces.nsIPromptService);
-
+  try {
+  
     var cookiesAsXml = this.getProtectedCookies(name);
     if (cookiesAsXml == null)
       return;//file does not exist - no protected cookies
     var cookiemanager =
       Cc["@mozilla.org/cookiemanager;1"]
-      .getService(Ci.nsICookieManager);
+      .getService(Ci.nsICookieManager2);
     
     var enumerator = cookiemanager.enumerator;
     var count = 0;
     var protcookie = false;
-    prompts.alert(null, "hey", cookiesAsXml.cookie.length());
 
     while (enumerator.hasMoreElements()) {
     var nextCookie = enumerator.getNext();
+    if (!nextCookie) break;
+      nextCookie = nextCookie.QueryInterface(Components.interfaces.nsICookie);
+  
+     
     for (var i = 0; i < cookiesAsXml.cookie.length(); i++) {
       var xml = cookiesAsXml.cookie[i];
       var cvalue = xml.toString();
       var cname = xml. at name; 
       var chost = xml. at host;
       var cpath = xml. at path;
-      protcookie = (nextCookie.host == chost && nextCookie.name == cname && nextCookie.path == cpath)        
+
+      protcookie = protcookie || (nextCookie.host == chost && nextCookie.name == cname && nextCookie.path == cpath);  
     }
-      if (!protcookie)
-       cookiemanager.remove(nextCookie.host,
+    if (!protcookie)
+    {
+      cookiemanager.remove(nextCookie.host,
                          nextCookie.name,
-                         nextCookie.path,
-                         false);
-      protcookie = false;
-    }                     
+                         nextCookie.path, false);
+    }
+    protcookie = false;      
+   }
+   }
+   catch (e)
+   {
+      this.logger.log(2, "Error deleting unprotected cookies. " + e);
+   }                   
   }
   
   this._oldLoadCookies = function(name, deleteSavedCookieJar) {



More information about the tor-commits mailing list