Bug 1467238 - Remove support for ISP data in the account wizard. r=mkmelin
authorJoshua Cranmer <Pidgeot18@gmail.com>
Wed, 20 Feb 2019 14:25:05 +1300
changeset 25943 71a714fc1d04d708cd58d22d3fe83fca3b734668
parent 25942 e1cd169a3f91cc90beb40bb9b6044ca21b1796d3
child 25944 5bf193df84a93ed02833f73ea2ea0762b11e811e
push id15569
push usermozilla@jorgk.com
push dateTue, 26 Feb 2019 08:25:24 +0000
treeherdercomm-central@5bf193df84a9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmkmelin
bugs1467238
Bug 1467238 - Remove support for ISP data in the account wizard. r=mkmelin
mailnews/base/prefs/content/AccountWizard.js
mailnews/base/prefs/content/AccountWizard.xul
mailnews/base/prefs/content/aw-accounttype.js
mailnews/base/prefs/content/ispUtils.js
mailnews/base/public/nsMsgBaseCID.h
mailnews/base/src/moz.build
mailnews/base/src/nsMsgServiceProvider.cpp
mailnews/base/src/nsMsgServiceProvider.h
mailnews/build/nsMailModule.cpp
mailnews/jar.mn
--- a/mailnews/base/prefs/content/AccountWizard.js
+++ b/mailnews/base/prefs/content/AccountWizard.js
@@ -730,22 +730,18 @@ function checkForInvalidAccounts()
 
     var identity =
       firstInvalidAccount.identities.queryElementAt(0, nsIMsgIdentity);
 
     var accountData = null;
     // If there is a email address already provided, try to get to other ISP defaults.
     // If not, get pre-configured data, if any.
     if (identity.email) {
-      dump("Invalid account: trying to get ISP data for " + identity.email + "\n");
-      accountData = getIspDefaultsForEmail(identity.email);
-      dump("Invalid account: Got " + accountData + "\n");
-
       // account -> accountData -> pageData
-      accountData = AccountToAccountData(firstInvalidAccount, accountData);
+      accountData = AccountToAccountData(firstInvalidAccount, null);
     }
     else {
       accountData = getPreConfigDataForAccount(firstInvalidAccount);
     }
 
     AccountDataToPageData(accountData, pageData);
 
     gCurrentAccountData = accountData;
@@ -885,33 +881,20 @@ function GetPageData()
   if (!gPageData)
     gPageData = new Object;
 
   return gPageData;
 }
 
 function PrefillAccountForIsp(ispName)
 {
-  dump("AccountWizard.prefillAccountForIsp(" + ispName + ")\n");
-
-  var ispData = getIspDefaultsForUri(ispName);
-
-  var pageData = GetPageData();
-
   if (!ispData) {
     SetCurrentAccountData(null);
     return;
   }
-
-  // prefill the rest of the wizard
-  dump("PrefillAccountForISP: filling with " + ispData + "\n");
-  SetCurrentAccountData(ispData);
-  AccountDataToPageData(ispData, pageData);
-
-  setPageData(pageData, "ispdata", "supplied", true);
 }
 
 // does any cleanup work for the the account data
 // - sets the username from the email address if it's not already set
 // - anything else?
 function FixupAccountDataForIsp(accountData)
 {
   // no fixup for news
--- a/mailnews/base/prefs/content/AccountWizard.xul
+++ b/mailnews/base/prefs/content/AccountWizard.xul
@@ -16,17 +16,16 @@
         onwizardcancel="return onCancel();"
         onwizardfinish="return FinishAccount();"
 #ifdef MOZ_THUNDERBIRD
         onload="onAccountWizardLoad(); initAccountWizardTB(window.arguments);"
 #else
         onload="onAccountWizardLoad();"
 #endif
         style="&accountWizard.size;"
-        xmlns:nc="http://home.netscape.com/NC-rdf#"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
   <stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/>
   <stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
   <script type="application/javascript" src="chrome://messenger/content/accountUtils.js"/>
   <script type="application/javascript" src="chrome://messenger/content/amUtils.js"/>
   <script type="application/javascript" src="chrome://messenger/content/AccountWizard.js"/>
   <script type="application/javascript" src="chrome://messenger/content/ispUtils.js"/>
@@ -57,29 +56,16 @@
         <radio id="movemailaccount" label="&accountTypeMovemail.label;"
                accesskey="&accountTypeMovemail.accesskey;"
                value="movemail" />
 #endif
 #ifndef MOZ_THUNDERBIRD
         <radio id="rssaccount" value="rss" label="&feeds.wizardLongName;"
                accesskey="&feeds.wizardLongName.accesskey;"/>
 #endif
-        <vbox datasources="rdf:ispdefaults"
-              containment="http://home.netscape.com/NC-rdf#providers"
-              id="ispBox"
-              ref="NC:ispinfo">
-          <template>
-            <rule nc:wizardShow="true">
-              <radio uri="..."
-                     value="rdf:http://home.netscape.com/NC-rdf#wizardShortName"
-                     label="rdf:http://home.netscape.com/NC-rdf#wizardLongName"
-                     accesskey="rdf:http://home.netscape.com/NC-rdf#wizardLongNameAccesskey"/>
-            </rule>
-         </template>
-        </vbox>
         <radio id="newsaccount" value="newsaccount"
                label="&accountTypeNews.label;" accesskey="&accountTypeNews.accesskey;"/>
       </radiogroup>
     </vbox>
   </wizardpage>
 
   <!-- Identity page : Collects user's full name and email address -->
   <wizardpage id="identitypage" pageid="identitypage"
@@ -359,27 +345,9 @@
       <spacer flex="1"/>
 #ifndef XP_MACOSX
       <description>&clickFinish.label;</description>
 #else
       <description>&clickFinish.labelMac;</description>
 #endif
     </vbox>
   </wizardpage>
-
-  <wizardpage id="ispPage1"/>
-  <wizardpage id="ispPage2"/>
-  <wizardpage id="ispPage3"/>
-  <wizardpage id="ispPage4"/>
-  <wizardpage id="ispPage5"/>
-  <wizardpage id="ispPage6"/>
-  <wizardpage id="ispPage7"/>
-  <wizardpage id="ispPage8"/>
-  <wizardpage id="ispPage9"/>
-  <wizardpage id="ispPage10"/>
-  <wizardpage id="ispPage11"/>
-  <wizardpage id="ispPage12"/>
-  <wizardpage id="ispPage13"/>
-  <wizardpage id="ispPage14"/>
-  <wizardpage id="ispPage15"/>
-  <wizardpage id="ispPage16"/>
-
 </wizard>
--- a/mailnews/base/prefs/content/aw-accounttype.js
+++ b/mailnews/base/prefs/content/aw-accounttype.js
@@ -137,10 +137,10 @@ function initializeIspData()
     var accountSelection = document.getElementById("acctyperadio");
 
     var ispName = accountSelection.selectedItem.id;
 
     dump("initializing ISP data for " + ispName + "\n");
 
     if (!ispName || ispName == "") return;
 
-    parent.PrefillAccountForIsp(ispName);
+    parent.SetCurrentAccountData(null);
 }
deleted file mode 100644
--- a/mailnews/base/prefs/content/ispUtils.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// using the rdf service extensively here
-var rdf = Cc["@mozilla.org/rdf/rdf-service;1"].getService(Ci.nsIRDFService);
-
-// all the RDF resources we'll be retrieving
-var NC = "http://home.netscape.com/NC-rdf#";
-var Server              = rdf.GetResource(NC + "Server");
-var SmtpServer          = rdf.GetResource(NC + "SmtpServer");
-var ServerHost          = rdf.GetResource(NC + "ServerHost");
-var ServerType          = rdf.GetResource(NC + "ServerType");
-var PrefixIsUsername    = rdf.GetResource(NC + "PrefixIsUsername");
-var UseAuthenticatedSmtp= rdf.GetResource(NC + "UseAuthenticatedSmtp");
-
-// this is possibly expensive, not sure what to do here
-var ispDefaults;
-
-var nsIRDFResource = Ci.nsIRDFResource;
-var nsIRDFLiteral = Ci.nsIRDFLiteral;
-
-var ispRoot = rdf.GetResource("NC:ispinfo");
-
-// given an ISP's domain URI, look up all relevant information about it
-function getIspDefaultsForUri(domainURI)
-{
-    if (!ispDefaults)
-        ispDefaults = rdf.GetDataSource("rdf:ispdefaults");
-
-    var domainRes = rdf.GetResource(domainURI);
-
-    var result = dataSourceToObject(ispDefaults, domainRes);
-
-    if (!result) return null;
-
-    // The domainURI should be in the format domain:example.com. (Where
-    // example.com is the domain name to use for all email addresses). If
-    // it does not match this pattern, then it is possible no domain
-    // has been specified, so we should leave it uninitialized.
-    if (domainURI.startsWith("domain:")) {
-        // add this extra attribute which is the domain itself
-        var domainData = domainURI.split(':');
-        if (domainData.length > 1) {
-          // To faciltate distributing two different account types for one ISP,
-          // it's possible to add parameters to the domain URI
-          // - e.g. domain:example.com?type=imap.
-          // This is necessary so RDF doesn't think they're the same.
-
-          // Save the domain, but only the part up to the (possible) question mark.
-          result.domain = domainData[1].replace(/\?.*/, "");
-        }
-    }
-    return result;
-}
-
-// construct an ISP's domain URI based on it's domain
-// (i.e. turns example.com -> domain:example.com)
-function getIspDefaultsForDomain(domain) {
-    let domainURI = "domain:" + domain;
-    return getIspDefaultsForUri(domainURI);
-}
-
-// Given an email address (like "joe@example.com") look up
-function getIspDefaultsForEmail(email) {
-
-    var emailData = getEmailInfo(email);
-
-    var ispData = null;
-    if (emailData)
-        ispData = getIspDefaultsForDomain(emailData.domain);
-
-    prefillIspData(ispData, email);
-
-    return ispData;
-}
-
-// given an email address, split it into username and domain
-// return in an associative array
-function getEmailInfo(email) {
-    if (!email) return null;
-
-    var result = new Object;
-
-    var emailData = email.split('@');
-
-    if (emailData.length != 2) {
-        dump("bad e-mail address!\n");
-        return null;
-    }
-
-    // all the variables we'll be returning
-    result.username = emailData[0];
-    result.domain = emailData[1];
-
-    return result;
-}
-
-function prefillIspData(ispData, email, fullName) {
-    if (!ispData) return;
-
-    // make sure these objects exist
-    if (!ispData.identity) ispData.identity = new Object;
-    if (!ispData.incomingServer) ispData.incomingServer = new Object;
-
-    // fill in e-mail if it's not already there
-    if (email && !ispData.identity.email)
-        ispData.identity.email = email;
-
-    var emailData = getEmailInfo(email);
-    if (emailData) {
-
-        // fill in the username (assuming the ISP doesn't prevent it)
-        if (!ispData.incomingServer.userName &&
-            !ispData.incomingServer.noDefaultUsername)
-            ispData.incomingServer.username = emailData.username;
-    }
-}
-
-// this function will extract an entire datasource into a giant
-// associative array for easy retrieval from JS
-var NClength = NC.length;
-function dataSourceToObject(datasource, root)
-{
-    var result = null;
-    var arcs = datasource.ArcLabelsOut(root);
-
-    while (arcs.hasMoreElements()) {
-        var arc = arcs.getNext().QueryInterface(nsIRDFResource);
-
-        var arcName = arc.Value;
-        arcName = arcName.substring(NClength, arcName.length);
-
-        if (!result) result = new Object;
-
-        var target = datasource.GetTarget(root, arc, true);
-
-        var value;
-        var targetHasChildren = false;
-        try {
-            target = target.QueryInterface(nsIRDFResource);
-            targetHasChildren = true;
-        } catch (ex) {
-            target = target.QueryInterface(nsIRDFLiteral);
-        }
-
-        if (targetHasChildren)
-            value = dataSourceToObject(datasource, target);
-        else {
-            value = target.Value;
-
-            // fixup booleans/numbers/etc
-            if (value == "true") value = true;
-            else if (value == "false") value = false;
-            else {
-                var num = Number(value);
-                if (!isNaN(num)) value = num;
-            }
-        }
-
-        // add this value
-        result[arcName] = value;
-    }
-    return result;
-}
--- a/mailnews/base/public/nsMsgBaseCID.h
+++ b/mailnews/base/public/nsMsgBaseCID.h
@@ -214,26 +214,16 @@
 //
 #define NS_MSGPRINTENGINE_CONTRACTID \
   "@mozilla.org/messenger/msgPrintEngine;1"
 
 #define NS_MSG_PRINTENGINE_CID \
 { 0x91fd6b19, 0xe0bc, 0x11d3,  \
 { 0x8f, 0x97, 0x0, 0x0, 0x64, 0x65, 0x73, 0x74 }}
 
-//
-// nsMsgServiceProviderService
-//
-#define NS_MSGSERVICEPROVIDERSERVICE_CONTRACTID \
-  NS_RDF_DATASOURCE_CONTRACTID_PREFIX "ispdefaults"
-
-#define NS_MSGSERVICEPROVIDERSERVICE_CID \
-{ 0x10998cef, 0xd7f2, 0x4772,            \
-{ 0xb7, 0xdb, 0xbd, 0x09, 0x74, 0x54, 0x98, 0x4c }}
-
 #define NS_MSGLOGONREDIRECTORSERVICE_CONTRACTID \
   "@mozilla.org/messenger/msglogonredirector;1"
 
 #define NS_MSGLOGONREDIRECTORSERVICE_CID \
 { 0x0d7456ae, 0xe28a, 0x11d3,            \
 { 0xa5, 0x60, 0x00, 0x60, 0xb0, 0xfc, 0x04, 0xb7 }}
 
 //
--- a/mailnews/base/src/moz.build
+++ b/mailnews/base/src/moz.build
@@ -33,17 +33,16 @@ SOURCES += [
     'nsMsgMailSession.cpp',
     'nsMsgOfflineManager.cpp',
     'nsMsgProgress.cpp',
     'nsMsgPurgeService.cpp',
     'nsMsgQuickSearchDBView.cpp',
     'nsMsgRDFDataSource.cpp',
     'nsMsgRDFUtils.cpp',
     'nsMsgSearchDBView.cpp',
-    'nsMsgServiceProvider.cpp',
     'nsMsgSpecialViews.cpp',
     'nsMsgStatusFeedback.cpp',
     'nsMsgTagService.cpp',
     'nsMsgThreadedDBView.cpp',
     'nsMsgWindow.cpp',
     'nsMsgXFViewThread.cpp',
     'nsMsgXFVirtualFolderDBView.cpp',
     'nsSpamSettings.cpp',
deleted file mode 100644
--- a/mailnews/base/src/nsMsgServiceProvider.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsMsgServiceProvider.h"
-#include "nsIServiceManager.h"
-
-#include "nsRDFCID.h"
-#include "nsIRDFService.h"
-#include "nsIRDFRemoteDataSource.h"
-
-#include "nsIFileChannel.h"
-#include "nsNetUtil.h"
-#include "nsMsgBaseCID.h"
-
-#include "nsMailDirServiceDefs.h"
-#include "nsDirectoryServiceUtils.h"
-#include "nsDirectoryServiceDefs.h"
-#include "nsISimpleEnumerator.h"
-#include "nsIDirectoryEnumerator.h"
-
-static NS_DEFINE_CID(kRDFServiceCID, NS_RDFSERVICE_CID);
-static NS_DEFINE_CID(kRDFCompositeDataSourceCID, NS_RDFCOMPOSITEDATASOURCE_CID);
-static NS_DEFINE_CID(kRDFXMLDataSourceCID, NS_RDFXMLDATASOURCE_CID);
-
-nsMsgServiceProviderService::nsMsgServiceProviderService()
-{}
-
-nsMsgServiceProviderService::~nsMsgServiceProviderService()
-{}
-
-NS_IMPL_ISUPPORTS(nsMsgServiceProviderService, nsIRDFDataSource)
-
-nsresult
-nsMsgServiceProviderService::Init()
-{
-  nsresult rv;
-  nsCOMPtr<nsIRDFService> rdf = do_GetService(kRDFServiceCID, &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  mInnerDataSource = do_CreateInstance(kRDFCompositeDataSourceCID, &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  LoadISPFiles();
-  return NS_OK;
-}
-
-/**
- * Looks for ISP configuration files in <.exe>\isp and any sub directories called isp
- * located in the user's extensions directory.
- */
-void nsMsgServiceProviderService::LoadISPFiles()
-{
-  nsresult rv;
-  nsCOMPtr<nsIProperties> dirSvc = do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
-  if (NS_FAILED(rv))
-    return;
-
-  // Walk through the list of isp directories
-  nsCOMPtr<nsISimpleEnumerator> ispDirectories;
-  rv = dirSvc->Get(ISP_DIRECTORY_LIST,
-                   NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(ispDirectories));
-  if (NS_FAILED(rv))
-    return;
-
-  bool hasMore;
-  nsCOMPtr<nsIFile> ispDirectory;
-  while (NS_SUCCEEDED(ispDirectories->HasMoreElements(&hasMore)) && hasMore)
-  {
-    nsCOMPtr<nsISupports> elem;
-    ispDirectories->GetNext(getter_AddRefs(elem));
-
-    ispDirectory = do_QueryInterface(elem);
-    if (ispDirectory)
-      LoadISPFilesFromDir(ispDirectory);
-  }
-}
-
-void nsMsgServiceProviderService::LoadISPFilesFromDir(nsIFile* aDir)
-{
-  nsresult rv;
-
-  bool check = false;
-  rv = aDir->Exists(&check);
-  if (NS_FAILED(rv) || !check)
-    return;
-
-  rv = aDir->IsDirectory(&check);
-  if (NS_FAILED(rv) || !check)
-    return;
-
-  nsCOMPtr<nsIDirectoryEnumerator> files;
-  rv = aDir->GetDirectoryEntries(getter_AddRefs(files));
-  if (NS_FAILED(rv))
-    return;
-
-  // we only care about the .rdf files in this directory
-  nsCOMPtr<nsIFile> file;
-  while (NS_SUCCEEDED(files->GetNextFile(getter_AddRefs(file))) && file) {
-    nsAutoString leafName;
-    file->GetLeafName(leafName);
-    if (!StringEndsWith(leafName, NS_LITERAL_STRING(".rdf")))
-      continue;
-
-    nsAutoCString urlSpec;
-    rv = NS_GetURLSpecFromFile(file, urlSpec);
-    if (NS_SUCCEEDED(rv))
-      LoadDataSource(urlSpec.get());
-  }
-}
-
-nsresult
-nsMsgServiceProviderService::LoadDataSource(const char *aURI)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIRDFDataSource> ds =
-      do_CreateInstance(kRDFXMLDataSourceCID, &rv);
-  NS_ENSURE_SUCCESS(rv,rv);
-
-  nsCOMPtr<nsIRDFRemoteDataSource> remote =
-      do_QueryInterface(ds, &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  rv = remote->Init(aURI);
-  NS_ENSURE_SUCCESS(rv, rv);
-  // for now load synchronously (async seems to be busted)
-  rv = remote->Refresh(true);
-  NS_ASSERTION(NS_SUCCEEDED(rv), "failed refresh?");
-
-  rv = mInnerDataSource->AddDataSource(ds);
-
-  return rv;
-}
deleted file mode 100644
--- a/mailnews/base/src/nsMsgServiceProvider.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef __nsMsgServiceProvider_h
-#define __nsMsgServiceProvider_h
-
-#include "nsIRDFDataSource.h"
-#include "nsIRDFRemoteDataSource.h"
-#include "nsIRDFCompositeDataSource.h"
-#include "nsCOMPtr.h"
-
-class nsMsgServiceProviderService : public nsIRDFDataSource
-{
-
- public:
-  nsMsgServiceProviderService();
-
-  nsresult Init();
-
-  NS_DECL_ISUPPORTS
-  NS_FORWARD_NSIRDFDATASOURCE(mInnerDataSource->)
-
- private:
-  virtual ~nsMsgServiceProviderService();
-
-  nsCOMPtr<nsIRDFCompositeDataSource> mInnerDataSource;
-  nsresult LoadDataSource(const char *aURL);
-
-  void LoadISPFilesFromDir(nsIFile* aDir);
-  void LoadISPFiles();
-};
-#endif
--- a/mailnews/build/nsMailModule.cpp
+++ b/mailnews/build/nsMailModule.cpp
@@ -64,17 +64,16 @@
 #include "nsStatusBarBiffManager.h"
 #include "nsMsgKeyArray.h"
 #include "nsCopyMessageStreamListener.h"
 #include "nsMsgCopyService.h"
 #include "nsMsgFolderCache.h"
 #include "nsMsgStatusFeedback.h"
 #include "nsMsgFilterService.h"
 #include "nsMsgWindow.h"
-#include "nsMsgServiceProvider.h"
 #include "nsSubscribableServer.h"
 #ifdef NS_PRINTING
 #include "nsMsgPrintEngine.h"
 #endif
 #include "nsMsgSearchSession.h"
 #include "nsMsgSearchTerm.h"
 #include "nsMsgSearchAdapter.h"
 #include "nsMsgFolderCompactor.h"
@@ -334,17 +333,16 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsMs
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgPurgeService)
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStatusBarBiffManager, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCopyMessageStreamListener)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgCopyService)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgFolderCache)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgStatusFeedback)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgKeyArray)
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsMsgWindow,Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsMsgServiceProviderService, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSubscribableServer, Init)
 #ifdef NS_PRINTING
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgPrintEngine)
 #endif
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFolderCompactState)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsOfflineStoreCompactState)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgThreadedDBView)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMsgThreadsWithUnreadDBView)
@@ -393,17 +391,16 @@ NS_DEFINE_NAMED_CID(NS_COPYMESSAGESTREAM
 NS_DEFINE_NAMED_CID(NS_MSGCOPYSERVICE_CID);
 NS_DEFINE_NAMED_CID(NS_MSGFOLDERCACHE_CID);
 NS_DEFINE_NAMED_CID(NS_MSGSTATUSFEEDBACK_CID);
 NS_DEFINE_NAMED_CID(NS_MSGWINDOW_CID);
 NS_DEFINE_NAMED_CID(NS_MSGKEYARRAY_CID);
 #ifdef NS_PRINTING
 NS_DEFINE_NAMED_CID(NS_MSG_PRINTENGINE_CID);
 #endif
-NS_DEFINE_NAMED_CID(NS_MSGSERVICEPROVIDERSERVICE_CID);
 NS_DEFINE_NAMED_CID(NS_SUBSCRIBABLESERVER_CID);
 NS_DEFINE_NAMED_CID(NS_MSGLOCALFOLDERCOMPACTOR_CID);
 NS_DEFINE_NAMED_CID(NS_MSG_OFFLINESTORECOMPACTOR_CID);
 NS_DEFINE_NAMED_CID(NS_MSGTHREADEDDBVIEW_CID);
 NS_DEFINE_NAMED_CID(NS_MSGTHREADSWITHUNREADDBVIEW_CID);
 NS_DEFINE_NAMED_CID(NS_MSGWATCHEDTHREADSWITHUNREADDBVIEW_CID);
 NS_DEFINE_NAMED_CID(NS_MSGSEARCHDBVIEW_CID);
 NS_DEFINE_NAMED_CID(NS_MSGQUICKSEARCHDBVIEW_CID);
@@ -858,17 +855,16 @@ const mozilla::Module::CIDEntry kMailNew
   { &kNS_MSGCOPYSERVICE_CID, false, NULL, nsMsgCopyServiceConstructor},
   { &kNS_MSGFOLDERCACHE_CID, false, NULL, nsMsgFolderCacheConstructor},
   { &kNS_MSGSTATUSFEEDBACK_CID, false, NULL, nsMsgStatusFeedbackConstructor},
   { &kNS_MSGKEYARRAY_CID, false, NULL, nsMsgKeyArrayConstructor},
   { &kNS_MSGWINDOW_CID, false, NULL, nsMsgWindowConstructor},
 #ifdef NS_PRINTING
   { &kNS_MSG_PRINTENGINE_CID, false, NULL, nsMsgPrintEngineConstructor},
 #endif
-  { &kNS_MSGSERVICEPROVIDERSERVICE_CID, false, NULL, nsMsgServiceProviderServiceConstructor},
   { &kNS_SUBSCRIBABLESERVER_CID, false, NULL, nsSubscribableServerConstructor},
   { &kNS_MSGLOCALFOLDERCOMPACTOR_CID, false, NULL, nsFolderCompactStateConstructor},
   { &kNS_MSG_OFFLINESTORECOMPACTOR_CID, false, NULL, nsOfflineStoreCompactStateConstructor},
   { &kNS_MSGTHREADEDDBVIEW_CID, false, NULL, nsMsgThreadedDBViewConstructor},
   { &kNS_MSGTHREADSWITHUNREADDBVIEW_CID, false, NULL, nsMsgThreadsWithUnreadDBViewConstructor},
   { &kNS_MSGWATCHEDTHREADSWITHUNREADDBVIEW_CID, false, NULL, nsMsgWatchedThreadsWithUnreadDBViewConstructor
 },
   { &kNS_MSGSEARCHDBVIEW_CID, false, NULL, nsMsgSearchDBViewConstructor},
@@ -1067,17 +1063,16 @@ const mozilla::Module::ContractIDEntry k
   { NS_MSGCOPYSERVICE_CONTRACTID, &kNS_MSGCOPYSERVICE_CID },
   { NS_MSGFOLDERCACHE_CONTRACTID, &kNS_MSGFOLDERCACHE_CID },
   { NS_MSGSTATUSFEEDBACK_CONTRACTID, &kNS_MSGSTATUSFEEDBACK_CID },
   { NS_MSGKEYARRAY_CONTRACTID, &kNS_MSGKEYARRAY_CID },
   { NS_MSGWINDOW_CONTRACTID, &kNS_MSGWINDOW_CID },
 #ifdef NS_PRINTING
   { NS_MSGPRINTENGINE_CONTRACTID, &kNS_MSG_PRINTENGINE_CID },
 #endif
-  { NS_MSGSERVICEPROVIDERSERVICE_CONTRACTID, &kNS_MSGSERVICEPROVIDERSERVICE_CID },
   { NS_SUBSCRIBABLESERVER_CONTRACTID, &kNS_SUBSCRIBABLESERVER_CID },
   { NS_MSGLOCALFOLDERCOMPACTOR_CONTRACTID, &kNS_MSGLOCALFOLDERCOMPACTOR_CID },
   { NS_MSGOFFLINESTORECOMPACTOR_CONTRACTID, &kNS_MSG_OFFLINESTORECOMPACTOR_CID },
   { NS_MSGTHREADEDDBVIEW_CONTRACTID, &kNS_MSGTHREADEDDBVIEW_CID },
   { NS_MSGTHREADSWITHUNREADDBVIEW_CONTRACTID, &kNS_MSGTHREADSWITHUNREADDBVIEW_CID },
   { NS_MSGWATCHEDTHREADSWITHUNREADDBVIEW_CONTRACTID, &kNS_MSGWATCHEDTHREADSWITHUNREADDBVIEW_CID },
   { NS_MSGSEARCHDBVIEW_CONTRACTID, &kNS_MSGSEARCHDBVIEW_CID },
   { NS_MSGQUICKSEARCHDBVIEW_CONTRACTID, &kNS_MSGQUICKSEARCHDBVIEW_CID },
--- a/mailnews/jar.mn
+++ b/mailnews/jar.mn
@@ -47,17 +47,16 @@ messenger.jar:
     content/messenger/aw-accounttype.js                                        (base/prefs/content/aw-accounttype.js)
     content/messenger/aw-identity.js                                           (base/prefs/content/aw-identity.js)
     content/messenger/aw-incoming.js                                           (base/prefs/content/aw-incoming.js)
     content/messenger/aw-outgoing.js                                           (base/prefs/content/aw-outgoing.js)
     content/messenger/aw-accname.js                                            (base/prefs/content/aw-accname.js)
     content/messenger/aw-done.js                                               (base/prefs/content/aw-done.js)
     content/messenger/accountUtils.js                                          (base/prefs/content/accountUtils.js)
     content/messenger/amUtils.js                                               (base/prefs/content/amUtils.js)
-    content/messenger/ispUtils.js                                              (base/prefs/content/ispUtils.js)
 *   content/messenger/SmtpServerEdit.xul                                       (base/prefs/content/SmtpServerEdit.xul)
     content/messenger/SmtpServerEdit.js                                        (base/prefs/content/SmtpServerEdit.js)
     content/messenger/converterDialog.xhtml                                    (base/prefs/content/converterDialog.xhtml)
     content/messenger/converterDialog.js                                       (base/prefs/content/converterDialog.js)
     content/messenger/removeAccount.xul                                        (base/prefs/content/removeAccount.xul)
     content/messenger/removeAccount.js                                         (base/prefs/content/removeAccount.js)
     content/messenger/msgSelectOfflineFolders.xul                              (base/content/msgSelectOfflineFolders.xul)
     content/messenger/msgSelectOfflineFolders.js                               (base/content/msgSelectOfflineFolders.js)