[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r15265: Fix the torbutton half of a Firefox 3-specific bug involving (in torbutton/trunk/src: . components)



Author: mikeperry
Date: 2008-06-14 23:27:49 -0400 (Sat, 14 Jun 2008)
New Revision: 15265

Modified:
   torbutton/trunk/src/components/cookie-jar-selector.js
   torbutton/trunk/src/install.rdf
Log:


Fix the torbutton half of a Firefox 3-specific bug involving
cookie jars. Firefox 3 still doesn't properly listen to
"profile-do-change" events though, so cookies still aren't
properly restored from jars. :/



Modified: torbutton/trunk/src/components/cookie-jar-selector.js
===================================================================
--- torbutton/trunk/src/components/cookie-jar-selector.js	2008-06-15 02:34:26 UTC (rev 15264)
+++ torbutton/trunk/src/components/cookie-jar-selector.js	2008-06-15 03:27:49 UTC (rev 15265)
@@ -20,6 +20,9 @@
   var Cc = Components.classes;
   var Ci = Components.interfaces;
 
+  this.logger = Components.classes["@torproject.org/torbutton-logger;1"]
+      .getService(Components.interfaces.nsISupports).wrappedJSObject;
+
   var getProfileFile = function(filename) {
     var loc = "ProfD";  // profile directory
     var file = 
@@ -70,7 +73,7 @@
     cookieManager.observe(this, "profile-before-change", "");
     // Tell the cookie manager to reload cookies from disk
     cookieManager.observe(this, "profile-do-change", "");
-    copyProfileFile("cookies.txt", "cookies-" + name + ".txt");
+    copyProfileFile("cookies"+this.extn, "cookies-" + name + this.extn);
   };
 
   this.loadCookies = function(name, deleteSavedCookieJar) {
@@ -85,12 +88,28 @@
 
     // Replace the cookies.txt file with the loaded data
     var fn = deleteSavedCookieJar ? moveProfileFile : copyProfileFile;
-    fn("cookies-" + name + ".txt", "cookies.txt");
+    fn("cookies-"+name+this.extn, "cookies"+this.extn);
 
     // Tell the cookie manager to reload cookies from disk
     cookieManager.observe(this, "profile-do-change", context);
+    this.logger.log(2, "Cookies reloaded");
   };
 
+  // Check firefox version to know filename
+  var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
+      .getService(Components.interfaces.nsIXULAppInfo);
+  var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
+      .getService(Components.interfaces.nsIVersionComparator);
+
+  if(versionChecker.compare(appInfo.version, "3.0a1") >= 0) {
+      this.is_ff3 = true;
+      this.extn = ".sqlite";
+  } else {
+      this.is_ff3 = false;
+      this.extn = ".txt";
+  }
+
+
   // This JSObject is exported directly to chrome
   this.wrappedJSObject = this;
 }

Modified: torbutton/trunk/src/install.rdf
===================================================================
--- torbutton/trunk/src/install.rdf	2008-06-15 02:34:26 UTC (rev 15264)
+++ torbutton/trunk/src/install.rdf	2008-06-15 03:27:49 UTC (rev 15265)
@@ -6,7 +6,7 @@
         <em:name>Torbutton</em:name>
         <em:creator>Mike Perry &amp; Scott Squires</em:creator>
         <em:id>{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}</em:id>
-        <em:version>1.2.0rc2tb</em:version>
+        <em:version>1.2.0rc2-dev</em:version>
         <em:homepageURL>https://torbutton.torproject.org/dev/</em:homepageURL>
         <em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
         <em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>