Bug 669040 part 1: Remove build-system and toolkit dependency on mork and morkreader. r=mak
authorMatheus Kerschbaum <matjk7@gmail.com>
Sat, 06 Aug 2011 17:24:52 +0200
changeset 73961 f2a50910befcf29eaa1a29dc088a8a33e64a609a
parent 73960 9d51886d4462341d4ae04ff97a7abde203789c3a
child 73962 8e73650ecc3ec0b1482bd017ee2fd84e2e9dd6fe
push id2
push userbsmedberg@mozilla.com
push dateFri, 19 Aug 2011 14:38:13 +0000
reviewersmak
bugs669040
milestone8.0a1
Bug 669040 part 1: Remove build-system and toolkit dependency on mork and morkreader. r=mak
browser/components/migration/src/nsSeamonkeyProfileMigrator.cpp
browser/components/migration/src/nsSeamonkeyProfileMigrator.h
browser/components/privatebrowsing/test/unit/head_privatebrowsing.js
config/autoconf.mk.in
configure.in
db/Makefile.in
docshell/test/unit/head_docshell.js
mobile/confvars.sh
profile/dirserviceprovider/src/nsProfileDirServiceProvider.cpp
services/sync/tests/unit/head_helpers.js
toolkit/components/build/nsToolkitCompsCID.h
toolkit/components/places/Makefile.in
toolkit/components/places/nsINavHistoryService.idl
toolkit/components/places/nsNavHistory.cpp
toolkit/components/places/nsNavHistory.h
toolkit/components/places/tests/head_common.js
toolkit/components/places/tests/unit/history.dat
toolkit/components/places/tests/unit/migrateFrecency.dat
toolkit/components/places/tests/unit/test_history.js
toolkit/components/satchel/nsFormHistory.js
toolkit/components/satchel/test/unit/formhistory.dat
toolkit/components/satchel/test/unit/test_bug_329741.js
toolkit/components/satchel/test/unit/xpcshell.ini
toolkit/library/libxul-config.mk
toolkit/library/nsStaticXULComponents.cpp
toolkit/toolkit-makefiles.sh
toolkit/xre/nsXREDirProvider.cpp
xpcom/io/nsAppDirectoryServiceDefs.h
--- a/browser/components/migration/src/nsSeamonkeyProfileMigrator.cpp
+++ b/browser/components/migration/src/nsSeamonkeyProfileMigrator.cpp
@@ -56,17 +56,16 @@
 
 #define FILE_NAME_BOOKMARKS       NS_LITERAL_STRING("bookmarks.html")
 #define FILE_NAME_COOKIES         NS_LITERAL_STRING("cookies.txt")
 #define FILE_NAME_SITEPERM_OLD    NS_LITERAL_STRING("cookperm.txt")
 #define FILE_NAME_SITEPERM_NEW    NS_LITERAL_STRING("hostperm.1")
 #define FILE_NAME_CERT8DB         NS_LITERAL_STRING("cert8.db")
 #define FILE_NAME_KEY3DB          NS_LITERAL_STRING("key3.db")
 #define FILE_NAME_SECMODDB        NS_LITERAL_STRING("secmod.db")
-#define FILE_NAME_HISTORY         NS_LITERAL_STRING("history.dat")
 #define FILE_NAME_MIMETYPES       NS_LITERAL_STRING("mimeTypes.rdf")
 #define FILE_NAME_DOWNLOADS       NS_LITERAL_STRING("downloads.rdf")
 #define FILE_NAME_PREFS           NS_LITERAL_STRING("prefs.js")
 #define FILE_NAME_USER_PREFS      NS_LITERAL_STRING("user.js")
 #define FILE_NAME_USERCONTENT     NS_LITERAL_STRING("userContent.css")
 #define DIR_NAME_CHROME           NS_LITERAL_STRING("chrome")
 
 NS_IMPL_ISUPPORTS1(nsSeamonkeyProfileMigrator, nsIBrowserProfileMigrator)
@@ -95,17 +94,16 @@ nsSeamonkeyProfileMigrator::Migrate(PRUi
   }
   if (!mSourceProfile)
     GetSourceProfile(aProfile);
 
   NOTIFY_OBSERVERS(MIGRATION_STARTED, nsnull);
 
   COPY_DATA(CopyPreferences,  aReplace, nsIBrowserProfileMigrator::SETTINGS);
   COPY_DATA(CopyCookies,      aReplace, nsIBrowserProfileMigrator::COOKIES);
-  COPY_DATA(CopyHistory,      aReplace, nsIBrowserProfileMigrator::HISTORY);
   COPY_DATA(CopyPasswords,    aReplace, nsIBrowserProfileMigrator::PASSWORDS);
   COPY_DATA(CopyOtherData,    aReplace, nsIBrowserProfileMigrator::OTHERDATA);
 
   // Need to do startup before trying to copy bookmarks, since bookmarks
   // import requires a profile. Can't do it earlier because services might
   // end up creating the files we try to copy above.
   if (aStartup) {
     rv = aStartup->DoStartup();
@@ -146,19 +144,16 @@ nsSeamonkeyProfileMigrator::GetMigrateDa
                              nsIBrowserProfileMigrator::SETTINGS,
                              PR_TRUE },
                            { ToNewUnicode(FILE_NAME_USER_PREFS),
                              nsIBrowserProfileMigrator::SETTINGS,
                              PR_TRUE },
                            { ToNewUnicode(FILE_NAME_COOKIES),
                              nsIBrowserProfileMigrator::COOKIES,
                              PR_FALSE },
-                           { ToNewUnicode(FILE_NAME_HISTORY),
-                             nsIBrowserProfileMigrator::HISTORY,
-                             PR_TRUE },
                            { ToNewUnicode(FILE_NAME_BOOKMARKS),
                              nsIBrowserProfileMigrator::BOOKMARKS,
                              PR_FALSE },
                            { ToNewUnicode(FILE_NAME_DOWNLOADS),
                              nsIBrowserProfileMigrator::OTHERDATA,
                              PR_TRUE },
                            { ToNewUnicode(FILE_NAME_MIMETYPES),
                              nsIBrowserProfileMigrator::OTHERDATA,
@@ -639,22 +634,16 @@ nsSeamonkeyProfileMigrator::CopyCookies(
     seamonkeyCookiesFile->Append(FILE_NAME_COOKIES);
 
     rv = ImportNetscapeCookies(seamonkeyCookiesFile);
   }
   return rv;
 }
 
 nsresult
-nsSeamonkeyProfileMigrator::CopyHistory(PRBool aReplace)
-{
-  return aReplace ? CopyFile(FILE_NAME_HISTORY, FILE_NAME_HISTORY) : NS_OK;
-}
-
-nsresult
 nsSeamonkeyProfileMigrator::CopyPasswords(PRBool aReplace)
 {
   nsresult rv;
 
   nsCString signonsFileName;
   GetSignonFileName(aReplace, getter_Copies(signonsFileName));
 
   if (signonsFileName.IsEmpty())
--- a/browser/components/migration/src/nsSeamonkeyProfileMigrator.h
+++ b/browser/components/migration/src/nsSeamonkeyProfileMigrator.h
@@ -86,17 +86,16 @@ protected:
   void     ReadFontsBranch(nsIPrefService* aPrefService,
                            nsTArray<FontPref>* aPrefs);
   void     WriteFontsBranch(nsIPrefService* aPrefService,
                             nsTArray<FontPref>* aPrefs);
 
   nsresult CopyUserContentSheet();
 
   nsresult CopyCookies(PRBool aReplace);
-  nsresult CopyHistory(PRBool aReplace);
   nsresult CopyPasswords(PRBool aReplace);
   nsresult LocateSignonsFile(char** aResult);
   nsresult CopyBookmarks(PRBool aReplace);
   nsresult CopyOtherData(PRBool aReplace);
 
 private:
   nsCOMPtr<nsISupportsArray> mProfileNames;
   nsCOMPtr<nsISupportsArray> mProfileLocations;
--- a/browser/components/privatebrowsing/test/unit/head_privatebrowsing.js
+++ b/browser/components/privatebrowsing/test/unit/head_privatebrowsing.js
@@ -42,17 +42,16 @@ const Cu = Components.utils;
 
 const kPrivateBrowsingNotification = "private-browsing";
 const kPrivateBrowsingCancelVoteNotification = "private-browsing-cancel-vote";
 const kPrivateBrowsingTransitionCompleteNotification = "private-browsing-transition-complete";
 const kEnter = "enter";
 const kExit = "exit";
 
 const NS_APP_USER_PROFILE_50_DIR = "ProfD";
-const NS_APP_HISTORY_50_FILE = "UHist";
 
 function LOG(aMsg) {
   aMsg = ("*** PRIVATEBROWSING TESTS: " + aMsg);
   Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService).
                                       logStringMessage(aMsg);
   print(aMsg);
 }
 
@@ -60,36 +59,16 @@ function uri(spec) {
   return Cc["@mozilla.org/network/io-service;1"].
          getService(Ci.nsIIOService).
          newURI(spec, null, null);
 }
 
 var dirSvc = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
 var profileDir = do_get_profile();
 
-var provider = {
-  getFile: function(prop, persistent) {
-    persistent.value = true;
-    if (prop == NS_APP_HISTORY_50_FILE) {
-      var histFile = profileDir.clone();
-      histFile.append("history.dat");
-      return histFile;
-    }
-    throw Cr.NS_ERROR_FAILURE;
-  },
-  QueryInterface: function(iid) {
-    if (iid.equals(Ci.nsIDirectoryServiceProvider) ||
-        iid.equals(Ci.nsISupports)) {
-      return this;
-    }
-    throw Cr.NS_ERROR_NO_INTERFACE;
-  }
-};
-dirSvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider);
-
 // Do not attempt to restore any session since we don't have any windows
 Cc["@mozilla.org/preferences-service;1"].
   getService(Ci.nsIPrefBranch).
   setBoolPref("browser.privatebrowsing.keep_current_session", true);
 
 /**
  * Removes any files that could make our tests fail.
  */
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -142,18 +142,16 @@ MOZ_SPELLCHECK = @MOZ_SPELLCHECK@
 MOZ_PROFILELOCKING = @MOZ_PROFILELOCKING@
 MOZ_FEEDS = @MOZ_FEEDS@
 MOZ_TOOLKIT_SEARCH = @MOZ_TOOLKIT_SEARCH@
 MOZ_PLACES = @MOZ_PLACES@
 MOZ_STORAGE = @MOZ_STORAGE@
 MOZ_SAFE_BROWSING = @MOZ_SAFE_BROWSING@
 MOZ_URL_CLASSIFIER = @MOZ_URL_CLASSIFIER@
 MOZ_ZIPWRITER = @MOZ_ZIPWRITER@
-MOZ_MORK = @MOZ_MORK@
-MOZ_MORKREADER = @MOZ_MORKREADER@
 MOZ_OGG = @MOZ_OGG@
 MOZ_RAW = @MOZ_RAW@
 MOZ_SYDNEYAUDIO = @MOZ_SYDNEYAUDIO@
 MOZ_WAVE = @MOZ_WAVE@
 MOZ_MEDIA = @MOZ_MEDIA@
 MOZ_VORBIS = @MOZ_VORBIS@
 MOZ_TREMOR = @MOZ_TREMOR@
 MOZ_WEBM = @MOZ_WEBM@
--- a/configure.in
+++ b/configure.in
@@ -4759,18 +4759,16 @@ dnl ====================================
 MOZ_ARG_HEADER(Application)
 
 ENABLE_TESTS=1
 MOZ_BRANDING_DIRECTORY=
 MOZ_OFFICIAL_BRANDING=
 MOZ_FEEDS=1
 MOZ_INSTALLER=1
 MOZ_JSDEBUGGER=1
-MOZ_MORK=
-MOZ_MORKREADER=
 MOZ_AUTH_EXTENSION=1
 MOZ_OGG=1
 MOZ_RAW=
 MOZ_SYDNEYAUDIO=
 MOZ_VORBIS=
 MOZ_TREMOR=
 MOZ_WAVE=1
 MOZ_MEDIA=
@@ -8826,28 +8824,16 @@ MOZ_ARG_DISABLE_BOOL(ctypes,
 AC_SUBST(BUILD_CTYPES)
 if test "$BUILD_CTYPES"; then
     AC_DEFINE(BUILD_CTYPES)
 fi
 
 dnl NECKO_ configuration options are not global
 _NON_GLOBAL_ACDEFINES="$_NON_GLOBAL_ACDEFINES NECKO_"
 
-dnl Only build Mork if it's required
-AC_SUBST(MOZ_MORK)
-if test "$MOZ_MORK"; then
-  AC_DEFINE(MOZ_MORK)
-fi
-
-dnl Build the lightweight Mork reader if required
-AC_SUBST(MOZ_MORKREADER)
-if test "$MOZ_MORKREADER"; then
-  AC_DEFINE(MOZ_MORKREADER)
-fi
-
 dnl Build Places if required
 if test "$MOZ_PLACES"; then
   AC_DEFINE(MOZ_PLACES)
 fi
 
 dnl Build Sync Services if required
 AC_SUBST(MOZ_SERVICES_SYNC)
 if test -n "$MOZ_SERVICES_SYNC"; then
--- a/db/Makefile.in
+++ b/db/Makefile.in
@@ -37,19 +37,9 @@
 
 DEPTH     = ..
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-ifndef NSS_DISABLE_DBM
-ifdef MOZ_MORK
-PARALLEL_DIRS = mdb mork
-endif
-endif 
-
-ifdef MOZ_MORKREADER
-PARALLEL_DIRS += morkreader
-endif
-
 include $(topsrcdir)/config/rules.mk
--- a/docshell/test/unit/head_docshell.js
+++ b/docshell/test/unit/head_docshell.js
@@ -51,24 +51,16 @@ var provider = {
     persistent.value = true;
     if (prop == "ProfD") {
       var retVal = dirSvc.get("CurProcD", Ci.nsILocalFile);
       retVal.append("test_docshell_profile");
       if (!retVal.exists())
         retVal.create(Ci.nsIFile.DIRECTORY_TYPE, 0755);
       return retVal;
     }
-    if (prop == "UHist") {
-      var retVal = dirSvc.get("CurProcD", Ci.nsILocalFile);
-      retVal.append("test_docshell_profile");
-      if (!retVal.exists())
-        retVal.create(Ci.nsIFile.DIRECTORY_TYPE, 0755);
-      retVal.append("history.dat");
-      return retVal;
-    }
     throw Cr.NS_ERROR_FAILURE;
   },
   QueryInterface: function(iid) {
     if (iid.equals(Ci.nsIDirectoryServiceProvider) ||
         iid.equals(Ci.nsISupports)) {
       return this;
     }
     throw Cr.NS_ERROR_NO_INTERFACE;
--- a/mobile/confvars.sh
+++ b/mobile/confvars.sh
@@ -48,17 +48,16 @@ MOZ_SAFE_BROWSING=
 MOZ_SERVICES_SYNC=1
 
 MOZ_DISABLE_DOMCRYPTO=1
 
 if test "$LIBXUL_SDK"; then
 MOZ_XULRUNNER=1
 else
 MOZ_XULRUNNER=
-MOZ_MORK=
 MOZ_PLACES=1
 fi
 
 # Needed for building our components as part of libxul
 MOZ_APP_COMPONENT_LIBS="browsercomps"
 MOZ_APP_COMPONENT_INCLUDE=nsBrowserComponents.h
 
 # use custom widget for html:select
--- a/profile/dirserviceprovider/src/nsProfileDirServiceProvider.cpp
+++ b/profile/dirserviceprovider/src/nsProfileDirServiceProvider.cpp
@@ -46,17 +46,16 @@
 #include "nsISimpleEnumerator.h"
 #include "nsIObserverService.h"
 
 // File Name Defines
 
 #define PREFS_FILE_50_NAME           NS_LITERAL_CSTRING("prefs.js")
 #define USER_CHROME_DIR_50_NAME      NS_LITERAL_CSTRING("chrome")
 #define LOCAL_STORE_FILE_50_NAME     NS_LITERAL_CSTRING("localstore.rdf")
-#define HISTORY_FILE_50_NAME         NS_LITERAL_CSTRING("history.dat")
 #define PANELS_FILE_50_NAME          NS_LITERAL_CSTRING("panels.rdf")
 #define MIME_TYPES_FILE_50_NAME      NS_LITERAL_CSTRING("mimeTypes.rdf")
 #define BOOKMARKS_FILE_50_NAME       NS_LITERAL_CSTRING("bookmarks.html")
 #define DOWNLOADS_FILE_50_NAME       NS_LITERAL_CSTRING("downloads.rdf")
 #define SEARCH_FILE_50_NAME          NS_LITERAL_CSTRING("search.rdf" )
 #define STORAGE_FILE_50_NAME         NS_LITERAL_CSTRING("storage.sdb")
 
 //*****************************************************************************
@@ -220,21 +219,16 @@ nsProfileDirServiceProvider::GetFile(con
       rv = localFile->AppendNative(LOCAL_STORE_FILE_50_NAME);
       if (NS_SUCCEEDED(rv)) {
         // it's OK if we can't copy the file... it will be created
         // by client code.
         (void) EnsureProfileFileExists(localFile, domainDir);
       }
     }
   }
-  else if (strcmp(prop, NS_APP_HISTORY_50_FILE) == 0) {
-    rv = domainDir->Clone(getter_AddRefs(localFile));
-    if (NS_SUCCEEDED(rv))
-      rv = localFile->AppendNative(HISTORY_FILE_50_NAME);
-  }
   else if (strcmp(prop, NS_APP_USER_PANELS_50_FILE) == 0) {
     rv = domainDir->Clone(getter_AddRefs(localFile));
     if (NS_SUCCEEDED(rv)) {
       rv = localFile->AppendNative(PANELS_FILE_50_NAME);
       if (NS_SUCCEEDED(rv))
         rv = EnsureProfileFileExists(localFile, domainDir);
     }
   }
@@ -430,17 +424,16 @@ nsProfileDirServiceProvider::UndefineFil
            do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
   NS_ENSURE_TRUE(directoryService, NS_ERROR_FAILURE);
 
   (void) directoryService->Undefine(NS_APP_PREFS_50_DIR);
   (void) directoryService->Undefine(NS_APP_PREFS_50_FILE);
   (void) directoryService->Undefine(NS_APP_USER_PROFILE_50_DIR);
   (void) directoryService->Undefine(NS_APP_USER_CHROME_DIR);
   (void) directoryService->Undefine(NS_APP_LOCALSTORE_50_FILE);
-  (void) directoryService->Undefine(NS_APP_HISTORY_50_FILE);
   (void) directoryService->Undefine(NS_APP_USER_PANELS_50_FILE);
   (void) directoryService->Undefine(NS_APP_USER_MIMETYPES_50_FILE);
   (void) directoryService->Undefine(NS_APP_BOOKMARKS_50_FILE);
   (void) directoryService->Undefine(NS_APP_DOWNLOADS_50_FILE);
   (void) directoryService->Undefine(NS_APP_SEARCH_50_FILE);
 
   return NS_OK;
 }
--- a/services/sync/tests/unit/head_helpers.js
+++ b/services/sync/tests/unit/head_helpers.js
@@ -4,20 +4,16 @@ Cu.import("resource://services-sync/engi
 var btoa;
 
 let provider = {
   getFile: function(prop, persistent) {
     persistent.value = true;
     switch (prop) {
       case "ExtPrefDL":
         return [Services.dirsvc.get("CurProcD", Ci.nsIFile)];
-      case "UHist":
-        let histFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
-        histFile.append("history.dat");
-        return histFile;
       default:
         throw Cr.NS_ERROR_FAILURE;
     }
   },
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider])
 };
 Services.dirsvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider);
 
--- a/toolkit/components/build/nsToolkitCompsCID.h
+++ b/toolkit/components/build/nsToolkitCompsCID.h
@@ -102,19 +102,16 @@
   "@mozilla.org/browser/annotation-service;1"
 
 #define NS_NAVBOOKMARKSSERVICE_CONTRACTID \
   "@mozilla.org/browser/nav-bookmarks-service;1"
 
 #define NS_LIVEMARKSERVICE_CONTRACTID \
   "@mozilla.org/browser/livemark-service;2"
 
-#define NS_MORKHISTORYIMPORTER_CONTRACTID \
-  "@mozilla.org/browser/history-importer;1"
-
 #define NS_FAVICONSERVICE_CONTRACTID \
   "@mozilla.org/browser/favicon-service;1"
 
 #define NS_PLACESIMPORTEXPORTSERVICE_CONTRACTID \
   "@mozilla.org/browser/places/import-export-service;1"
 
 #define NS_APPSTARTUP_CONTRACTID \
   "@mozilla.org/toolkit/app-startup;1"
@@ -186,19 +183,16 @@
 { 0x2ea8966f, 0x0671, 0x4c02, { 0x9c, 0x70, 0x94, 0x59, 0x56, 0xd4, 0x54, 0x34 } }
 
 #define NS_ANNOTATIONSERVICE_CID \
 { 0x5e8d4751, 0x1852, 0x434b, { 0xa9, 0x92, 0x2c, 0x6d, 0x2a, 0x25, 0xfa, 0x46 } }
 
 #define NS_NAVBOOKMARKSSERVICE_CID \
 { 0x9de95a0c, 0x39a4, 0x4d64, {0x9a, 0x53, 0x17, 0x94, 0x0d, 0xd7, 0xca, 0xbb}}
 
-#define NS_MORKHISTORYIMPORTER_CID \
-{ 0x428e6d12, 0x9c6d, 0x436f, {0xb7, 0xa3, 0x6c, 0xa5, 0xf4, 0x80, 0x92, 0x12}}
-
 #define NS_FAVICONSERVICE_CID \
 { 0x984e3259, 0x9266, 0x49cf, { 0xb6, 0x05, 0x60, 0xb0, 0x22, 0xa0, 0x07, 0x56 } }
 
 // {6fb0c970-e1b1-11db-8314-0800200c9a66}
 #define NS_PLACESIMPORTEXPORTSERVICE_CID \
 { 0x6fb0c970, 0xe1b1, 0x11db, { 0x83, 0x14, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 } }
 
 #define NS_WEBAPPSSUPPORT_CID \
--- a/toolkit/components/places/Makefile.in
+++ b/toolkit/components/places/Makefile.in
@@ -92,22 +92,16 @@ CPPSRCS = \
   Helpers.cpp \
   History.cpp \
   nsPlacesImportExportService.cpp \
   AsyncFaviconHelpers.cpp \
   PlaceInfo.cpp \
   VisitInfo.cpp \
   $(NULL)
 
-ifdef MOZ_MORKREADER
-CPPSRCS += nsMorkHistoryImporter.cpp
-else
-CPPSRCS += nsNoMorkStubImporter.cpp
-endif
-
 LOCAL_INCLUDES += -I$(srcdir)/../build
 
 # This is the default value.  Must be in sync with the one defined in SQLite.
 DEFINES += -DSQLITE_DEFAULT_PAGE_SIZE=32768
 
 EXTRA_COMPONENTS = \
   toolkitplaces.manifest \
   nsLivemarkService.js \
--- a/toolkit/components/places/nsINavHistoryService.idl
+++ b/toolkit/components/places/nsINavHistoryService.idl
@@ -1398,17 +1398,17 @@ interface nsINavHistoryQueryOptions : ns
   attribute boolean asyncEnabled;
 
   /**
    * Creates a new options item with the same parameters of this one.
    */
   nsINavHistoryQueryOptions clone();
 };
 
-[scriptable, uuid(437f539b-d541-4a0f-a200-6f9a6d45cce2)]
+[scriptable, uuid(562e698d-04f0-4df1-bd5d-1f1e5b84d7ef)]
 interface nsINavHistoryService : nsISupports
 {
   /**
    * System Notifications:
    *
    * places-init-complete - Sent once the History service is completely
    *                        initialized successfully.
    * places-database-locked - Sent if initialization of the History service
@@ -1642,22 +1642,16 @@ interface nsINavHistoryService : nsISupp
   void runInBatchMode(in nsINavHistoryBatchCallback aCallback,
                       in nsISupports aClosure);
 
   /** 
    * True if history is disabled. currently, 
    * history is disabled if the places.history.enabled pref is false.
    */
   readonly attribute boolean historyDisabled;
-
-  /**
-   * Import the given Mork history file.
-   *  @param file     The Mork history file to import
-   */
-  void importHistory(in nsIFile file);
 };
 
 /**
  * @see runInBatchMode of nsINavHistoryService/nsINavBookmarksService
  */
 [scriptable, uuid(5143f2bb-be0a-4faf-9acb-b0ed3f82952c)]
 interface nsINavHistoryBatchCallback : nsISupports {
   void runBatched(in nsISupports aUserData);
--- a/toolkit/components/places/nsNavHistory.cpp
+++ b/toolkit/components/places/nsNavHistory.cpp
@@ -488,38 +488,16 @@ nsNavHistory::Init()
     (void)obsSvc->AddObserver(this, TOPIC_PROFILE_CHANGE, PR_FALSE);
     (void)obsSvc->AddObserver(this, TOPIC_IDLE_DAILY, PR_FALSE);
     (void)obsSvc->AddObserver(this, NS_PRIVATE_BROWSING_SWITCH_TOPIC, PR_FALSE);
 #ifdef MOZ_XUL
     (void)obsSvc->AddObserver(this, TOPIC_AUTOCOMPLETE_FEEDBACK_INCOMING, PR_FALSE);
 #endif
   }
 
-  // In case we've either imported or done a migration from a pre-frecency
-  // build, we will calculate the first cutoff period's frecencies once the rest
-  // of the places infrastructure has been initialized.
-  if (mDatabaseStatus == DATABASE_STATUS_CREATE ||
-      mDatabaseStatus == DATABASE_STATUS_UPGRADED) {
-    if (mDatabaseStatus == DATABASE_STATUS_CREATE) {
-      // Check if we should import old history from history.dat
-      nsCOMPtr<nsIFile> historyFile;
-      rv = NS_GetSpecialDirectory(NS_APP_HISTORY_50_FILE,
-                                  getter_AddRefs(historyFile));
-      if (NS_SUCCEEDED(rv) && historyFile) {
-        (void)ImportHistory(historyFile);
-      }
-    }
-
-    // In case we've either imported or done a migration from a pre-frecency
-    // build, we will calculate the first cutoff period's frecencies once the
-    // rest of the places infrastructure has been initialized.
-    if (obsSvc)
-      (void)obsSvc->AddObserver(this, TOPIC_PLACES_INIT_COMPLETE, PR_FALSE);
-  }
-
   // Don't add code that can fail here! Do it up above, before we add our
   // observers.
 
   return NS_OK;
 }
 
 
 nsresult
@@ -4607,28 +4585,16 @@ nsNavHistory::RemoveAllPages()
 
   // Invalidate the cached value for whether there's history or not.
   mHasHistoryEntries = -1;
 
   // Expiration will take care of orphans.
   NOTIFY_OBSERVERS(mCanNotify, mCacheObservers, mObservers,
                    nsINavHistoryObserver, OnClearHistory());
 
-  // privacy cleanup, if there's an old history.dat around, just delete it
-  nsCOMPtr<nsIFile> oldHistoryFile;
-  rv = NS_GetSpecialDirectory(NS_APP_HISTORY_50_FILE,
-                              getter_AddRefs(oldHistoryFile));
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  PRBool fileExists;
-  if (NS_SUCCEEDED(oldHistoryFile->Exists(&fileExists)) && fileExists) {
-    rv = oldHistoryFile->Remove(PR_FALSE);
-    NS_ENSURE_SUCCESS(rv, rv);
-  }
-
   return NS_OK;
 }
 
 
 // nsNavHistory::HidePage
 //
 //    Sets the 'hidden' column to true. If we've not heard of the page, we
 //    succeed and do nothing.
@@ -5546,27 +5512,16 @@ nsNavHistory::Observe(nsISupports *aSubj
     if (NS_LITERAL_STRING(NS_PRIVATE_BROWSING_ENTER).Equals(aData)) {
       mInPrivateBrowsing = PR_TRUE;
     }
     else if (NS_LITERAL_STRING(NS_PRIVATE_BROWSING_LEAVE).Equals(aData)) {
       mInPrivateBrowsing = PR_FALSE;
     }
   }
 
-  else if (strcmp(aTopic, TOPIC_PLACES_INIT_COMPLETE) == 0) {
-    nsCOMPtr<nsIObserverService> os =
-      do_GetService(NS_OBSERVERSERVICE_CONTRACTID);
-    NS_ENSURE_TRUE(os, NS_ERROR_FAILURE);
-    (void)os->RemoveObserver(this, TOPIC_PLACES_INIT_COMPLETE);
-
-    // This code is only called if we've either imported or done a migration
-    // from a pre-frecency build, so we will calculate all their frecencies.
-    (void)FixInvalidFrecencies();
-  }
-
   return NS_OK;
 }
 
 
 nsresult
 nsNavHistory::DecayFrecency()
 {
   nsresult rv = FixInvalidFrecencies();
@@ -6844,102 +6799,16 @@ nsNavHistory::SetPageTitleInternal(nsIUR
 
   MOZ_ASSERT(!guid.IsEmpty());
   NOTIFY_OBSERVERS(mCanNotify, mCacheObservers, mObservers,
                    nsINavHistoryObserver, OnTitleChanged(aURI, aTitle, guid));
 
   return NS_OK;
 }
 
-nsresult
-nsNavHistory::AddPageWithVisits(nsIURI *aURI,
-                                const nsString &aTitle,
-                                PRInt32 aVisitCount,
-                                PRInt32 aTransitionType,
-                                PRTime aFirstVisitDate,
-                                PRTime aLastVisitDate)
-{
-  PRBool canAdd = PR_FALSE;
-  nsresult rv = CanAddURI(aURI, &canAdd);
-  NS_ENSURE_SUCCESS(rv, rv);
-  if (!canAdd) {
-    return NS_OK;
-  }
-
-  // see if this is an update (revisit) or a new page
-  DECLARE_AND_ASSIGN_SCOPED_LAZY_STMT(stmt, mDBGetPageVisitStats);
-  rv = URIBinder::Bind(stmt, NS_LITERAL_CSTRING("page_url"), aURI);
-  NS_ENSURE_SUCCESS(rv, rv);
-  PRBool alreadyVisited = PR_FALSE;
-  rv = stmt->ExecuteStep(&alreadyVisited);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  PRInt64 placeId = 0;
-  PRInt32 typed = 0;
-  PRInt32 hidden = 0;
-
-  nsCAutoString guid;
-  if (alreadyVisited) {
-    // Update the existing entry
-    rv = stmt->GetInt64(0, &placeId);
-    NS_ENSURE_SUCCESS(rv, rv);
-    // We don't mind visit_count
-    rv = stmt->GetInt32(2, &typed);
-    NS_ENSURE_SUCCESS(rv, rv);
-    rv = stmt->GetInt32(3, &hidden);
-    NS_ENSURE_SUCCESS(rv, rv);
-    rv = stmt->GetUTF8String(4, guid);
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    if (typed == 0 && aTransitionType == TRANSITION_TYPED) {
-      typed = 1;
-      // Update with new stats
-      DECLARE_AND_ASSIGN_SCOPED_LAZY_STMT(updateStmt, mDBUpdatePageVisitStats);
-      rv = updateStmt->BindInt64ByName(NS_LITERAL_CSTRING("page_id"), placeId);
-      NS_ENSURE_SUCCESS(rv, rv);
-      rv = updateStmt->BindInt32ByName(NS_LITERAL_CSTRING("hidden"), hidden);
-      NS_ENSURE_SUCCESS(rv, rv);
-      rv = updateStmt->BindInt32ByName(NS_LITERAL_CSTRING("typed"), typed);
-      NS_ENSURE_SUCCESS(rv, rv);
-
-      rv = updateStmt->Execute();
-      NS_ENSURE_SUCCESS(rv, rv);
-    }
-  } else {
-    // Insert the new place entry
-    rv = InternalAddNewPage(aURI, aTitle, hidden == 1,
-                            aTransitionType == TRANSITION_TYPED, 0,
-                            PR_FALSE, &placeId, guid);
-    NS_ENSURE_SUCCESS(rv, rv);
-  }
-
-  NS_ASSERTION(placeId != 0, "Cannot add a visit to a nonexistent page");
-
-  if (aFirstVisitDate != -1) {
-    // Add the first visit
-    PRInt64 visitId;
-    rv = InternalAddVisit(placeId, 0, 0,
-                          aFirstVisitDate, aTransitionType, &visitId);
-    aVisitCount--;
-    NS_ENSURE_SUCCESS(rv, rv);
-  }
-
-  if (aLastVisitDate != -1) {
-   // Add remaining visits starting from the last one
-   for (PRInt64 i = 0; i < aVisitCount; i++) {
-      PRInt64 visitId;
-      rv = InternalAddVisit(placeId, 0, 0,
-                            aLastVisitDate - i, aTransitionType, &visitId);
-      NS_ENSURE_SUCCESS(rv, rv);
-    }
-  }
-
-  return NS_OK;
-}
-
 
 namespace {
 
 // GetSimpleBookmarksQueryFolder
 //
 //    Determines if this set of queries is a simple bookmarks query for a
 //    folder with no other constraints. In these common cases, we can more
 //    efficiently compute the results.
--- a/toolkit/components/places/nsNavHistory.h
+++ b/toolkit/components/places/nsNavHistory.h
@@ -393,29 +393,16 @@ public:
   // Current active transaction for a batch.
   mozStorageTransaction* mBatchDBTransaction;
 
   // better alternative to QueryStringToQueries (in nsNavHistoryQuery.cpp)
   nsresult QueryStringToQueryArray(const nsACString& aQueryString,
                                    nsCOMArray<nsNavHistoryQuery>* aQueries,
                                    nsNavHistoryQueryOptions** aOptions);
 
-  // Import-friendly version of AddVisit.
-  // This method adds a page to history along with a single last visit.
-  // aLastVisitDate can be -1 if there is no last visit date to record.
-  //
-  // This is only for use by the import of history.dat on first-run of Places,
-  // which currently occurs if no places.sqlite file previously exists.
-  nsresult AddPageWithVisits(nsIURI *aURI,
-                             const nsString &aTitle,
-                             PRInt32 aVisitCount,
-                             PRInt32 aTransitionType,
-                             PRTime aFirstVisitDate,
-                             PRTime aLastVisitDate);
-
   // sets the schema version in the database to match SCHEMA_VERSION
   nsresult UpdateSchemaVersion();
 
   // Returns true if we are currently in private browsing mode
   PRBool InPrivateBrowsingMode()
   {
     if (mInPrivateBrowsing == PRIVATEBROWSING_NOTINITED) {
       mInPrivateBrowsing = PR_FALSE;
--- a/toolkit/components/places/tests/head_common.js
+++ b/toolkit/components/places/tests/head_common.js
@@ -32,17 +32,16 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 const NS_APP_USER_PROFILE_50_DIR = "ProfD";
 const NS_APP_PROFILE_DIR_STARTUP = "ProfDS";
-const NS_APP_HISTORY_50_FILE = "UHist";
 const NS_APP_BOOKMARKS_50_FILE = "BMarks";
 
 // Shortcuts to transitions type.
 const TRANSITION_LINK = Ci.nsINavHistoryService.TRANSITION_LINK;
 const TRANSITION_TYPED = Ci.nsINavHistoryService.TRANSITION_TYPED;
 const TRANSITION_BOOKMARK = Ci.nsINavHistoryService.TRANSITION_BOOKMARK;
 const TRANSITION_EMBED = Ci.nsINavHistoryService.TRANSITION_EMBED;
 const TRANSITION_FRAMED_LINK = Ci.nsINavHistoryService.TRANSITION_FRAMED_LINK;
@@ -82,36 +81,16 @@ function LOG(aMsg) {
 let gTestDir = do_get_cwd();
 
 // Ensure history is enabled.
 Services.prefs.setBoolPref("places.history.enabled", true);
 
 // Initialize profile.
 let gProfD = do_get_profile();
 
-// Add our own dirprovider for old history.dat.
-let (provider = {
-      getFile: function(prop, persistent) {
-        persistent.value = true;
-        if (prop == NS_APP_HISTORY_50_FILE) {
-          let histFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
-          histFile.append("history.dat");
-          return histFile;
-        }
-        throw Cr.NS_ERROR_FAILURE;
-      },
-      QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider])
-    })
-{
-  Cc["@mozilla.org/file/directory_service;1"].
-  getService(Ci.nsIDirectoryService).
-  QueryInterface(Ci.nsIDirectoryService).registerProvider(provider);
-}
-
-
 // Remove any old database.
 clearDB();
 
 
 /**
  * Shortcut to create a nsIURI.
  *
  * @param aSpec
deleted file mode 100644
--- a/toolkit/components/places/tests/unit/history.dat
+++ /dev/null
@@ -1,1 +0,0 @@
-// <!-- <mdb:mork:z v="1.4"/> -->
< <(a=c)> // (f=iso-8859-1)
  (8A=Typed)(8B=LastPageVisited)(8C=ByteOrder)
  (80=ns:history:db:row:scope:history:all)
  (81=ns:history:db:table:kind:history)(82=URL)(83=Referrer)
  (84=LastVisitDate)(85=FirstVisitDate)(86=VisitCount)(87=Name)
  (88=Hostname)(89=Hidden)>

<(80=LE)(81=http://en-us.www.mozilla.com/en-US/firefox/2.0.0.12/whatsnew/)
  (82=1205364946314923)(83=en-us.www.mozilla.com)(84
    =F$00i$00r$00e$00f$00o$00x$00 $00U$00p$00d$00a$00t$00e$00d$00)>
{1:^80 {(k^81:c)(s=9)[1(^8C=LE)]} 
  [2(^82^81)(^84^82)(^85^82)(^88^83)(^87^84)]}

@$${2{@
@$$}2}@
\ No newline at end of file
deleted file mode 100644
--- a/toolkit/components/places/tests/unit/migrateFrecency.dat
+++ /dev/null
@@ -1,1 +0,0 @@
-// <!-- <mdb:mork:z v="1.4"/> -->
< <(a=c)> // (f=iso-8859-1)
  (8A=Typed)(8B=LastPageVisited)(8C=ByteOrder)
  (80=ns:history:db:row:scope:history:all)
  (81=ns:history:db:table:kind:history)(82=URL)(83=Referrer)
  (84=LastVisitDate)(85=FirstVisitDate)(86=VisitCount)(87=Name)
  (88=Hostname)(89=Hidden)>

<(80=LE)(81
    =http://en-us.start2.mozilla.com/firefox?client=firefox-a&rls=org.mozilla:\
en-US:official)(82=1239301855859657)(83=en-us.start2.mozilla.com)(84=1)
  (85=http://en-us.www.mozilla.com/en-US/firefox/2.0.0.20/firstrun/)
  (86=en-us.www.mozilla.com)(87=W$00e$00l$00c$00o$00m$00e$00 $00t$00o$00 $00F$00\
i$00r$00e$00f$00o$00x$00)(88
    =http://www.google.com/firefox?client=firefox-a&rls=org.mozilla:en-US:offi\
cial)(89=google.com)(8A
    =M$00o$00z$00i$00l$00l$00a$00 $00F$00i$00r$00e$00f$00o$00x$00 $00S$00t$00a\
$00r$00t$00 $00P$00a$00g$00e$00)(8B
    =http://www.mozilla.com/en-US/firefox/?utm_source=gsnippet&utm_content=up2\
&utm_campaign=s032509)(8C=1239301875178326)(8D=mozilla.com)(8E
    =http://www.mozilla.com/en-US/firefox/upgrade.html?utm_source=gsnippet&utm\
_content=up2&utm_campaign=s032509)(8F
    =I$00t$00'$00s$00 $00T$00i$00m$00e$00 $00f$00o$00r$00 $00a$00n$00 $00U$00p\
$00g$00r$00a$00d$00e$00)(90=http://www.mozilla.com/en-US/firefox/security/)
  (11D=1239301989752731)(91=1239301883250586)(92
    =M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00o$00d$00u$00c$00t$00s$00 $00|$00 \
$00S$00e$00c$00u$00r$00i$00t$00y$00)(F9=2)(93
    =http://www.mozilla.com/en-US/firefox/features/#performance)(94
    =1239301888660702)(95
    =F$00i$00r$00e$00f$00o$00x$00 $00w$00e$00b$00 $00b$00r$00o$00w$00s$00e$00r\
$00 $00|$00 $00F$00e$00a$00t$00u$00r$00e$00s$00:$00 $00F$00a$00s$00t$00e$00r$00\
,$00 $00m$00o$00r$00e$00 $00s$00e$00c$00u$00r$00e$00,$00 $00&$00 $00c$00u$00s$00\
t$00o$00m$00i$00z$00a$00b$00l$00e$00)(96
    =http://www.mozilla.com/en-US/firefox/features/#location-bar)(97
    =http://www.mozilla.com/en-US/firefox/features/#bookmarking)(98
    =http://www.mozilla.com/en-US/firefox/features/#password-manager)
  (99=http://www.mozilla.com/en-US/press/awards.html)(9A=1239301891945150)
  (9B=M$00o$00z$00i$00l$00l$00a$00 $00A$00w$00a$00r$00d$00s$00)(9C
    =http://support.mozilla.com/en-US/)(9D=1239301896555865)(9E
    =support.mozilla.com)(9F
    =F$00i$00r$00e$00f$00o$00x$00 $00S$00u$00p$00p$00o$00r$00t$00 $00H$00o$00m\
$00e$00 $00P$00a$00g$00e$00)(A0=http://www.mozilla.com/en-US/firefox/tips/)
  (118=1239301986163698)(A1
    =M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00o$00d$00u$00c$00t$00s$00 $00|$00 \
$00T$00i$00p$00s$00 $00&$00 $00T$00r$00i$00c$00k$00s$00)(A2
    =http://www.spreadfirefox.com/tellafriend)(A3=1239301900174457)
  (A4=spreadfirefox.com)(A5
    =T$00e$00l$00l$00 $00a$00 $00f$00r$00i$00e$00n$00d$00 $00a$00b$00o$00u$00t\
$00 $00F$00i$00r$00e$00f$00o$00x$00 $00|$00 $00S$00p$00r$00e$00a$00d$00 $00F$00\
i$00r$00e$00f$00o$00x$00)(A6=http://www.mozilla.com/en-US/firefox/video/)
  (A7=F$00i$00r$00e$00f$00o$00x$00 $00V$00i$00d$00e$00o$00s$00)(A8
    =http://www.mozilla.com/en-US/manyfaces/)(125=1239301997356440)
  (A9=1239301919438371)(AA
    =T$00h$00e$00 $00M$00a$00n$00y$00 $00F$00a$00c$00e$00s$00 $00o$00f$00 $00M\
$00o$00z$00i$00l$00l$00a$00)(AB=https://addons.mozilla.org/)(AC
    =addons.mozilla.org)(FB=3)(AD=https://addons.mozilla.org/en-US/)
  (AE=https://addons.mozilla.org/en-US/firefox/)(B2
    =F$00i$00r$00e$00f$00o$00x$00 $00A$00d$00d$00-$00o$00n$00s$00)(126=4)
  (AF=https://bugzilla.mozilla.org/)(B0=bugzilla.mozilla.org)(B1
    =B$00u$00g$00z$00i$00l$00l$00a$00@$00M$00o$00z$00i$00l$00l$00a$00)
  (B3=http://developer.mozilla.org/)(B4=1239301925407750)(B5
    =developer.mozilla.org)(B6=https://developer.mozilla.org/)(B7
    =http://developer.mozilla.org/En)(B8=http://labs.mozilla.com/)(B9
    =labs.mozilla.com)(BA=M$00o$00z$00i$00l$00l$00a$00 $00L$00a$00b$00s$00)
  (BB=https://developer.mozilla.org/En)(BC=M$00a$00i$00n$00 $00P$00a$00g$00e$00\
 $00-$00 $00M$00D$00C$00)(BD=http://www.mozillamessaging.com/)(BE
    =mozillamessaging.com)(BF=http://www.mozillamessaging.com/en-US)
  (C0=http://www.mozilla.org/)(C1=mozilla.org)(C2
    =M$00o$00z$00i$00l$00l$00a$00.$00o$00r$00g$00 $00-$00 $00H$00o$00m$00e$00 \
$00o$00f$00 $00t$00h$00e$00 $00M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00o$00j$00\
e$00c$00t$00)(C3=http://www.mozillamessaging.com/en-US/)(C4
    =M$00o$00z$00i$00l$00l$00a$00 $00M$00e$00s$00s$00a$00g$00i$00n$00g$00)
  (C5=http://www.mozillazine.org/)(C6=mozillazine.org)(C7
    =m$00o$00z$00i$00l$00l$00a$00Z$00i$00n$00e$00 $00-$00 $00Y$00o$00u$00r$00 \
$00S$00o$00u$00r$00c$00e$00 $00f$00o$00r$00 $00D$00a$00i$00l$00y$00 $00M$00o$00\
z$00i$00l$00l$00a$00 $00N$00e$00w$00s$00 $00a$00n$00d$00 $00A$00d$00v$00o$00c$00\
a$00c$00y$00)(C8=http://planet.mozilla.org/)(C9=1239301929751030)(CA
    =planet.mozilla.org)(CB=P$00l$00a$00n$00e$00t$00 $00M$00o$00z$00i$00l$00l$00\
a$00)(CC=http://www.spreadfirefox.com/)(CD
    =S$00p$00r$00e$00a$00d$00 $00F$00i$00r$00e$00f$00o$00x$00 $00|$00 $00T$00h\
$00e$00 $00H$00o$00m$00e$00 $00o$00f$00 $00F$00i$00r$00e$00f$00o$00x$00 $00C$00\
o$00m$00m$00u$00n$00i$00t$00y$00 $00M$00a$00r$00k$00e$00t$00i$00n$00g$00)
  (CE=https://developer.mozilla.org/skins/common/loading.html)(CF
    =http://support.mozilla.com/)(D0
    =http://www.mozilla.com/en-US/about/contact.html)(D1
    =C$00o$00n$00t$00a$00c$00t$00 $00U$00s$00 $00|$00 $00M$00o$00z$00i$00l$00l\
$00a$00)(D2=http://quality.mozilla.org/)(D3=quality.mozilla.org)(D4
    =Q$00M$00O$00 $00-$00 $00q$00u$00a$00l$00i$00t$00y$00.$00m$00o$00z$00i$00l\
$00l$00a$00.$00o$00r$00g$00 $00|$00 $00T$00h$00e$00 $00h$00o$00m$00e$00 $00o$00\
f$00 $00M$00o$00z$00i$00l$00l$00a$00 $00Q$00A$00)(D5
    =http://www.mozilla.com/en-US/about/logo/)(D6=1239301933484077)
  (D7=L$00o$00g$00o$00 $00G$00u$00i$00d$00e$00 $00|$00 $00M$00o$00z$00i$00l$00\
l$00a$00)(D8=http://support.mozilla.com/en-US/kb/)(D9
    =http://communitystore.mozilla.org/)(DA=communitystore.mozilla.org)
  (DB=M$00o$00z$00i$00l$00l$00a$00 $00C$00o$00m$00m$00u$00n$00i$00t$00y$00 $00\
S$00t$00o$00r$00e$00)(DC
    =http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-0651448570352\
947&dt=1239301930477&lmt=1239301928&format=160x600_as&output=html&correlator=1\
239301930477&channel=2066955107&url=http%3A%2F%2Fwww.mozillazine.org%2F&color_\
bg=FAF9F6&color_text=006666&color_link=006666&color_url=006666&color_border=00\
6666&ad_type=text&ref=http%3A%2F%2Fwww.mozilla.com%2Fen-US%2Ffirefox%2Fupgrade\
.html%3Futm_source%3Dgsnippet%26utm_content%3Dup2%26utm_campaign%3Ds032509&frm\
=0&ga_vid=184584962.1239301930&ga_sid=1239301930&ga_hid=831485089&ga_fc=true&f\
lash=10.0.12&u_h=800&u_w=1280&u_ah=778&u_aw=1231&u_cd=32&u_tz=-300&u_his=1&u_j\
ava=true&u_nplug=6&u_nmime=95&dtd=M&w=160&h=600&xpc=Nl4JcC7UdL&p=http%3A//www.\
mozillazine.org)(DD=googleads.g.doubleclick.net)(E1=)(DE
    =http://store.mozilla.org/)(DF=1239301937089858)(E0=store.mozilla.org)
  (E2=M$00o$00z$00i$00l$00l$00a$00 $00S$00t$00o$00r$00e$00)(E3
    =http://blog.mozilla.com/)(E4=blog.mozilla.com)(EC
    =T$00h$00e$00 $00M$00o$00z$00i$00l$00l$00a$00 $00B$00l$00o$00g$00)
  (E5=http://www.mozilla.org/foundation/licensing.html)(E6
    =M$00o$00z$00i$00l$00l$00a$00 $00L$00i$00c$00e$00n$00s$00i$00n$00g$00 $00P\
$00o$00l$00i$00c$00i$00e$00s$00)(E7
    =http://www.mozilla.com/en-US/about/partnerships.html)(E8
    =1239301940162282)(E9=P$00a$00r$00t$00n$00e$00r$00s$00h$00i$00p$00s$00 $00\
|$00 $00M$00o$00z$00i$00l$00l$00a$00)(EA
    =http://www.mozilla.com/en-US/about/careers.html)(EB
    =C$00a$00r$00e$00e$00r$00s$00 $00|$00 $00M$00o$00z$00i$00l$00l$00a$00)
  (ED=http://www.mozilla.com/en-US/press/)(EE
    =M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00e$00s$00s$00 $00C$00e$00n$00t$00e\
$00r$00)(EF=http://www.mozilla.com/en-US/about/get-involved.html)(F0
    =G$00e$00t$00 $00I$00n$00v$00o$00l$00v$00e$00d$00 $00|$00 $00M$00o$00z$00i\
$00l$00l$00a$00)(F1=http://www.mozilla.com/en-US/about/whatismozilla.html)
  (F2=W$00h$00a$00t$00 $00i$00s$00 $00M$00o$00z$00i$00l$00l$00a$00?$00)
  (F3
    =http://w.sharethis.com/share3x/lightbox.html?stv=3-2-2RC2#init/publisher=\
b296ddcc-53ff-4ac6-b205-4fd70a3ea038/sessionID=1239301940911.2341)(F4
    =w.sharethis.com)(F5=S$00h$00a$00r$00e$00T$00h$00i$00s$00)(F6
    =http://www.mozilla.com/en-US/about/)(127=1239302000814962)(F7
    =1239301943551222)(F8=A$00b$00o$00u$00t$00 $00|$00 $00M$00o$00z$00i$00l$00\
l$00a$00)(FC=http://www.mozilla.org/support/thunderbird/)(FA
    =1239301947100203)(FD
    =T$00h$00u$00n$00d$00e$00r$00b$00i$00r$00d$00 $00H$00e$00l$00p$00 $00-$00 \
$00O$00n$00l$00i$00n$00e$00 $00H$00e$00l$00p$00 $00f$00o$00r$00 $00t$00h$00e$00\
 $00M$00o$00z$00i$00l$00l$00a$00 $00T$00h$00u$00n$00d$00e$00r$00b$00i$00r$00d$00\
 $00M$00a$00i$00l$00 $00C$00l$00i$00e$00n$00t$00)(FF
    =https://addons.mozilla.org/firefox/)(FE=1239301970057703)(100
    =https://addons.mozilla.org/firefox/recommended)(101
    =https://addons.mozilla.org/en-US/firefox/recommended)(105
    =R$00e$00c$00o$00m$00m$00e$00n$00d$00e$00d$00 $00A$00d$00d$00-$00o$00n$00s\
$00 $00:$00:$00 $00F$00i$00r$00e$00f$00o$00x$00 $00A$00d$00d$00-$00o$00n$00s$00)
  (102
    =https://addons.mozilla.org/firefox/browse/type:1/cat:all?sort=popular)
  (103=1239301973611026)(104
    =https://addons.mozilla.org/en-US/firefox/browse/type:1/cat:all?sort=popul\
ar)(108
    =P$00o$00p$00u$00l$00a$00r$00 $00A$00d$00d$00-$00o$00n$00s$00 $00:$00:$00 \
$00F$00i$00r$00e$00f$00o$00x$00 $00A$00d$00d$00-$00o$00n$00s$00)(106
    =https://addons.mozilla.org/firefox/browse/type:2)(107
    =https://addons.mozilla.org/en-US/firefox/browse/type:2)(10B
    =B$00r$00o$00w$00s$00e$00 $00a$00l$00l$00 $00T$00h$00e$00m$00e$00s$00 $00:\
$00:$00 $00F$00i$00r$00e$00f$00o$00x$00 $00A$00d$00d$00-$00o$00n$00s$00)
  (109=https://addons.mozilla.org/firefox/browse/type:4)(10A
    =https://addons.mozilla.org/en-US/firefox/browse/type:4)(10F
    =S$00e$00a$00r$00c$00h$00 $00E$00n$00g$00i$00n$00e$00s$00 $00:$00:$00 $00F\
$00i$00r$00e$00f$00o$00x$00 $00A$00d$00d$00-$00o$00n$00s$00)(10C
    =https://addons.mozilla.org/firefox/browse/type:7)(10D
    =1239301977195104)(10E
    =https://addons.mozilla.org/en-US/firefox/browse/type:7)(110
    =P$00l$00u$00g$00i$00n$00s$00 $00:$00:$00 $00F$00i$00r$00e$00f$00o$00x$00 \
$00A$00d$00d$00-$00o$00n$00s$00)(111
    =http://www.mozilla.com/en-US/privacy-policy.html)(112
    =M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00i$00v$00a$00c$00y$00 $00P$00o$00l\
$00i$00c$00y$00)(113=http://www.mozilla.com/en-US/about/legal.html)
  (114=L$00e$00g$00a$00l$00 $00N$00o$00t$00i$00c$00e$00s$00 $00|$00 $00M$00o$00\
z$00i$00l$00l$00a$00)(115
    =http://www.mozilla.com/en-US/legal/fraud-report/index.html)(116
    =V$00i$00o$00l$00a$00t$00i$00n$00g$00 $00W$00e$00b$00s$00i$00t$00e$00 $00R\
$00e$00p$00o$00r$00t$00 $00|$00 $00M$00o$00z$00i$00l$00l$00a$00)(117
    =http://www.mozilla.com/en-US/firefox/all.html)(119
    =F$00i$00r$00e$00f$00o$00x$00 $00w$00e$00b$00 $00b$00r$00o$00w$00s$00e$00r\
$00 $00|$00 $00I$00n$00t$00e$00r$00n$00a$00t$00i$00o$00n$00a$00l$00 $00v$00e$00\
r$00s$00i$00o$00n$00s$00:$00 $00G$00e$00t$00 $00F$00i$00r$00e$00f$00o$00x$00 $00\
i$00n$00 $00y$00o$00u$00r$00 $00l$00a$00n$00g$00u$00a$00g$00e$00)(11A
    =http://www.mozilla.com/en-US/firefox/3.0.8/releasenotes/)(11B
    =M$00o$00z$00i$00l$00l$00a$00 $00F$00i$00r$00e$00f$00o$00x$00 $003$00.$000\
$00.$008$00 $00R$00e$00l$00e$00a$00s$00e$00 $00N$00o$00t$00e$00s$00)
  (11C=http://www.mozilla.com/en-US/firefox/organic/)(11E
    =F$00i$00r$00e$00f$00o$00x$00:$00 $001$000$000$00%$00 $00O$00r$00g$00a$00n\
$00i$00c$00 $00S$00o$00f$00t$00w$00a$00r$00e$00)(11F
    =http://www.mozilla.com/en-US/firefox/customize/)(120
    =O$00n$00e$00 $00S$00i$00z$00e$00 $00D$00o$00e$00s$00n$00$19 t$00 $00F$00i\
$00t$00 $00A$00l$00l$00)(121
    =http://www.mozilla.com/en-US/firefox/features/)(122=1239301993053805)
  (123=http://www.mozilla.com/en-US/products/)(124
    =M$00o$00z$00i$00l$00l$00a$00 $00P$00r$00o$00d$00u$00c$00t$00s$00 $00|$00 \
$00F$00i$00r$00e$00f$00o$00x$00 $00w$00e$00b$00 $00b$00r$00o$00w$00s$00e$00r$00\
 $00&$00 $00T$00h$00u$00n$00d$00e$00r$00b$00i$00r$00d$00 $00e$00m$00a$00i$00l$00\
 $00c$00l$00i$00e$00n$00t$00)>
{1:^80 {(k^81:c)(s=9)[1(^8C=LE)]} 
  [2(^82^81)(^84^82)(^85^82)(^88^83)(^89=1)]
  [3(^82^85)(^84^82)(^85^82)(^88^86)(^87^87)]
  [4(^82^88)(^84^82)(^85^82)(^88^89)(^87^8A)]
  [5(^82^8B)(^84^8C)(^85^8C)(^83^88)(^88^8D)(^89=1)]
  [6(^82^8E)(^84^8C)(^85^8C)(^83^88)(^88^8D)(^87^8F)]
  [7(^82^90)(^84^11D)(^85^91)(^83^8E)(^88^8D)(^87^92)(^86=2)]
  [8(^82^93)(^84^94)(^85^94)(^83^8E)(^88^8D)(^87^95)]
  [9(^82^96)(^84^94)(^85^94)(^83^8E)(^88^8D)(^87^95)]
  [A(^82^97)(^84^94)(^85^94)(^83^8E)(^88^8D)(^87^95)]
  [B(^82^98)(^84^94)(^85^94)(^83^8E)(^88^8D)(^87^95)]
  [C(^82^99)(^84^9A)(^85^9A)(^83^8E)(^88^8D)(^87^9B)]
  [D(^82^9C)(^84^9D)(^85^9D)(^83^8E)(^88^9E)(^87^9F)]
  [E(^82^A0)(^84^118)(^85^9D)(^83^8E)(^88^8D)(^87^A1)(^86=2)]
  [F(^82^A2)(^84^A3)(^85^A3)(^83^8E)(^88^A4)(^87^A5)]
  [10(^82^A6)(^84^118)(^85^A3)(^83^8E)(^88^8D)(^87^A7)(^86=2)]
  [11(^82^A8)(^84^125)(^85^A9)(^83^8E)(^88^8D)(^87^AA)(^86=2)]
  [12(^82^AB)(^84^125)(^85^A9)(^83^8E)(^88^AC)(^89=1)(^86=3)]
  [13(^82^AD)(^84^125)(^85^A9)(^83^8E)(^88^AC)(^89=1)(^86=3)]
  [14(^82^AE)(^84^125)(^85^A9)(^83^8E)(^88^AC)(^87^B2)(^86=4)]
  [15(^82^AF)(^84^A9)(^85^A9)(^83^8E)(^88^B0)(^87^B1)]
  [16(^82^B3)(^84^B4)(^85^B4)(^83^8E)(^88^B5)(^89=1)]
  [17(^82^B6)(^84^B4)(^85^B4)(^83^8E)(^88^B5)(^89=1)]
  [18(^82^B7)(^84^B4)(^85^B4)(^83^8E)(^88^B5)(^89=1)]
  [19(^82^B8)(^84^B4)(^85^B4)(^83^8E)(^88^B9)(^87^BA)]
  [1A(^82^BB)(^84^B4)(^85^B4)(^83^8E)(^88^B5)(^87^BC)]
  [1B(^82^BD)(^84^B4)(^85^B4)(^83^8E)(^88^BE)(^89=1)]
  [1C(^82^BF)(^84^B4)(^85^B4)(^83^8E)(^88^BE)(^89=1)]
  [1D(^82^C0)(^84^B4)(^85^B4)(^83^8E)(^88^C1)(^87^C2)]
  [1E(^82^C3)(^84^B4)(^85^B4)(^83^8E)(^88^BE)(^87^C4)]
  [1F(^82^C5)(^84^B4)(^85^B4)(^83^8E)(^88^C6)(^87^C7)]
  [20(^82^C8)(^84^C9)(^85^C9)(^83^8E)(^88^CA)(^87^CB)]
  [21(^82^CC)(^84^C9)(^85^C9)(^83^8E)(^88^A4)(^87^CD)]
  [22(^82^CE)(^84^C9)(^85^C9)(^83^BB)(^88^B5)(^89=1)]
  [23(^82^CF)(^84^125)(^85^C9)(^83^8E)(^88^9E)(^89=1)(^86=3)]
  [24(^82^D0)(^84^C9)(^85^C9)(^83^8E)(^88^8D)(^87^D1)]
  [25(^82^D2)(^84^C9)(^85^C9)(^83^8E)(^88^D3)(^87^D4)]
  [26(^82^D5)(^84^D6)(^85^D6)(^83^8E)(^88^8D)(^87^D7)]
  [27(^82^D8)(^84^125)(^85^D6)(^83^8E)(^88^9E)(^87^9F)(^86=4)]
  [28(^82^D9)(^84^D6)(^85^D6)(^83^8E)(^88^DA)(^87^DB)]
  [29(^82^DC)(^84^D6)(^85^D6)(^83^C5)(^88^DD)(^89=1)(^87=)]
  [2A(^82^DE)(^84^DF)(^85^DF)(^83^8E)(^88^E0)(^87^E2)]
  [2B(^82^E3)(^84^DF)(^85^DF)(^83^8E)(^88^E4)(^87^EC)]
  [2C(^82^E5)(^84^DF)(^85^DF)(^83^8E)(^88^C1)(^87^E6)]
  [2D(^82^E7)(^84^E8)(^85^E8)(^83^8E)(^88^8D)(^87^E9)]
  [2E(^82^EA)(^84^E8)(^85^E8)(^83^8E)(^88^8D)(^87^EB)]
  [2F(^82^ED)(^84^E8)(^85^E8)(^83^8E)(^88^8D)(^87^EE)]
  [30(^82^EF)(^84^E8)(^85^E8)(^83^8E)(^88^8D)(^87^F0)]
  [31(^82^F1)(^84^E8)(^85^E8)(^83^8E)(^88^8D)(^87^F2)]
  [32(^82^F3)(^84^E8)(^85^E8)(^83^E3)(^88^F4)(^89=1)(^87^F5)]
  [33(^82^F6)(^84^127)(^85^F7)(^83^8E)(^88^8D)(^87^F8)(^86=2)]
  [34(^82^FC)(^84^FA)(^85^FA)(^83^8E)(^88^C1)(^87^FD)]
  [35(^82^FF)(^84^FE)(^85^FE)(^83^8E)(^88^AC)(^89=1)]
  [36(^82^100)(^84^FE)(^85^FE)(^83^8E)(^88^AC)(^89=1)]
  [37(^82^101)(^84^FE)(^85^FE)(^83^8E)(^88^AC)(^87^105)]
  [38(^82^102)(^84^103)(^85^103)(^83^8E)(^88^AC)(^89=1)]
  [39(^82^104)(^84^103)(^85^103)(^83^8E)(^88^AC)(^87^108)]
  [3A(^82^106)(^84^103)(^85^103)(^83^8E)(^88^AC)(^89=1)]
  [3B(^82^107)(^84^103)(^85^103)(^83^8E)(^88^AC)(^87^10B)]
  [3C(^82^109)(^84^103)(^85^103)(^83^8E)(^88^AC)(^89=1)]
  [3D(^82^10A)(^84^103)(^85^103)(^83^8E)(^88^AC)(^87^10F)]
  [3E(^82^10C)(^84^10D)(^85^10D)(^83^8E)(^88^AC)(^89=1)]
  [3F(^82^10E)(^84^10D)(^85^10D)(^83^8E)(^88^AC)(^87^110)]
  [40(^82^111)(^84^10D)(^85^10D)(^83^8E)(^88^8D)(^87^112)]
  [41(^82^113)(^84^10D)(^85^10D)(^83^8E)(^88^8D)(^87^114)]
  [42(^82^115)(^84^10D)(^85^10D)(^83^8E)(^88^8D)(^87^116)]
  [43(^82^117)(^84^118)(^85^118)(^83^8E)(^88^8D)(^87^119)]
  [44(^82^11A)(^84^118)(^85^118)(^83^8E)(^88^8D)(^87^11B)]
  [45(^82^11C)(^84^11D)(^85^11D)(^83^8E)(^88^8D)(^87^11E)]
  [46(^82^11F)(^84^11D)(^85^11D)(^83^8E)(^88^8D)(^87^120)]
  [47(^82^121)(^84^122)(^85^122)(^83^8E)(^88^8D)(^87^95)]
  [48(^82^123)(^84^125)(^85^122)(^83^8E)(^88^8D)(^87^124)(^86=2)]}

@$${3{@
<(128=1239302013863909)>[-2:^80(^82^81)(^84^128)(^85^82)(^88^83)(^89=1)
    (^86=2)]
[-4:^80(^82^88)(^84^128)(^85^82)(^88^89)(^87^8A)(^86=2)]
@$$}3}@

@$${4{@
@$$}4}@

@$${5{@
@$$}5}@

@$${7{@

<(129=1239302596507008)(13A=1239302652069481)(132=1239302627043316)
  (130=1239302620412452)(134=1239302634348952)(12E=1239302613583218)
  (12F=1239302616745982)(131=1239302623615953)(139=1239302648380845)
  (12C=1239302610256268)(12D=5)(12B=1239302606906193)(135=1239302638886731)
  (133=1239302631065459)(137=1239302642092617)(138=1239302645204607)
  (13B=1239302655467621)(12A=1239302603257485)(136
    =http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-0651448570352\
947&dt=1239302641315&lmt=1239302640&format=160x600_as&output=html&correlator=1\
239302641315&channel=2066955107&url=http%3A%2F%2Fwww.mozillazine.org%2F&color_\
bg=FAF9F6&color_text=006666&color_link=006666&color_url=006666&color_border=00\
6666&ad_type=text&frm=0&ga_vid=184584962.1239301930&ga_sid=1239302641&ga_hid=1\
933708601&ga_fc=true&flash=10.0.12&u_h=800&u_w=1280&u_ah=778&u_aw=1231&u_cd=32\
&u_tz=-300&u_his=1&u_java=true&u_nplug=6&u_nmime=95&dtd=377&w=160&h=600&xpc=EP\
vCijrDWx&p=http%3A//www.mozillazine.org)(13C
    =http://w.sharethis.com/share3x/lightbox.html?stv=3-2-2RC2#init/publisher=\
b296ddcc-53ff-4ac6-b205-4fd70a3ea038/sessionID=1239302653922.367)>
{1:^80 {(k^81:c)(s=9)1 } [-49(^82^136)(^84^137)(^85^137)(^83^C5)(^88^DD)
    (^89=1)(^87=)]
  [-4A(^82^13C)(^84^13B)(^85^13B)(^83^E3)(^88^F4)(^89=1)(^87^F5)]}
[-2:^80(^82^81)(^84^129)(^85^82)(^88^83)(^89=1)(^86=3)]
[-3:^80(^82^85)(^84^13A)(^85^82)(^88^86)(^87^87)(^86=2)]
[-4:^80(^82^88)(^84^132)(^85^82)(^88^89)(^87^8A)(^86=4)]
[-6:^80(^82^8E)(^84^130)(^85^8C)(^83^88)(^88^8D)(^87^8F)(^86=2)]
[-7:^80(^82^90)(^84^134)(^85^91)(^83^8E)(^88^8D)(^87^92)(^86=3)]
[-8:^80(^82^93)(^84^12E)(^85^94)(^83^8E)(^88^8D)(^87^95)(^86=2)]
[-9:^80(^82^96)(^84^12F)(^85^94)(^83^8E)(^88^8D)(^87^95)(^86=2)]
[-A:^80(^82^97)(^84^12E)(^85^94)(^83^8E)(^88^8D)(^87^95)(^86=2)]
[-B:^80(^82^98)(^84^12F)(^85^94)(^83^8E)(^88^8D)(^87^95)(^86=2)]
[-C:^80(^82^99)(^84^131)(^85^9A)(^83^8E)(^88^8D)(^87^9B)(^86=2)]
[-D:^80(^82^9C)(^84^12E)(^85^9D)(^83^8E)(^88^9E)(^87^9F)(^86=2)]
[-E:^80(^82^A0)(^84^134)(^85^9D)(^83^8E)(^88^8D)(^87^A1)(^86=3)]
[-F:^80(^82^A2)(^84^139)(^85^A3)(^83^8E)(^88^A4)(^87^A5)(^86=2)]
[-10:^80(^82^A6)(^84^12E)(^85^A3)(^83^8E)(^88^8D)(^87^A7)(^86=3)]
[-11:^80(^82^A8)(^84^13A)(^85^A9)(^83^8E)(^88^8D)(^87^AA)(^86=3)]
[-14:^80(^82^AE)(^84^12C)(^85^A9)(^83^8E)(^88^AC)(^87^B2)(^86=5)]
[-15:^80(^82^AF)(^84^12B)(^85^A9)(^83^8E)(^88^B0)(^87^B1)(^86=2)]
[-19:^80(^82^B8)(^84^132)(^85^B4)(^83^8E)(^88^B9)(^87^BA)(^86=2)]
[-1A:^80(^82^BB)(^84^131)(^85^B4)(^83^8E)(^88^B5)(^87^BC)(^86=2)]
[-1D:^80(^82^C0)(^84^135)(^85^B4)(^83^8E)(^88^C1)(^87^C2)(^86=2)]
[-1E:^80(^82^C3)(^84^133)(^85^B4)(^83^8E)(^88^BE)(^87^C4)(^86=2)]
[-1F:^80(^82^C5)(^84^135)(^85^B4)(^83^8E)(^88^C6)(^87^C7)(^86=2)]
[-20:^80(^82^C8)(^84^137)(^85^C9)(^83^8E)(^88^CA)(^87^CB)(^86=2)]
[-21:^80(^82^CC)(^84^139)(^85^C9)(^83^8E)(^88^A4)(^87^CD)(^86=2)]
[-22:^80(^82^CE)(^84^132)(^85^C9)(^83^BB)(^88^B5)(^89=1)(^86=2)]
[-24:^80(^82^D0)(^84^12B)(^85^C9)(^83^8E)(^88^8D)(^87^D1)(^86=2)]
[-25:^80(^82^D2)(^84^138)(^85^C9)(^83^8E)(^88^D3)(^87^D4)(^86=2)]
[-26:^80(^82^D5)(^84^131)(^85^D6)(^83^8E)(^88^8D)(^87^D7)(^86=2)]
[-27:^80(^82^D8)(^84^12C)(^85^D6)(^83^8E)(^88^9E)(^87^9F)(^86=5)]
[-28:^80(^82^D9)(^84^132)(^85^D6)(^83^8E)(^88^DA)(^87^DB)(^86=2)]
[-2A:^80(^82^DE)(^84^135)(^85^DF)(^83^8E)(^88^E0)(^87^E2)(^86=2)]
[-2B:^80(^82^E3)(^84^13A)(^85^DF)(^83^8E)(^88^E4)(^87^EC)(^86=2)]
[-2C:^80(^82^E5)(^84^133)(^85^DF)(^83^8E)(^88^C1)(^87^E6)(^86=2)]
[-2D:^80(^82^E7)(^84^137)(^85^E8)(^83^8E)(^88^8D)(^87^E9)(^86=2)]
[-2E:^80(^82^EA)(^84^12B)(^85^E8)(^83^8E)(^88^8D)(^87^EB)(^86=2)]
[-2F:^80(^82^ED)(^84^133)(^85^E8)(^83^8E)(^88^8D)(^87^EE)(^86=2)]
[-30:^80(^82^EF)(^84^130)(^85^E8)(^83^8E)(^88^8D)(^87^F0)(^86=2)]
[-31:^80(^82^F1)(^84^13B)(^85^E8)(^83^8E)(^88^8D)(^87^F2)(^86=2)]
[-33:^80(^82^F6)(^84^12A)(^85^F7)(^83^8E)(^88^8D)(^87^F8)(^86=3)]
[-34:^80(^82^FC)(^84^13A)(^85^FA)(^83^8E)(^88^C1)(^87^FD)(^86=2)]
[-37:^80(^82^101)(^84^138)(^85^FE)(^83^8E)(^88^AC)(^87^105)(^86=2)]
[-39:^80(^82^104)(^84^138)(^85^103)(^83^8E)(^88^AC)(^87^108)(^86=2)]
[-3B:^80(^82^107)(^84^12B)(^85^103)(^83^8E)(^88^AC)(^87^10B)(^86=2)]
[-3D:^80(^82^10A)(^84^139)(^85^103)(^83^8E)(^88^AC)(^87^10F)(^86=2)]
[-3F:^80(^82^10E)(^84^138)(^85^10D)(^83^8E)(^88^AC)(^87^110)(^86=2)]
[-40:^80(^82^111)(^84^133)(^85^10D)(^83^8E)(^88^8D)(^87^112)(^86=2)]
[-41:^80(^82^113)(^84^131)(^85^10D)(^83^8E)(^88^8D)(^87^114)(^86=2)]
[-42:^80(^82^115)(^84^13A)(^85^10D)(^83^8E)(^88^8D)(^87^116)(^86=2)]
[-43:^80(^82^117)(^84^130)(^85^118)(^83^8E)(^88^8D)(^87^119)(^86=2)]
[-44:^80(^82^11A)(^84^132)(^85^118)(^83^8E)(^88^8D)(^87^11B)(^86=2)]
[-45:^80(^82^11C)(^84^130)(^85^11D)(^83^8E)(^88^8D)(^87^11E)(^86=2)]
[-46:^80(^82^11F)(^84^135)(^85^11D)(^83^8E)(^88^8D)(^87^120)(^86=2)]
[-47:^80(^82^121)(^84^12F)(^85^122)(^83^8E)(^88^8D)(^87^95)(^86=2)]
[-48:^80(^82^123)(^84^134)(^85^122)(^83^8E)(^88^8D)(^87^124)(^86=3)]
@$$}7}@

@$${8{@
<(13D=1239302677130812)>[-2:^80(^82^81)(^84^13D)(^85^82)(^88^83)(^89=1)
    (^86=4)]
[-4:^80(^82^88)(^84^13D)(^85^82)(^88^89)(^87^8A)(^86=5)]
@$$}8}@

@$${9{@
@$$}9}@

@$${B{@
<(13E=1239302730846964)>[-2:^80(^82^81)(^84^13E)(^85^82)(^88^83)(^89=1)
    (^86=5)]
<(13F=6)>[-4:^80(^82^88)(^84^13E)(^85^82)(^88^89)(^87^8A)(^86=6)]
<(140=1239302735290912)>[-15:^80(^82^AF)(^84^140)(^85^A9)(^83^8E)(^88^B0)
    (^87^B1)(^86=3)]
@$$}B}@

@$${C{@
<(143=1239302769066765)(144=7)>[-4:^80(^82^88)(^84^143)(^85^82)(^88^89)
    (^87^8A)(^86=7)(^8A=1)]
<(141=1239302756238219)>[-15:^80(^82^AF)(^84^141)(^85^A9)(^83^8E)(^88^B0)
    (^87^B1)(^86=4)(^8A=1)]
<(142=1239302760596281)>[-20:^80(^82^C8)(^84^142)(^85^C9)(^83^8E)(^88^CA)
    (^87^CB)(^86=3)(^8A=1)]
@$$}C}@

@$${D{@
<(146=1239302791238507)>[-2A:^80(^82^DE)(^84^146)(^85^DF)(^83^8E)(^88^E0)
    (^87^E2)(^86=3)(^8A=1)]
<(145=1239302783681213)>[-3F:^80(^82^10E)(^84^145)(^85^10D)(^83^8E)
    (^88^AC)(^87^110)(^86=3)(^8A=1)]
<(147=1239302797218118)>[-48:^80(^82^123)(^84^147)(^85^122)(^83^8E)
    (^88^8D)(^87^124)(^86=4)(^8A=1)]
@$$}D}@

@$${E{@
@$$}E}@
\ No newline at end of file
--- a/toolkit/components/places/tests/unit/test_history.js
+++ b/toolkit/components/places/tests/unit/test_history.js
@@ -233,19 +233,9 @@ function run_test() {
   do_check_true(root.childCount > 0);
   root.containerOpen = false;
 
   // bug 400544 - testing that a referrer that is not in the DB gets added
   var referrerURI = uri("http://yahoo.com");
   do_check_false(uri_in_db(referrerURI));
   add_visit(uri("http://mozilla.com"), referrerURI);
   do_check_true(uri_in_db(referrerURI));
-
-  // test to ensure history.dat gets deleted if all history is being cleared
-  var file = do_get_file("history.dat");
-  var histFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
-  file.copyTo(histFile, "history.dat");
-  histFile.append("history.dat");
-  do_check_true(histFile.exists());
-
-  bh.removeAllPages();
-  do_check_false(histFile.exists());
 }
--- a/toolkit/components/satchel/nsFormHistory.js
+++ b/toolkit/components/satchel/nsFormHistory.js
@@ -317,22 +317,16 @@ FormHistory.prototype = {
         } catch (e) {
             this.log("removeEntriesForName failed: " + e);
             throw e;
         } finally {
             if (stmt) {
                 stmt.reset();
             }
         }
-
-        // privacy cleanup, if there's an old mork formhistory around, just delete it
-        let oldFile = Services.dirsvc.get("ProfD", Ci.nsIFile);
-        oldFile.append("formhistory.dat");
-        if (oldFile.exists())
-            oldFile.remove(false);
     },
 
 
     nameExists : function (name) {
         this.log("nameExists for name=" + name);
         let stmt;
         let query = "SELECT COUNT(1) AS numEntries FROM moz_formhistory WHERE fieldname = :fieldname";
         let params = { fieldname : name };
deleted file mode 100644
--- a/toolkit/components/satchel/test/unit/formhistory.dat
+++ /dev/null
@@ -1,1 +0,0 @@
-// <!-- <mdb:mork:z v="1.4"/> -->
< <(a=c)> // (f=iso-8859-1)
  (80=ns:formhistory:db:row:scope:formhistory:all)
  (81=ns:formhistory:db:table:kind:formhistory)(82=Value)(83=Name)
  (84=ByteOrder)>

<(80=llll)(81=q$00)(82=f$00o$00o$00)>
{1:^80 {(k^81:c)(s=9)[1(^84^80)]} 
  [2(^83^81)(^82^82)]}
\ No newline at end of file
deleted file mode 100644
--- a/toolkit/components/satchel/test/unit/test_bug_329741.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Satchel Test Code.
- *
- * The Initial Developer of the Original Code is
- * Mozilla Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2008
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mike Connor <mconnor@mozilla.com> (Original Author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-// Test to make sure we drop formhistory.dat when clearing form history
-
-
-
-function run_test()
-{
-  var file = do_get_file("formhistory.dat");
-  var profileDir = dirSvc.get("ProfD", Ci.nsIFile);
-  var formhistFile = profileDir.clone();
-  formhistFile.append("formhistory.dat");
-
-  // Cleanup from any previous test.
-  if (formhistFile.exists())
-      formhistFile.remove(false);
-  do_check_false(formhistFile.exists());
-
-  // Copy a formhistory.dat into place
-  file.copyTo(profileDir, "formhistory.dat");
-  do_check_true(formhistFile.exists());
-
-  // Clear form history, test that file was deleted.
-  var formHistory = Cc["@mozilla.org/satchel/form-history;1"].
-                    getService(Ci.nsIFormHistory2);
-  formHistory.removeAllEntries();
-  do_check_false(formhistFile.exists());
-}
--- a/toolkit/components/satchel/test/unit/xpcshell.ini
+++ b/toolkit/components/satchel/test/unit/xpcshell.ini
@@ -1,15 +1,14 @@
 [DEFAULT]
 head = head_satchel.js
 tail = 
 
 [test_autocomplete.js]
 [test_bug_248970.js]
-[test_bug_329741.js]
 [test_db_corrupt.js]
 [test_db_update_v1.js]
 [test_db_update_v1b.js]
 [test_db_update_v2.js]
 [test_db_update_v2b.js]
 [test_db_update_v3.js]
 [test_db_update_v3b.js]
 [test_db_update_v999a.js]
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -227,33 +227,21 @@ endif
 endif
 
 ifdef MOZ_STORAGE
 COMPONENT_LIBS += storagecomps
 EXTRA_DSO_LDOPTS += $(SQLITE_LIBS)
 endif
 
 ifdef MOZ_PLACES
-ifdef MOZ_MORKREADER
-STATIC_LIBS += morkreader_s
-endif
-
 COMPONENT_LIBS += \
 	places \
 	$(NULL)
 endif
 
-ifdef MOZ_MORK
-ifdef MOZ_XUL
-COMPONENT_LIBS += \
-	mork \
-	$(NULL)
-endif
-endif
-
 ifdef MOZ_XUL
 COMPONENT_LIBS += \
 	tkautocomplete \
 	satchel \
 	pippki \
 	$(NULL)
 endif
 
--- a/toolkit/library/nsStaticXULComponents.cpp
+++ b/toolkit/library/nsStaticXULComponents.cpp
@@ -164,23 +164,16 @@
 
 #ifdef MOZ_PLACES
 #define PLACES_MODULES \
     MODULE(nsPlacesModule)
 #else
 #define PLACES_MODULES
 #endif
 
-#if (defined(MOZ_MORK) && defined(MOZ_XUL))
-#define MORK_MODULES \
-    MODULE(nsMorkModule)
-#else
-#define MORK_MODULES
-#endif
-
 #ifdef MOZ_XUL
 #define XULENABLED_MODULES                   \
     MODULE(tkAutoCompleteModule)             \
     MODULE(satchel)                          \
     MODULE(PKI)
 #else
 #define XULENABLED_MODULES
 #endif
@@ -263,17 +256,16 @@
     MODULE(nsTransactionManagerModule)       \
     MODULE(nsComposerModule)                 \
     MODULE(application)                      \
     MODULE(Apprunner)                        \
     MODULE(CommandLineModule)                \
     FILEVIEW_MODULE                          \
     STORAGE_MODULE                           \
     PLACES_MODULES                           \
-    MORK_MODULES                             \
     XULENABLED_MODULES                       \
     MODULE(nsToolkitCompsModule)             \
     XREMOTE_MODULES                          \
     JSDEBUGGER_MODULES                       \
     MODULE(BOOT)                             \
     MODULE(NSS)                              \
     SYSTEMPREF_MODULES                       \
     SPELLCHECK_MODULE                        \
--- a/toolkit/toolkit-makefiles.sh
+++ b/toolkit/toolkit-makefiles.sh
@@ -35,21 +35,16 @@
 # the terms of any one of the MPL, the GPL or the LGPL.
 #
 # ***** END LICENSE BLOCK *****
 
 # This file contains makefiles that will be generated for every XUL app.
 
 MAKEFILES_db="
   db/Makefile
-  db/mdb/Makefile
-  db/mdb/public/Makefile
-  db/mork/Makefile
-  db/mork/build/Makefile
-  db/mork/src/Makefile
 "
 
 MAKEFILES_dom="
   ipc/Makefile
   ipc/chromium/Makefile
   ipc/glue/Makefile
   ipc/ipdl/Makefile
   dom/Makefile
@@ -935,23 +930,16 @@ if [ "$MOZ_ZIPWRITER" ]; then
   add_makefiles "
     modules/libjar/zipwriter/Makefile
     modules/libjar/zipwriter/public/Makefile
     modules/libjar/zipwriter/src/Makefile
     modules/libjar/zipwriter/test/Makefile
   "
 fi
 
-if [ "$MOZ_MORKREADER" ]; then
-  add_makefiles "
-    db/morkreader/Makefile
-    db/morkreader/external/Makefile
-  "
-fi
-
 if [ "$MOZ_STORAGE" ]; then
   add_makefiles "
     db/sqlite3/src/Makefile
     storage/Makefile
     storage/public/Makefile
     storage/src/Makefile
     storage/build/Makefile
     storage/test/Makefile
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -367,19 +367,16 @@ nsXREDirProvider::GetFile(const char* aP
         file->Remove(PR_FALSE);
       }
       else {
         rv = file->AppendNative(NS_LITERAL_CSTRING("localstore.rdf"));
         EnsureProfileFileExists(file);
         ensureFilePermissions = PR_TRUE;
       }
     }
-    else if (!strcmp(aProperty, NS_APP_HISTORY_50_FILE)) {
-      rv = file->AppendNative(NS_LITERAL_CSTRING("history.dat"));
-    }
     else if (!strcmp(aProperty, NS_APP_USER_MIMETYPES_50_FILE)) {
       rv = file->AppendNative(NS_LITERAL_CSTRING("mimeTypes.rdf"));
       EnsureProfileFileExists(file);
       ensureFilePermissions = PR_TRUE;
     }
     else if (!strcmp(aProperty, NS_APP_STORAGE_50_FILE)) {
       rv = file->AppendNative(NS_LITERAL_CSTRING("storage.sdb"));
     }
--- a/xpcom/io/nsAppDirectoryServiceDefs.h
+++ b/xpcom/io/nsAppDirectoryServiceDefs.h
@@ -101,17 +101,16 @@
         
 #define NS_APP_USER_PROFILE_50_DIR              "ProfD"
 #define NS_APP_USER_PROFILE_LOCAL_50_DIR        "ProfLD"
         
 #define NS_APP_USER_CHROME_DIR                  "UChrm"
 #define NS_APP_USER_SEARCH_DIR                  "UsrSrchPlugns"
          
 #define NS_APP_LOCALSTORE_50_FILE               "LclSt"
-#define NS_APP_HISTORY_50_FILE                  "UHist"
 #define NS_APP_USER_PANELS_50_FILE              "UPnls"
 #define NS_APP_USER_MIMETYPES_50_FILE           "UMimTyp"
 #define NS_APP_CACHE_PARENT_DIR                 "cachePDir"
 
 #define NS_APP_BOOKMARKS_50_FILE                "BMarks"
 
 #define NS_APP_DOWNLOADS_50_FILE                "DLoads"