[tor-commits] [torbrowser/maint-2.3] Rebase to Firefox 10.

erinn at torproject.org erinn at torproject.org
Thu Feb 2 23:52:18 UTC 2012


commit b4780f07d6af74ee72d2e63aa032cf614b71c310
Author: Mike Perry <mikeperry-git at fscked.org>
Date:   Wed Feb 1 16:54:29 2012 -0800

    Rebase to Firefox 10.
---
 ...nents.interfaces-lookupMethod-from-conten.patch |   24 ++++++------
 ...0002-Make-Permissions-Manager-memory-only.patch |   24 ++++++------
 ...-Make-Intermediate-Cert-Store-memory-only.patch |   12 +++---
 ...th-headers-before-the-modify-request-obse.patch |   15 ++++----
 .../firefox/0005-Add-a-string-based-cacheKey.patch |   14 ++++----
 ...6-Randomize-HTTP-pipeline-order-and-depth.patch |   30 ++++++++--------
 .../0007-Block-all-plugins-except-flash.patch      |   20 +++++-----
 ...ontent-pref-service-memory-only-clearable.patch |   12 +++---
 ...owser-exit-when-not-launched-from-Vidalia.patch |    8 ++--
 .../0010-Disable-SSL-Session-ID-tracking.patch     |    6 ++--
 ...observer-event-to-close-persistent-connec.patch |   21 ++++++-----
 ...e-client-values-only-to-CSS-Media-Queries.patch |   18 +++++-----
 ...13-Limit-the-number-of-fonts-per-document.patch |   36 ++++++++++----------
 13 files changed, 121 insertions(+), 119 deletions(-)

diff --git a/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch b/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
index de0903c..ba0da28 100644
--- a/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
+++ b/src/current-patches/firefox/0001-Block-Components.interfaces-lookupMethod-from-conten.patch
@@ -1,7 +1,7 @@
-From 658f53653a37767802d9cd992b8dd58d7503ea1b Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Mon, 20 Jun 2011 17:07:41 -0700
-Subject: [PATCH 01/12] Block Components.interfaces,lookupMethod from content
+From 67b86f0c22070cbf86112174ae1e2ce6d6a36dee Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:40:40 -0800
+Subject: [PATCH 01/13] Block Components.interfaces,lookupMethod from content
 
 This patch removes the ability of content script to access
 Components.interfaces.* as well as call or access Components.lookupMethod.
@@ -16,14 +16,14 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=429070
 https://trac.torproject.org/projects/tor/ticket/2873
 https://trac.torproject.org/projects/tor/ticket/2874
 ---
- js/src/xpconnect/src/xpccomponents.cpp |    8 ++++++--
+ js/xpconnect/src/XPCComponents.cpp |    8 ++++++--
  1 files changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/js/src/xpconnect/src/xpccomponents.cpp b/js/src/xpconnect/src/xpccomponents.cpp
-index ca38e47..34175a5 100644
---- a/js/src/xpconnect/src/xpccomponents.cpp
-+++ b/js/src/xpconnect/src/xpccomponents.cpp
-@@ -4431,7 +4431,9 @@ nsXPCComponents::CanCreateWrapper(const nsIID * iid, char **_retval)
+diff --git a/js/xpconnect/src/XPCComponents.cpp b/js/xpconnect/src/XPCComponents.cpp
+index 3bcbf91..d5c020a 100644
+--- a/js/xpconnect/src/XPCComponents.cpp
++++ b/js/xpconnect/src/XPCComponents.cpp
+@@ -4456,7 +4456,9 @@ nsXPCComponents::CanCreateWrapper(const nsIID * iid, char **_retval)
  NS_IMETHODIMP
  nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, char **_retval)
  {
@@ -34,7 +34,7 @@ index ca38e47..34175a5 100644
      *_retval = xpc_CheckAccessList(methodName, allowed);
      return NS_OK;
  }
-@@ -4440,7 +4442,9 @@ nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, c
+@@ -4465,7 +4467,9 @@ nsXPCComponents::CanCallMethod(const nsIID * iid, const PRUnichar *methodName, c
  NS_IMETHODIMP
  nsXPCComponents::CanGetProperty(const nsIID * iid, const PRUnichar *propertyName, char **_retval)
  {
@@ -46,5 +46,5 @@ index ca38e47..34175a5 100644
      return NS_OK;
  }
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch b/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
index fcc3802..ecd1e32 100644
--- a/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
+++ b/src/current-patches/firefox/0002-Make-Permissions-Manager-memory-only.patch
@@ -1,7 +1,7 @@
-From b390a17593f20c837facf0b9da1ee4696697f1b6 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Mon, 20 Jun 2011 17:07:56 -0700
-Subject: [PATCH 02/12] Make Permissions Manager memory-only
+From 193c50c03aa61eef5415d0476467c22941022a11 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:45:16 -0800
+Subject: [PATCH 02/13] Make Permissions Manager memory-only
 
 This patch exposes a pref 'permissions.memory_only' that properly isolates the
 permissions manager to memory, which is responsible for all user specified
@@ -16,7 +16,7 @@ https://trac.torproject.org/projects/tor/ticket/2950
  1 files changed, 31 insertions(+), 3 deletions(-)
 
 diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp
-index d72b794..b89887e 100644
+index 67eb216..12cc7cf 100644
 --- a/extensions/cookie/nsPermissionManager.cpp
 +++ b/extensions/cookie/nsPermissionManager.cpp
 @@ -58,6 +58,10 @@
@@ -31,7 +31,7 @@ index d72b794..b89887e 100644
  static nsPermissionManager *gPermissionManager = nsnull;
  
 @@ -203,6 +207,11 @@ nsPermissionManager::Init()
-     mObserverService->AddObserver(this, "profile-do-change", PR_TRUE);
+     mObserverService->AddObserver(this, "profile-do-change", true);
    }
  
 +  nsCOMPtr<nsIPrefBranch2> pbi = do_GetService(NS_PREFSERVICE_CONTRACTID);
@@ -42,11 +42,11 @@ index d72b794..b89887e 100644
    if (IsChildProcess()) {
      // Get the permissions from the parent process
      InfallibleTArray<IPC::Permission> perms;
-@@ -251,8 +260,18 @@ nsPermissionManager::InitDB(PRBool aRemoveFile)
+@@ -251,8 +260,18 @@ nsPermissionManager::InitDB(bool aRemoveFile)
    if (!storage)
      return NS_ERROR_UNEXPECTED;
  
-+  PRBool memory_db = false;
++  bool memory_db = false;
 +  nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
 +  if (prefs) {
 +    prefs->GetBoolPref("permissions.memory_only", &memory_db); 
@@ -61,9 +61,9 @@ index d72b794..b89887e 100644
 +  }
    NS_ENSURE_SUCCESS(rv, rv);
  
-   PRBool ready;
-@@ -262,7 +281,11 @@ nsPermissionManager::InitDB(PRBool aRemoveFile)
-     rv = permissionsFile->Remove(PR_FALSE);
+   bool ready;
+@@ -262,7 +281,11 @@ nsPermissionManager::InitDB(bool aRemoveFile)
+     rv = permissionsFile->Remove(false);
      NS_ENSURE_SUCCESS(rv, rv);
  
 -    rv = storage->OpenDatabase(permissionsFile, getter_AddRefs(mDBConn));
@@ -90,5 +90,5 @@ index d72b794..b89887e 100644
      // or is going away because the application is shutting down.
      if (!nsCRT::strcmp(someData, NS_LITERAL_STRING("shutdown-cleanse").get())) {
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch b/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
index e921f7d..ec575bc 100644
--- a/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
+++ b/src/current-patches/firefox/0003-Make-Intermediate-Cert-Store-memory-only.patch
@@ -1,7 +1,7 @@
-From 93a3a1886d34e5f73a385726c22ecfc4e72598a3 Mon Sep 17 00:00:00 2001
+From 5d72233faeba1745962f55fa09fe2f537eda93ec Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Fri, 19 Aug 2011 17:58:23 -0700
-Subject: [PATCH 03/12] Make Intermediate Cert Store memory-only.
+Subject: [PATCH 03/13] Make Intermediate Cert Store memory-only.
 
 This patch makes the intermediate SSL cert store exist in memory only.
 
@@ -12,15 +12,15 @@ https://trac.torproject.org/projects/tor/ticket/2949
  1 files changed, 14 insertions(+), 1 deletions(-)
 
 diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp
-index 5bb09ae..737715d 100644
+index a08c4ef..0ec3713 100644
 --- a/security/manager/ssl/src/nsNSSComponent.cpp
 +++ b/security/manager/ssl/src/nsNSSComponent.cpp
-@@ -1732,8 +1732,21 @@ nsNSSComponent::InitializeNSS(PRBool showWarningBox)
+@@ -1730,8 +1730,21 @@ nsNSSComponent::InitializeNSS(bool showWarningBox)
      // Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
      // "/usr/lib/nss/libnssckbi.so".
      PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
 -    SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
-+    PRBool nocertdb = false;
++    bool nocertdb = false;
 +    mPrefBranch->GetBoolPref("security.nocertdb", &nocertdb);
 +
 +    // XXX: We can also do the the following to only disable the certdb.
@@ -39,5 +39,5 @@ index 5bb09ae..737715d 100644
      if (init_rv != SECSuccess) {
        PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get()));
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch b/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
index c0b2070..44dfccc 100644
--- a/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
+++ b/src/current-patches/firefox/0004-Add-HTTP-auth-headers-before-the-modify-request-obse.patch
@@ -1,7 +1,8 @@
-From f30579c50a6915314a470579da533f53200e61d8 Mon Sep 17 00:00:00 2001
+From 6dc27a50e06bca139a07546f94a827f1fdb762b7 Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Fri, 2 Sep 2011 15:33:20 -0700
-Subject: [PATCH 04/12] Add HTTP auth headers before the modify-request observer.
+Subject: [PATCH 04/13] Add HTTP auth headers before the modify-request
+ observer.
 
 Otherwise, how are we supposed to modify them?
 
@@ -11,10 +12,10 @@ Thanks to Georg Koppen for spotting both the problem and this fix.
  1 files changed, 7 insertions(+), 4 deletions(-)
 
 diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
-index 3f9d049..945bc0d 100644
+index dec2a83..4c5e759 100644
 --- a/netwerk/protocol/http/nsHttpChannel.cpp
 +++ b/netwerk/protocol/http/nsHttpChannel.cpp
-@@ -291,9 +291,6 @@ nsHttpChannel::Connect(PRBool firstTime)
+@@ -316,9 +316,6 @@ nsHttpChannel::Connect(bool firstTime)
          return NS_ERROR_DOCUMENT_NOT_CACHED;
      }
  
@@ -24,7 +25,7 @@ index 3f9d049..945bc0d 100644
      if (mLoadFlags & LOAD_NO_NETWORK_IO) {
          return NS_ERROR_DOCUMENT_NOT_CACHED;
      }
-@@ -3665,6 +3662,9 @@ nsHttpChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *context)
+@@ -3701,6 +3698,9 @@ nsHttpChannel::AsyncOpen(nsIStreamListener *listener, nsISupports *context)
  
      AddCookiesToRequest();
  
@@ -34,7 +35,7 @@ index 3f9d049..945bc0d 100644
      // notify "http-on-modify-request" observers
      gHttpHandler->OnModifyRequest(this);
  
-@@ -4741,7 +4741,10 @@ nsHttpChannel::DoAuthRetry(nsAHttpConnection *conn)
+@@ -4795,7 +4795,10 @@ nsHttpChannel::DoAuthRetry(nsAHttpConnection *conn)
      // this authentication attempt (bug 84794).
      // TODO: save cookies from auth response and send them here (bug 572151).
      AddCookiesToRequest();
@@ -47,5 +48,5 @@ index 3f9d049..945bc0d 100644
      gHttpHandler->OnModifyRequest(this);
  
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch b/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
index 87941e2..822033a 100644
--- a/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
+++ b/src/current-patches/firefox/0005-Add-a-string-based-cacheKey.patch
@@ -1,7 +1,7 @@
-From 65410adb53fafe4ec717ab464cdefee3cdd35708 Mon Sep 17 00:00:00 2001
+From a06818f3a358e6c4502b944ecd264fd2ccaff5bf Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Fri, 2 Sep 2011 20:47:02 -0700
-Subject: [PATCH 05/12] Add a string-based cacheKey.
+Subject: [PATCH 05/13] Add a string-based cacheKey.
 
 Used for isolating cache according to same-origin policy.
 ---
@@ -29,10 +29,10 @@ index 2da46d6..4ee5774 100644
       * may fail if the disk cache is not present.  The value of this attribute
       * is usually only settable during the processing of a channel's
 diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
-index 945bc0d..9e838d8 100644
+index 4c5e759..6205d62 100644
 --- a/netwerk/protocol/http/nsHttpChannel.cpp
 +++ b/netwerk/protocol/http/nsHttpChannel.cpp
-@@ -2356,6 +2356,12 @@ nsHttpChannel::AssembleCacheKey(const char *spec, PRUint32 postID,
+@@ -2389,6 +2389,12 @@ nsHttpChannel::AssembleCacheKey(const char *spec, PRUint32 postID,
          cacheKey.Append(buf);
      }
  
@@ -45,7 +45,7 @@ index 945bc0d..9e838d8 100644
      if (!cacheKey.IsEmpty()) {
          cacheKey.AppendLiteral("uri=");
      }
-@@ -4641,6 +4647,22 @@ nsHttpChannel::SetCacheForOfflineUse(PRBool value)
+@@ -4695,6 +4701,22 @@ nsHttpChannel::SetCacheForOfflineUse(bool value)
  }
  
  NS_IMETHODIMP
@@ -69,7 +69,7 @@ index 945bc0d..9e838d8 100644
  {
      value = mOfflineCacheClientID;
 diff --git a/netwerk/protocol/http/nsHttpChannel.h b/netwerk/protocol/http/nsHttpChannel.h
-index 6e0f360..9df9e38 100644
+index 88ce469..53538cf 100644
 --- a/netwerk/protocol/http/nsHttpChannel.h
 +++ b/netwerk/protocol/http/nsHttpChannel.h
 @@ -303,6 +303,7 @@ private:
@@ -81,5 +81,5 @@ index 6e0f360..9df9e38 100644
      // auth specific data
      nsCOMPtr<nsIHttpChannelAuthProvider> mAuthProvider;
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch b/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
index 2935289..de40bfe 100644
--- a/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
+++ b/src/current-patches/firefox/0006-Randomize-HTTP-pipeline-order-and-depth.patch
@@ -1,7 +1,7 @@
-From 797fecf94e73e4f65fa8fdd58e0980e0d79ec092 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Tue, 8 Nov 2011 17:34:54 -0800
-Subject: [PATCH 06/12] Randomize HTTP pipeline order and depth.
+From 755f71320538b0a813807cc3f4076dd20cbe9849 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 16:05:22 -0800
+Subject: [PATCH 06/13] Randomize HTTP pipeline order and depth.
 
 This is an experimental defense against
 http://lorre.uni.lu/~andriy/papers/acmccs-wpes11-fingerprinting.pdf
@@ -14,7 +14,7 @@ https://blog.torproject.org/blog/experimental-defense-website-traffic-fingerprin
  2 files changed, 81 insertions(+), 1 deletions(-)
 
 diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.cpp b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
-index 3bb2b55..89ec350 100644
+index 23ef893..bba456d 100644
 --- a/netwerk/protocol/http/nsHttpConnectionMgr.cpp
 +++ b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
 @@ -94,6 +94,11 @@ nsHttpConnectionMgr::nsHttpConnectionMgr()
@@ -29,7 +29,7 @@ index 3bb2b55..89ec350 100644
  }
  
  nsHttpConnectionMgr::~nsHttpConnectionMgr()
-@@ -856,7 +861,7 @@ nsHttpConnectionMgr::DispatchTransaction(nsConnectionEntry *ent,
+@@ -865,7 +870,7 @@ nsHttpConnectionMgr::DispatchTransaction(nsConnectionEntry *ent,
      nsHttpPipeline *pipeline = nsnull;
      if (conn->SupportsPipelining() && (caps & NS_HTTP_ALLOW_PIPELINING)) {
          LOG(("  looking to build pipeline...\n"));
@@ -38,11 +38,11 @@ index 3bb2b55..89ec350 100644
              trans = pipeline;
      }
  
-@@ -929,6 +934,77 @@ nsHttpConnectionMgr::BuildPipeline(nsConnectionEntry *ent,
-     return PR_TRUE;
+@@ -938,6 +943,77 @@ nsHttpConnectionMgr::BuildPipeline(nsConnectionEntry *ent,
+     return true;
  }
  
-+PRBool
++bool
 +nsHttpConnectionMgr::BuildRandomizedPipeline(nsConnectionEntry *ent,
 +                                   nsAHttpTransaction *firstTrans,
 +                                   nsHttpPipeline **result)
@@ -117,7 +117,7 @@ index 3bb2b55..89ec350 100644
  nsHttpConnectionMgr::ProcessNewTransaction(nsHttpTransaction *trans)
  {
 diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.h b/netwerk/protocol/http/nsHttpConnectionMgr.h
-index d6dba79..c6e295f 100644
+index cdf21a9..9647225 100644
 --- a/netwerk/protocol/http/nsHttpConnectionMgr.h
 +++ b/netwerk/protocol/http/nsHttpConnectionMgr.h
 @@ -48,6 +48,7 @@
@@ -128,15 +128,15 @@ index d6dba79..c6e295f 100644
  
  #include "nsIObserver.h"
  #include "nsITimer.h"
-@@ -275,6 +276,7 @@ private:
+@@ -276,6 +277,7 @@ private:
      nsresult DispatchTransaction(nsConnectionEntry *, nsAHttpTransaction *,
                                   PRUint8 caps, nsHttpConnection *);
-     PRBool   BuildPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
-+    PRBool   BuildRandomizedPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
+     bool     BuildPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
++    bool     BuildRandomizedPipeline(nsConnectionEntry *, nsAHttpTransaction *, nsHttpPipeline **);
      nsresult ProcessNewTransaction(nsHttpTransaction *);
      nsresult EnsureSocketThreadTargetIfOnline();
      void     ClosePersistentConnections(nsConnectionEntry *ent);
-@@ -352,6 +354,8 @@ private:
+@@ -353,6 +355,8 @@ private:
      PRUint64 mTimeOfNextWakeUp;
      // Timer for next pruning of dead connections.
      nsCOMPtr<nsITimer> mTimer;
@@ -146,5 +146,5 @@ index d6dba79..c6e295f 100644
      //
      // the connection table
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch b/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
index c8d55f8..ef83185 100644
--- a/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
+++ b/src/current-patches/firefox/0007-Block-all-plugins-except-flash.patch
@@ -1,7 +1,7 @@
-From 2954118c9ab70d2e1c4d983a8f101b3a237461bb Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Wed, 28 Sep 2011 13:24:20 -0700
-Subject: [PATCH 07/12] Block all plugins except flash.
+From 7d6e270e1a05e1fe57d069b9859c9b51904db33e Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:50:15 -0800
+Subject: [PATCH 07/13] Block all plugins except flash.
 
 We cannot use the @mozilla.org/extensions/blocklist;1 service, because we
 actually want to stop plugins from ever entering the browser's process space
@@ -17,11 +17,11 @@ on a better way. Until then, it is delta-darwinism for us.
  2 files changed, 35 insertions(+), 0 deletions(-)
 
 diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
-index 8578d56..3fbae53 100644
+index 729c9ef..1f4652d 100644
 --- a/dom/plugins/base/nsPluginHost.cpp
 +++ b/dom/plugins/base/nsPluginHost.cpp
-@@ -1964,6 +1964,35 @@ PRBool nsPluginHost::IsDuplicatePlugin(nsPluginTag * aPluginTag)
-   return PR_FALSE;
+@@ -1965,6 +1965,35 @@ bool nsPluginHost::IsDuplicatePlugin(nsPluginTag * aPluginTag)
+   return false;
  }
  
 +PRBool nsPluginHost::GhettoBlacklist(nsIFile *pluginFile)
@@ -56,7 +56,7 @@ index 8578d56..3fbae53 100644
  typedef NS_NPAPIPLUGIN_CALLBACK(char *, NP_GETMIMEDESCRIPTION)(void);
  
  nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
-@@ -2085,6 +2114,10 @@ nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
+@@ -2086,6 +2115,10 @@ nsresult nsPluginHost::ScanPluginsDirectory(nsIFile *pluginsDir,
        continue;
      }
  
@@ -68,7 +68,7 @@ index 8578d56..3fbae53 100644
      if (!pluginTag) {
        nsPluginFile pluginFile(localfile);
 diff --git a/dom/plugins/base/nsPluginHost.h b/dom/plugins/base/nsPluginHost.h
-index 1cfd59b..7d83c20 100644
+index 39a8891..c262abf 100644
 --- a/dom/plugins/base/nsPluginHost.h
 +++ b/dom/plugins/base/nsPluginHost.h
 @@ -278,6 +278,8 @@ private:
@@ -81,5 +81,5 @@ index 1cfd59b..7d83c20 100644
    // and removes it from the cache.
    void RemoveCachedPluginsInfo(const char *filePath,
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch b/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
index 6473b13..ac91170 100644
--- a/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
+++ b/src/current-patches/firefox/0008-Make-content-pref-service-memory-only-clearable.patch
@@ -1,7 +1,7 @@
-From e14ab520ed4e012dbeb051eb9320e59f06873674 Mon Sep 17 00:00:00 2001
+From 23a09d0a6def1e2f7190177a875ab5a85c5da7b7 Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Thu, 8 Sep 2011 08:40:17 -0700
-Subject: [PATCH 08/12] Make content pref service memory-only + clearable
+Subject: [PATCH 08/13] Make content pref service memory-only + clearable
 
 This prevents random urls from being inserted into content-prefs.sqllite in
 the profile directory as content prefs change (includes site-zoom and perhaps
@@ -11,10 +11,10 @@ other site prefs?).
  1 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/toolkit/components/contentprefs/nsContentPrefService.js b/toolkit/components/contentprefs/nsContentPrefService.js
-index 0d12b36..494515b 100644
+index adfb650..1619d5f 100644
 --- a/toolkit/components/contentprefs/nsContentPrefService.js
 +++ b/toolkit/components/contentprefs/nsContentPrefService.js
-@@ -1183,7 +1183,7 @@ ContentPrefService.prototype = {
+@@ -1240,7 +1240,7 @@ ContentPrefService.prototype = {
  
      var dbConnection;
  
@@ -23,7 +23,7 @@ index 0d12b36..494515b 100644
        dbConnection = this._dbCreate(dbService, dbFile);
      else {
        try {
-@@ -1231,7 +1231,7 @@ ContentPrefService.prototype = {
+@@ -1288,7 +1288,7 @@ ContentPrefService.prototype = {
    },
  
    _dbCreate: function ContentPrefService__dbCreate(aDBService, aDBFile) {
@@ -33,5 +33,5 @@ index 0d12b36..494515b 100644
      try {
        this._dbCreateSchema(dbConnection);
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch b/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
index 11d3cdf..3dc98ed 100644
--- a/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
+++ b/src/current-patches/firefox/0009-Make-Tor-Browser-exit-when-not-launched-from-Vidalia.patch
@@ -1,7 +1,7 @@
-From 84286ac84d1973747f9ff541df90ed79c34ed443 Mon Sep 17 00:00:00 2001
+From b9c2e8d93cf62ea8f8fec63f0db955d8d0c4bc24 Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Sun, 9 Oct 2011 22:50:07 -0700
-Subject: [PATCH 09/12] Make Tor Browser exit when not launched from Vidalia
+Subject: [PATCH 09/13] Make Tor Browser exit when not launched from Vidalia
 
 Turns out the Windows 7 UI encourages users to "dock" their Tor Browser app
 for easy relaunch. If they manage to do this, we should fail closed rather
@@ -16,7 +16,7 @@ actually be common.
  1 files changed, 15 insertions(+), 0 deletions(-)
 
 diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
-index e78919d..c1e90f3 100644
+index a463fac..4480050 100644
 --- a/browser/base/content/browser.js
 +++ b/browser/base/content/browser.js
 @@ -1217,6 +1217,21 @@ function BrowserStartup() {
@@ -42,5 +42,5 @@ index e78919d..c1e90f3 100644
      if (uriToLoad instanceof Ci.nsISupportsArray) {
        let count = uriToLoad.Count();
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch b/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
index 53553f1..8722540 100644
--- a/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
+++ b/src/current-patches/firefox/0010-Disable-SSL-Session-ID-tracking.patch
@@ -1,7 +1,7 @@
-From 5e8424690ef1d9f5c38dbf87811f82fa92e29eb5 Mon Sep 17 00:00:00 2001
+From 8bfcf12fe59b7b9940830446bf331729f5c86b3d Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Wed, 7 Dec 2011 19:36:38 -0800
-Subject: [PATCH 10/12] Disable SSL Session ID tracking.
+Subject: [PATCH 10/13] Disable SSL Session ID tracking.
 
 We can't easily bind SSL Session ID tracking to url bar domain,
 so we have to disable them to satisfy
@@ -24,5 +24,5 @@ index 2e6f9ed..c8a993b 100644
      PR_FALSE,	/* v2CompatibleHello  */ /* now defaults to off in NSS 3.13 */
      PR_TRUE,	/* detectRollBack     */
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch b/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
index 0b67cd6..7d91c66 100644
--- a/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
+++ b/src/current-patches/firefox/0011-Provide-an-observer-event-to-close-persistent-connec.patch
@@ -1,7 +1,8 @@
-From f29be5f0e41e9915bcd15b692685bebce9d33f91 Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Wed, 7 Dec 2011 20:05:19 -0800
-Subject: [PATCH 11/12] Provide an observer event to close persistent connections
+From befcfaff647b1e09722d100fbf2dadcc22cfdc2b Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 15:53:28 -0800
+Subject: [PATCH 11/13] Provide an observer event to close persistent
+ connections
 
 We need to prevent linkability across "New Identity", which includes closing
 keep-alive connections.
@@ -10,18 +11,18 @@ keep-alive connections.
  1 files changed, 7 insertions(+), 0 deletions(-)
 
 diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp
-index f79f23e..ed70ecd 100644
+index f21598e..f3bf6af 100644
 --- a/netwerk/protocol/http/nsHttpHandler.cpp
 +++ b/netwerk/protocol/http/nsHttpHandler.cpp
 @@ -321,6 +321,7 @@ nsHttpHandler::Init()
-         mObserverService->AddObserver(this, "net:clear-active-logins", PR_TRUE);
-         mObserverService->AddObserver(this, NS_PRIVATE_BROWSING_SWITCH_TOPIC, PR_TRUE);
-         mObserverService->AddObserver(this, "net:prune-dead-connections", PR_TRUE);
+         mObserverService->AddObserver(this, "net:clear-active-logins", true);
+         mObserverService->AddObserver(this, NS_PRIVATE_BROWSING_SWITCH_TOPIC, true);
+         mObserverService->AddObserver(this, "net:prune-dead-connections", true);
 +        mObserverService->AddObserver(this, "net:prune-all-connections", PR_TRUE);
      }
   
      return NS_OK;
-@@ -1611,6 +1612,12 @@ nsHttpHandler::Observe(nsISupports *subject,
+@@ -1481,6 +1482,12 @@ nsHttpHandler::Observe(nsISupports *subject,
              mConnMgr->PruneDeadConnections();
          }
      }
@@ -35,5 +36,5 @@ index f79f23e..ed70ecd 100644
      return NS_OK;
  }
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch b/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
index 7253f9c..d3e636b 100644
--- a/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
+++ b/src/current-patches/firefox/0012-Provide-client-values-only-to-CSS-Media-Queries.patch
@@ -1,7 +1,7 @@
-From e4586005446c57161e14adc153aa5890f5694223 Mon Sep 17 00:00:00 2001
+From b5c42aa7668ac12b034cc1806ae1dc48732fa9b5 Mon Sep 17 00:00:00 2001
 From: Mike Perry <mikeperry-git at fscked.org>
 Date: Tue, 20 Dec 2011 21:02:49 -0800
-Subject: [PATCH 12/12] Provide client values only to CSS Media Queries
+Subject: [PATCH 12/13] Provide client values only to CSS Media Queries
 
 Also disable a bunch of Mozilla extensions that smell like they are
 fingerprintable.
@@ -13,10 +13,10 @@ https://www.torproject.org/projects/torbrowser/design/#fingerprinting-linkabilit
  1 files changed, 6 insertions(+), 4 deletions(-)
 
 diff --git a/layout/style/nsMediaFeatures.cpp b/layout/style/nsMediaFeatures.cpp
-index 9a65c8e..d633dd1 100644
+index 6eca06e..c68f191 100644
 --- a/layout/style/nsMediaFeatures.cpp
 +++ b/layout/style/nsMediaFeatures.cpp
-@@ -381,14 +381,14 @@ nsMediaFeatures::features[] = {
+@@ -383,14 +383,14 @@ nsMediaFeatures::features[] = {
          nsMediaFeature::eMinMaxAllowed,
          nsMediaFeature::eLength,
          { nsnull },
@@ -33,7 +33,7 @@ index 9a65c8e..d633dd1 100644
      },
      {
          &nsGkAtoms::orientation,
-@@ -409,7 +409,7 @@ nsMediaFeatures::features[] = {
+@@ -411,7 +411,7 @@ nsMediaFeatures::features[] = {
          nsMediaFeature::eMinMaxAllowed,
          nsMediaFeature::eIntRatio,
          { nsnull },
@@ -42,7 +42,7 @@ index 9a65c8e..d633dd1 100644
      },
      {
          &nsGkAtoms::color,
-@@ -455,6 +455,7 @@ nsMediaFeatures::features[] = {
+@@ -457,6 +457,7 @@ nsMediaFeatures::features[] = {
      },
  
      // Mozilla extensions
@@ -50,7 +50,7 @@ index 9a65c8e..d633dd1 100644
      {
          &nsGkAtoms::_moz_device_pixel_ratio,
          nsMediaFeature::eMinMaxAllowed,
-@@ -467,7 +468,7 @@ nsMediaFeatures::features[] = {
+@@ -469,7 +470,7 @@ nsMediaFeatures::features[] = {
          nsMediaFeature::eMinMaxNotAllowed,
          nsMediaFeature::eEnumerated,
          { kOrientationKeywords },
@@ -59,7 +59,7 @@ index 9a65c8e..d633dd1 100644
      },
      {
          &nsGkAtoms::_moz_is_resource_document,
-@@ -588,6 +589,7 @@ nsMediaFeatures::features[] = {
+@@ -590,6 +591,7 @@ nsMediaFeatures::features[] = {
          { nsnull },
          GetWindowsTheme
      },
@@ -68,5 +68,5 @@ index 9a65c8e..d633dd1 100644
      {
          nsnull,
 -- 
-1.7.3.4
+1.7.5.4
 
diff --git a/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch b/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
index 989d072..4ae2487 100644
--- a/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
+++ b/src/current-patches/firefox/0013-Limit-the-number-of-fonts-per-document.patch
@@ -1,6 +1,6 @@
-From 27c2a4a72504fe9a08cbfdf2210b05263bd693dd Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git at fscked.org>
-Date: Tue, 27 Dec 2011 15:28:22 -0600
+From 4ed1e1c2372216cfcf377b369a9d44bb9f60ee14 Mon Sep 17 00:00:00 2001
+From: Mike Perry <mikeperry-git at torproject.org>
+Date: Wed, 1 Feb 2012 16:01:21 -0800
 Subject: [PATCH 13/13] Limit the number of fonts per document.
 
 We create two prefs:
@@ -23,19 +23,19 @@ https://www.torproject.org/projects/torbrowser/design/#fingerprinting-linkabilit
  3 files changed, 119 insertions(+), 3 deletions(-)
 
 diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp
-index 0d5b1ce..ab9a7ba 100644
+index e1587db..9690d9c 100644
 --- a/layout/base/nsPresContext.cpp
 +++ b/layout/base/nsPresContext.cpp
 @@ -98,6 +98,8 @@
- #include "nsIFrameMessageManager.h"
  #include "FrameLayerBuilder.h"
  #include "nsDOMMediaQueryList.h"
+ #include "nsSMILAnimationController.h"
 +#include "nsString.h"
 +#include "nsUnicharUtils.h"
  
- #ifdef MOZ_SMIL
- #include "nsSMILAnimationController.h"
-@@ -707,6 +709,10 @@ nsPresContext::GetUserPreferences()
+ #ifdef IBMBIDI
+ #include "nsBidiPresUtils.h"
+@@ -706,6 +708,10 @@ nsPresContext::GetUserPreferences()
    // * use fonts?
    mUseDocumentFonts =
      Preferences::GetInt("browser.display.use_document_fonts") != 0;
@@ -46,7 +46,7 @@ index 0d5b1ce..ab9a7ba 100644
  
    // * replace backslashes with Yen signs? (bug 245770)
    mEnableJapaneseTransform =
-@@ -1306,6 +1312,100 @@ nsPresContext::GetDefaultFont(PRUint8 aFontID) const
+@@ -1300,6 +1306,100 @@ nsPresContext::GetDefaultFont(PRUint8 aFontID) const
    return font;
  }
  
@@ -148,7 +148,7 @@ index 0d5b1ce..ab9a7ba 100644
  nsPresContext::SetFullZoom(float aZoom)
  {
 diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h
-index 2b09cc0..fe8a926 100644
+index ecd01d8..552a69a 100644
 --- a/layout/base/nsPresContext.h
 +++ b/layout/base/nsPresContext.h
 @@ -548,6 +548,13 @@ public:
@@ -165,7 +165,7 @@ index 2b09cc0..fe8a926 100644
    PRInt32 MinFontSize() const {
      return NS_MAX(mMinFontSize, mMinimumFontSizePref);
    }
-@@ -1123,6 +1130,8 @@ protected:
+@@ -1117,6 +1124,8 @@ protected:
    PRUint32              mInterruptChecksToSkip;
  
    mozilla::TimeStamp    mReflowStartTime;
@@ -175,10 +175,10 @@ index 2b09cc0..fe8a926 100644
    unsigned              mHasPendingInterrupt : 1;
    unsigned              mInterruptsEnabled : 1;
 diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp
-index a791723..5d65984 100644
+index 27336bf..827585a 100644
 --- a/layout/style/nsRuleNode.cpp
 +++ b/layout/style/nsRuleNode.cpp
-@@ -3087,6 +3087,7 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3091,6 +3091,7 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
  
    // See if there is a minimum font-size constraint to honor
    nscoord minimumFontSize = mPresContext->MinFontSize();
@@ -186,7 +186,7 @@ index a791723..5d65984 100644
  
    if (minimumFontSize < 0)
      minimumFontSize = 0;
-@@ -3098,10 +3099,10 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3102,10 +3103,10 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
    // We only need to know this to determine if we have to use the
    // document fonts (overriding the useDocumentFonts flag), or to
    // determine if we have to override the minimum font-size constraint.
@@ -194,12 +194,12 @@ index a791723..5d65984 100644
 +  if (mPresContext->IsChrome()) {
      // if we are not using document fonts, but this is a XUL document,
      // then we use the document fonts anyway
--    useDocumentFonts = PR_TRUE;
+-    useDocumentFonts = true;
 +    isXUL = PR_TRUE;
      minimumFontSize = 0;
    }
  
-@@ -3116,9 +3117,13 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3120,9 +3121,13 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
      // generic?
      nsFont::GetGenericID(font->mFont.name, &generic);
  
@@ -214,7 +214,7 @@ index a791723..5d65984 100644
        // Extract the generic from the specified font family...
        nsAutoString genericName;
        if (!font->mFont.EnumerateFamilies(ExtractGeneric, &genericName)) {
-@@ -3154,6 +3159,8 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
+@@ -3158,6 +3163,8 @@ nsRuleNode::ComputeFontData(void* aStartStruct,
                                 minimumFontSize, font);
    }
  
@@ -224,5 +224,5 @@ index a791723..5d65984 100644
  }
  
 -- 
-1.7.3.4
+1.7.5.4
 





More information about the tor-commits mailing list