Bug 524449 - Remove nsIPref from tree. r+sr=benjamin
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Sat, 13 Mar 2010 22:25:13 +0900
changeset 39389 31cfc221aa1f0afdb01d7c98c6509b14c2af92f1
parent 39388 2464a5718179899245a2dc7482b94fd22080b863
child 39390 59e5e15f723f806aefc928384a1a0df028c55f21
push idunknown
push userunknown
push dateunknown
bugs524449
milestone1.9.3a3pre
Bug 524449 - Remove nsIPref from tree. r+sr=benjamin
gfx/thebes/src/gfxFT2FontList.cpp
gfx/thebes/src/gfxGDIFontList.cpp
modules/libpref/public/Makefile.in
modules/libpref/public/nsIPref.idl
modules/libpref/src/Makefile.in
modules/libpref/src/nsPref.cpp
modules/libpref/src/nsPrefsFactory.cpp
toolkit/mozapps/extensions/test/unit/head_extensionmanager.js
xpinstall/tests/browser_cookies3.js
xpinstall/tests/browser_cookies4.js
xpinstall/tests/browser_enabled2.js
xpinstall/tests/browser_enabled3.js
xpinstall/tests/browser_offline.js
--- a/gfx/thebes/src/gfxFT2FontList.cpp
+++ b/gfx/thebes/src/gfxFT2FontList.cpp
@@ -42,17 +42,16 @@
 #include "gfxFT2FontList.h"
 #include "gfxUserFontSet.h"
 #include "gfxFontUtils.h"
 
 #include "ft2build.h"
 #include FT_FREETYPE_H
 #include "gfxFT2Fonts.h"
 
-#include "nsIPref.h"  // for pref changes callback notification
 #include "nsServiceManagerUtils.h"
 #include "nsTArray.h"
 #include "nsUnicharUtils.h"
 
 #include "nsDirectoryServiceUtils.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsISimpleEnumerator.h"
--- a/gfx/thebes/src/gfxGDIFontList.cpp
+++ b/gfx/thebes/src/gfxGDIFontList.cpp
@@ -40,17 +40,16 @@
  * ***** END LICENSE BLOCK ***** */
 
 #include "gfxGDIFontList.h"
 #include "gfxWindowsPlatform.h"
 #include "gfxUserFontSet.h"
 #include "gfxFontUtils.h"
 #include "gfxWindowsFonts.h"
 
-#include "nsIPref.h"  // for pref changes callback notification
 #include "nsServiceManagerUtils.h"
 #include "nsTArray.h"
 #include "nsUnicharUtils.h"
 
 #include "nsDirectoryServiceUtils.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsISimpleEnumerator.h"
--- a/modules/libpref/public/Makefile.in
+++ b/modules/libpref/public/Makefile.in
@@ -48,17 +48,16 @@ GRE_MODULE	= 1
 SDK_XPIDLSRCS   = \
               nsIPrefService.idl \
               nsIPrefBranch.idl \
               nsIPrefBranch2.idl \
               nsIPrefLocalizedString.idl \
               $(NULL)
 
 XPIDLSRCS	= \
-              nsIPref.idl \
               nsIPrefBranchInternal.idl \
               nsISecurityPref.idl \
               nsIRelativeFilePref.idl \
               $(NULL)
 
 EXPORTS = \
           nsPrefsCID.h \
           $(NULL)
deleted file mode 100644
--- a/modules/libpref/public/nsIPref.idl
+++ /dev/null
@@ -1,263 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * 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 ***** */
-
-#include "nsISupports.idl"
-
-interface nsILocalFile;
-interface nsIObserver;
-interface nsIFileSpec;
-
-#include "nsIPrefService.idl"
-#include "nsIPrefBranch.idl"
-
-%{C++
-
-#ifndef have_PrefChangedFunc_typedef
-typedef int (*PR_CALLBACK PrefChangedFunc)(const char *, void *);
-#define have_PrefChangedFunc_typedef
-#endif
-typedef void (*PrefEnumerationFunc)(const char *, void *);
-
-#define NS_PREF_CID                                    \
-  { /* {dc26e0e0-ca94-11d1-a9a4-00805f8a7ac4} */       \
-    0xdc26e0e0,                                        \
-    0xca94,                                            \
-    0x11d1,                                            \
-    { 0xa9, 0xa4, 0x00, 0x80, 0x5f, 0x8a, 0x7a, 0xc4 } \
-  }
-
-#define NS_PREF_CONTRACTID \
-  "@mozilla.org/preferences;1" 
-
-#define NS_PREF_CLASSNAME "Preferences Service"
- 
-#define NS_PREF_VALUE_CHANGED 1 
-%}
-native PrefChangedFunc(PrefChangedFunc);
-native PrefEnumerationFunc(PrefEnumerationFunc);
-
-/**
- * This entire interface is deprecated and should not be used.
- * See nsIPrefService and nsIPrefBranch for the new implementations.
- *
- * @status DEPRECATED  Replaced by nsIPrefService and nsIPrefBranch
- */
-[scriptable, uuid(a22ad7b0-ca86-11d1-a9a4-00805f8a7ac4)]
-interface nsIPref : nsISupports {
-
-  /*
-   * These are the the Prefs Service methods we will support for now
-   */
-
-  /*
-   * readUserPrefs
-   * 
-   * read a user preference file, pass in null for default file
-   */
-  void readUserPrefs(in nsIFile aFile);
-
-  /*
-   * resetPrefs
-   * 
-   * completely flush and reload the preferences system
-   */
-  void ResetPrefs();
-
-  /*
-   * resetUserPrefs
-   * 
-   * flush all current user prefrences (reset all preferences to the default values)
-   */
-  void ResetUserPrefs();
-
-  /*
-   * savePrefFile
-   * 
-   * write current preferences state to a file, pass in null for default file
-   */
-  void savePrefFile(in nsIFile aFile);
-
-  /*
-   * branch operations
-   */
-
-  nsIPrefBranch getBranch(in string aPrefRoot);
-  nsIPrefBranch getDefaultBranch(in string aPrefRoot);
-
-
-  /*
-   * These are the the Prefs Branch methods we will support for now
-   */
-
-  const long ePrefInvalid = 0;
-  const long ePrefLocked = 1;
-  const long ePrefUserset = 2;
-  const long ePrefConfig = 4;
-  const long ePrefRemote = 8;
-  const long ePrefLilocal = 16;
-  const long ePrefString = 32;
-  const long ePrefInt = 64;
-  const long ePrefBool = 128;
-  const long ePrefValuetypeMask = (ePrefString | ePrefInt | ePrefBool);
-
-  /*
-   * the root of this branch, such as "browser."
-   */
-  readonly attribute string root;
-
-  /*
-   * standard methods for accessing preferences
-   */
-  long    GetPrefType(in string aPrefName);
-
-  boolean GetBoolPref(in string aPrefName);
-  void    SetBoolPref(in string aPrefName, in long aValue);
-
-  string  GetCharPref(in string aPrefName);
-  void    SetCharPref(in string aPrefName, in string aValue);
-
-  long    GetIntPref(in string aPrefName);
-  void    SetIntPref(in string aPrefName, in long aValue);
-
-  /*
-   * methods for accessing complex preferences (i.e. items beyond the simple bool, char, and int)
-   */
-  void getComplexValue(in string aPrefName, in nsIIDRef aType, [iid_is(aType), retval] out nsQIResult aValue);
-  void setComplexValue(in string aPrefName, in nsIIDRef aType, in nsISupports aValue);
-
-  /*
-   * methods for preference state manipulation
-   */
-  void    ClearUserPref(in string aPrefName);
-  boolean PrefIsLocked(in string aPrefName);
-  void    lockPref(in string aPrefName);
-  void    unlockPref(in string aPrefName);
-
-
-  /*
-   * branch-level operations
-   */
-
-  /*
-   * resetBranch
-   * 
-   * clears all user preferences starting at the given preference prefix
-   * pass in null or "" to clear this branch
-   */
-  void resetBranch(in string aStartingAt);
-
-  /*
-   * deleteBranch
-   * 
-   * removes all preferences starting at the given preference prefix
-   * pass in null or "" to remove this branch
-   */
-  void DeleteBranch(in string aStartingAt);
-
-  /*
-   * getChildList
-   *
-   * Returns an array of strings representing the child preferences of the branch root
-   * 
-   * @param startingAt pass in null or "" to enumerate the entire branch
-   * @param count Receives the number of elements in the array.
-   * @param childArray Receives the array of child preferences.
-   */
-  void getChildList(in string aStartingAt,
-                    out unsigned long aCount,
-                    [array, size_is(aCount), retval] out string aChildArray);
-
-
-  /*
-   * Listeners
-   */
-
-  /*
-   * The observers have their |Observe| methods called with
-   * ([the observer], "nsPref:changed", [pref name]).
-   */
-  void addObserver(in string aDomain, in nsIObserver aObserver, in boolean aHoldWeak);
-  void removeObserver(in string aDomain, in nsIObserver aObserver);
-
-
-  /*
-   * Finally some deprecated methods
-   */
-
-  
-  // these are changing from Copy->get
-  string CopyCharPref(in string pref);
-  string CopyDefaultCharPref(in string pref);
-
-  /* get & set defaults */
-  boolean GetDefaultBoolPref(in string pref);
-  long    GetDefaultIntPref(in string pref);
-
-  void SetDefaultBoolPref(in string pref, in boolean value);
-  void SetDefaultCharPref(in string pref, in string value);
-  void SetDefaultIntPref(in string pref, in long value);
-
-  /* unichar & localized unichar prefs */
-  wstring CopyUnicharPref(in string pref);
-  wstring CopyDefaultUnicharPref(in string pref);
-  void SetUnicharPref(in string pref, in wstring value);
-  void SetDefaultUnicharPref(in string pref, in wstring value);
-  wstring getLocalizedUnicharPref(in string pref);
-  wstring getDefaultLocalizedUnicharPref(in string pref);
-
-  /* file & filespec prefs */
-  nsIFileSpec  GetFilePref(in string pref);
-  void         SetFilePref(in string pref, in nsIFileSpec value, in boolean setDefault);
-  nsILocalFile getFileXPref(in string pref);
-  void         setFileXPref(in string pref, in nsILocalFile value);
-
-  /* callbacks */
-  [noscript] void RegisterCallback(in string domain, in PrefChangedFunc callback, in voidPtr closure);
-  [noscript] void UnregisterCallback(in string domain, in PrefChangedFunc callback, in voidPtr closure);
-
-  /**
-   * EnumerateChildren
-   *
-   * Call back function "callback" with every preference string
-   * having prefix "parent". Pass "data" to "callback" when calling.
-   * 
-   * @param parent A string representation of a prefix of preferences
-   * @param callback A function to call back for each matching preference
-   * @param data A piece of data to pass on to the callback
-   */
-  [noscript] void EnumerateChildren(in string parent, in PrefEnumerationFunc callback, in voidPtr data);
-};
--- a/modules/libpref/src/Makefile.in
+++ b/modules/libpref/src/Makefile.in
@@ -50,17 +50,17 @@ MODULE_NAME	= nsPrefModule
 ifeq ($(OS_ARCH)$(MOZ_ENABLE_LIBXUL),WINNT)
 LIBRARY_NAME	= xppref32
 endif
 GRE_MODULE	= 1
 LIBXUL_LIBRARY = 1
 
 include $(topsrcdir)/config/config.mk
 
-CPPSRCS		= nsPref.cpp \
+CPPSRCS		= \
 			  nsPrefBranch.cpp	\
 			  nsPrefService.cpp	\
 			  nsPrefsFactory.cpp	\
 			  prefapi.cpp \
 			  prefread.cpp \
 			 $(NULL)
 
 DEFINES += -DOS_ARCH=$(OS_ARCH) \
deleted file mode 100644
--- a/modules/libpref/src/nsPref.cpp
+++ /dev/null
@@ -1,735 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * ***** 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 mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Pierre Phaneuf <pp@ludusdesign.com>
- *
- * 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 *****
- *
- * This Original Code has been modified by IBM Corporation.
- * Modifications made by IBM described herein are
- * Copyright (c) International Business Machines
- * Corporation, 2000
- *
- * Modifications to Mozilla code or documentation
- * identified per MPL Section 3.3
- *
- * Date         Modified by     Description of modification
- * 03/27/2000   IBM Corp.       Added PR_CALLBACK for Optlink
- *                               use in OS2
- */
-
-#include "nsIPref.h"
-#include "nsIPrefBranch.h"
-#include "nsIPrefBranchInternal.h"
-#include "nsIFactory.h"
-#include "nsIComponentManager.h"
-#include "nsIObserver.h"
-#include "nsCOMPtr.h"
-#include "nsMemory.h"
-#include "prefapi.h"
-
-#include "nsString.h"
-#include "nsILocalFile.h"
-#include "nsIPrefBranch.h"
-#include "nsIPrefLocalizedString.h"
-#include "nsISecurityPref.h"
-#include "nsIPrefService.h"
-#include "nsISupportsPrimitives.h"
-#include "nsWeakReference.h"
-
-#include "nsIModule.h"
-#include "nsIGenericFactory.h"
-
-#include "plstr.h"
-#include "prmem.h"
-#include "prprf.h"
-
-
-class nsPref : public nsIPref,
-               public nsIPrefService,
-               public nsIObserver,
-               public nsIPrefBranchInternal,
-               public nsISecurityPref,
-               public nsSupportsWeakReference
-{
-public:
-  static nsPref *GetInstance();
-
-  /* Use xpidl-generated macro to declare everything required by nsIPref */
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSIPREFBRANCH
-  NS_DECL_NSIPREFBRANCH2
-  NS_DECL_NSISECURITYPREF
-  NS_DECL_NSIOBSERVER
-  NS_FORWARD_NSIPREFSERVICE(mPrefService->)
-
-  NS_IMETHOD CopyCharPref(const char *pref, char ** return_buf);
-
-  NS_IMETHODIMP GetDefaultBoolPref(const char *pref, PRBool *_retval)
-                  { return mDefaultBranch->GetBoolPref(pref, _retval); }
-  NS_IMETHODIMP CopyDefaultCharPref(const char *pref, char **_retval)
-                  { return mDefaultBranch->GetCharPref(pref, _retval); }
-  NS_IMETHODIMP GetDefaultIntPref(const char *pref, PRInt32 *_retval)
-                  { return mDefaultBranch->GetIntPref(pref, _retval); }
-  NS_IMETHODIMP SetDefaultBoolPref(const char *pref, PRBool value)
-                  { return mDefaultBranch->SetBoolPref(pref, value); }
-  NS_IMETHODIMP SetDefaultCharPref(const char *pref, const char *value)
-                  { return mDefaultBranch->SetCharPref(pref, value); }
-  NS_IMETHODIMP SetDefaultIntPref(const char *pref, PRInt32 value)
-                  { return mDefaultBranch->SetIntPref(pref, value); }
-
-  NS_IMETHOD CopyUnicharPref(const char *pref, PRUnichar **_retval);
-  NS_IMETHOD CopyDefaultUnicharPref(const char *pref, PRUnichar **_retval);
-  NS_IMETHOD SetUnicharPref(const char *pref, const PRUnichar *value);
-  NS_IMETHOD SetDefaultUnicharPref(const char *pref, const PRUnichar *value);
-  NS_IMETHOD GetLocalizedUnicharPref(const char *pref, PRUnichar **_retval);
-  NS_IMETHOD GetDefaultLocalizedUnicharPref(const char *pref, PRUnichar **_retval);
-
-  NS_IMETHOD GetFilePref(const char *pref, nsIFileSpec **_retval);
-  NS_IMETHOD SetFilePref(const char *pref, nsIFileSpec *value, PRBool setDefault);
-  NS_IMETHOD GetFileXPref(const char *pref, nsILocalFile **_retval);
-  NS_IMETHOD SetFileXPref(const char *pref, nsILocalFile *value);
-
-  NS_IMETHOD RegisterCallback(const char *domain, PrefChangedFunc callback, void * closure);
-  NS_IMETHOD UnregisterCallback(const char *domain, PrefChangedFunc callback, void * closure);
-  NS_IMETHOD EnumerateChildren(const char *parent, PrefEnumerationFunc callback, void * data); 
-
-protected:
-  nsPref();
-  virtual ~nsPref();
-
-  static nsPref *gInstance;
-
-private:
-  nsCOMPtr<nsIPrefService> mPrefService;
-  nsCOMPtr<nsIPrefBranch>  mDefaultBranch;
-};
-
-nsPref* nsPref::gInstance = NULL;
-static PRInt32 g_InstanceCount = 0;
-
-
-NS_IMPL_THREADSAFE_ISUPPORTS8(nsPref,
-                              nsIPref,
-                              nsIPrefService,
-                              nsIObserver,
-                              nsIPrefBranch,
-                              nsIPrefBranch2,
-                              nsIPrefBranchInternal,
-                              nsISecurityPref,
-                              nsISupportsWeakReference)
-
-//----------------------------------------------------------------------------------------
-nsPref::nsPref()
-//----------------------------------------------------------------------------------------
-{
-  PR_AtomicIncrement(&g_InstanceCount);
-
-  mPrefService = do_GetService(NS_PREFSERVICE_CONTRACTID);
-  NS_ASSERTION(mPrefService, "Preference Service failed to start up!!");
-
-  if (mPrefService)
-    mPrefService->GetDefaultBranch("", getter_AddRefs(mDefaultBranch));
-}
-
-//----------------------------------------------------------------------------------------
-nsPref::~nsPref()
-//----------------------------------------------------------------------------------------
-{
-  PR_AtomicDecrement(&g_InstanceCount);
-  gInstance = NULL;
-}
-
-/*
- * Implementations to pass branch calls through the PrefService.
- */
-
-NS_IMETHODIMP nsPref::GetRoot(char * *aRoot)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetRoot(aRoot);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetPrefType(const char *aPrefName, PRInt32 *_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetPrefType(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::CopyCharPref(const char *pref, char ** return_buf)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetCharPref(pref, return_buf);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetBoolPref(const char *aPrefName, PRBool *_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetBoolPref(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetBoolPref(const char *aPrefName, PRInt32 aValue)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->SetBoolPref(aPrefName, aValue);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetCharPref(const char *aPrefName, char **_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetCharPref(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetCharPref(const char *aPrefName, const char *aValue)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->SetCharPref(aPrefName, aValue);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetIntPref(const char *aPrefName, PRInt32 *_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetIntPref(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetIntPref(const char *aPrefName, PRInt32 aValue)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->SetIntPref(aPrefName, aValue);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetComplexValue(const char *aPrefName, const nsIID & aType, void * *aValue)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetComplexValue(aPrefName, aType, aValue);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetComplexValue(const char *aPrefName, const nsIID & aType, nsISupports *aValue)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->SetComplexValue(aPrefName, aType, aValue);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::ClearUserPref(const char *aPrefName)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->ClearUserPref(aPrefName);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::LockPref(const char *aPrefName)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->LockPref(aPrefName);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::PrefIsLocked(const char *aPrefName, PRBool *_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->PrefIsLocked(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::PrefHasUserValue(const char *aPrefName, PRBool *_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->PrefHasUserValue(aPrefName, _retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::UnlockPref(const char *aPrefName)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->UnlockPref(aPrefName);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::ResetBranch(const char *aStartingAt)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->ResetBranch(aStartingAt);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::DeleteBranch(const char *aStartingAt)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->DeleteBranch(aStartingAt);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetChildList(const char *aStartingAt, PRUint32 *aCount, char ***aChildArray)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetChildList(aStartingAt, aCount, aChildArray);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::AddObserver(const char *aDomain, nsIObserver *aObserver, PRBool aHoldWeak)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch2> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->AddObserver(aDomain, aObserver, aHoldWeak);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::RemoveObserver(const char *aDomain, nsIObserver *aObserver)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch2> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->RemoveObserver(aDomain, aObserver);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIObserver> observer = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = observer->Observe(aSubject, aTopic, someData);
-  return rv;
-}
-
-
-/*
- * Some temporary support for deprecated functions.
- */
-
-/*
- * Items replaced by Get/SetComplexValue
- */
-
-NS_IMETHODIMP nsPref::CopyUnicharPref(const char *pref, PRUnichar **_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv)) {
-    nsCOMPtr<nsISupportsString> theString;
-    rv = prefBranch->GetComplexValue(pref, NS_GET_IID(nsISupportsString),
-                                     getter_AddRefs(theString));
-    if (NS_FAILED(rv))
-      return rv;
-
-    return theString->ToString(_retval);
-  }
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::CopyDefaultUnicharPref(const char *pref, PRUnichar **_retval)
-{
-  nsresult rv;
-  nsCOMPtr<nsISupportsString> theString;
-
-  rv = mDefaultBranch->GetComplexValue(pref, NS_GET_IID(nsISupportsString),
-                                       getter_AddRefs(theString));
-  if (NS_FAILED(rv))
-    return rv;
-
-  return theString->ToString(_retval);
-}
-
-NS_IMETHODIMP nsPref::SetUnicharPref(const char *pref, const PRUnichar *value)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv)) {
-    nsCOMPtr<nsISupportsString> theString = do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID, &rv);
-    if (NS_SUCCEEDED(rv)) {
-      nsAutoString val(value);
-      theString->SetData(val);
-      rv = prefBranch->SetComplexValue(pref, NS_GET_IID(nsISupportsString), theString);
-    }
-  }
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetDefaultUnicharPref(const char *pref, const PRUnichar *value)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsISupportsString> theString = do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID, &rv);
-  if (NS_SUCCEEDED(rv)) {
-    nsAutoString val(value);
-    theString->SetData(val);
-    rv = mDefaultBranch->SetComplexValue(pref, NS_GET_IID(nsISupportsString), theString);
-  }
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetLocalizedUnicharPref(const char *pref, PRUnichar **_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv)) {
-    nsCOMPtr<nsIPrefLocalizedString> theString;
-    rv = prefBranch->GetComplexValue(pref, NS_GET_IID(nsIPrefLocalizedString),
-                                       getter_AddRefs(theString));
-    if (NS_SUCCEEDED(rv)) {
-      rv = theString->ToString(_retval);
-    }
-  }
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetDefaultLocalizedUnicharPref(const char *pref, PRUnichar **_retval)
-{
-  nsresult rv;
-  nsCOMPtr<nsIPrefLocalizedString> theString;
-
-  rv = mDefaultBranch->GetComplexValue(pref, NS_GET_IID(nsIPrefLocalizedString),
-                                       getter_AddRefs(theString));
-  if (NS_SUCCEEDED(rv)) {
-    rv = theString->ToString(_retval);
-  }
-  
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::GetFilePref(const char *pref, nsIFileSpec **_retval)
-{
-  return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP nsPref::SetFilePref(const char *pref, nsIFileSpec *value, PRBool setDefault)
-{
-  return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP nsPref::GetFileXPref(const char *pref, nsILocalFile **_retval)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->GetComplexValue(pref, NS_GET_IID(nsILocalFile), (void **)_retval);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SetFileXPref(const char *pref, nsILocalFile *value)
-{
-  nsresult rv;
-
-  NS_ENSURE_ARG_POINTER(value);
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = prefBranch->SetComplexValue(pref, NS_GET_IID(nsILocalFile), value);
-  return rv;
-}
-
-
-/*
- * Callbacks
- */
-
-//----------------------------------------------------------------------------------------
-NS_IMETHODIMP nsPref::RegisterCallback( const char* domain,
-                    PrefChangedFunc callback, 
-                    void* instance_data )
-//----------------------------------------------------------------------------------------
-{
-    PREF_RegisterCallback(domain, callback, instance_data);
-    return NS_OK;
-}
-
-//----------------------------------------------------------------------------------------
-NS_IMETHODIMP nsPref::UnregisterCallback( const char* domain,
-                        PrefChangedFunc callback, 
-                        void* instance_data )
-//----------------------------------------------------------------------------------------
-{
-  return PREF_UnregisterCallback(domain, callback, instance_data);
-}
-
-/*
- * Preference enumeration
- */
-
-NS_IMETHODIMP nsPref::EnumerateChildren(const char *parent, PrefEnumerationFunc callback, void *arg) 
-{
-  PRUint32 theCount;
-  PRUint32 i;
-  nsresult rv;
-  char     **childArray;
-  char     *prefName;
-
-  rv = GetChildList(parent, &theCount, &childArray);
-  if (NS_SUCCEEDED(rv)) {
-    // now that we've built up the list, run the callback on all the matching elements
-    for (i = 0; i < theCount; i++) {
-      prefName = (char *)childArray[i];
-      (*callback)((char*)prefName, arg);
-    }
-
-    // now release all the memory
-    NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(theCount, childArray);
-  }
-
-  return NS_OK;
-}
-
-/*
- * Pref access without security check - these are here
- * to support nsScriptSecurityManager.
- * These functions are part of nsISecurityPref, not nsIPref.
- * **PLEASE** do not call these functions from elsewhere
- */
-NS_IMETHODIMP nsPref::SecurityGetBoolPref(const char *pref, PRBool * return_val)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecurityGetBoolPref(pref, return_val);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecuritySetBoolPref(const char *pref, PRBool value)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecuritySetBoolPref(pref, value);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecurityGetCharPref(const char *pref, char ** return_buf)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecurityGetCharPref(pref, return_buf);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecuritySetCharPref(const char *pref, const char* value)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecuritySetCharPref(pref, value);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecurityGetIntPref(const char *pref, PRInt32 * return_val)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecurityGetIntPref(pref, return_val);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecuritySetIntPref(const char *pref, PRInt32 value)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecuritySetIntPref(pref, value);
-  return rv;
-}
-
-NS_IMETHODIMP nsPref::SecurityClearUserPref(const char *pref_name)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsIPrefBranch> prefBranch = do_QueryInterface(mPrefService, &rv);
-  if (NS_FAILED(rv))
-    return rv;
-
-  nsCOMPtr<nsISecurityPref> securityPref = do_QueryInterface(prefBranch, &rv);
-  if (NS_SUCCEEDED(rv))
-    rv = securityPref->SecurityClearUserPref(pref_name);
-  return rv;
-}
-
-
-//----------------------------------------------------------------------------------------
-nsPref* nsPref::GetInstance()
-//----------------------------------------------------------------------------------------
-{
-  if (gInstance)
-    return gInstance;
-  NS_NEWXPCOM(gInstance, nsPref);
-  if (!gInstance)
-    return nsnull;
-  if (!gInstance->mPrefService)
-    NS_RELEASE(gInstance);
-  return gInstance;
-} // nsPref::GetInstance
-
-
-//----------------------------------------------------------------------------------------
-// Functions used to create new instances of a given object by the
-// generic factory.
-
-
-////////////////////////////////////////////////////////////////////////
-// Hand implement the GenericFactory constructor macro so I can make it
-// non static. This is simply to keep us from having to make an nsPref.h
-// file because we are trying to remove this object, not add to it.
-//
-
-NS_IMETHODIMP nsPrefConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult)
-{
-  nsresult rv;
-    
-  if (NULL == aResult) {
-    rv = NS_ERROR_NULL_POINTER;
-    return rv;
-  }
-  *aResult = NULL;
-  if (NULL != aOuter) {
-    rv = NS_ERROR_NO_AGGREGATION;
-    return rv;
-  }
-
-  nsPref *inst = nsPref::GetInstance();
-
-  if (NULL == inst) {
-    rv = NS_ERROR_OUT_OF_MEMORY;
-    return rv;
-  }
-  NS_ADDREF(inst);
-  rv = inst->QueryInterface(aIID, aResult);
-  NS_RELEASE(inst);
-
-  return rv;
-}
--- a/modules/libpref/src/nsPrefsFactory.cpp
+++ b/modules/libpref/src/nsPrefsFactory.cpp
@@ -34,22 +34,18 @@
  * 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 ***** */
 
 #include "nsIGenericFactory.h"
 #include "nsPrefService.h"
 #include "nsPrefBranch.h"
-#include "nsIPref.h"
 #include "prefapi.h"
 
-// remove this when nsPref goes away
-extern NS_IMETHODIMP nsPrefConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
-
 
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrefService, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrefLocalizedString, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsRelativeFilePref)
  
 // The list of components we register
 static const nsModuleComponentInfo components[] = 
 {
@@ -69,22 +65,22 @@ static const nsModuleComponentInfo compo
 
   {
     NS_RELATIVEFILEPREF_CLASSNAME, 
     NS_RELATIVEFILEPREF_CID,
     NS_RELATIVEFILEPREF_CONTRACTID, 
     nsRelativeFilePrefConstructor
   },
 
-  { // remove this when nsPref goes away
-    NS_PREF_CLASSNAME, 
-    NS_PREF_CID,
-    NS_PREF_CONTRACTID, 
-    nsPrefConstructor
-  },
+  { // compatibility for extension that uses old service
+    NS_PREFSERVICE_CLASSNAME,
+    NS_PREFSERVICE_CID,
+    "@mozilla.org/preferences;1",
+    nsPrefServiceConstructor
+  }
 };
 
 static void
 UnloadPrefsModule(nsIModule* unused)
 {
   PREF_Cleanup();
 }
 
--- a/toolkit/mozapps/extensions/test/unit/head_extensionmanager.js
+++ b/toolkit/mozapps/extensions/test/unit/head_extensionmanager.js
@@ -256,12 +256,12 @@ function restartEM(newVersion)
 }
 
 var gDirSvc = Components.classes["@mozilla.org/file/directory_service;1"]
                         .getService(Components.interfaces.nsIProperties);
 
 // Need to create and register a profile folder.
 var gProfD = do_get_profile();
 
-var gPrefs = Components.classes["@mozilla.org/preferences;1"]
+var gPrefs = Components.classes["@mozilla.org/preferences-service;1"]
                    .getService(Components.interfaces.nsIPrefBranch);
 // Enable more extensive EM logging
 gPrefs.setBoolPref("extensions.logging.enabled", true);
--- a/xpinstall/tests/browser_cookies3.js
+++ b/xpinstall/tests/browser_cookies3.js
@@ -16,17 +16,17 @@ function test() {
                      .getService(Components.interfaces.nsICookieManager2);
   cm.add("example.com", "/browser/xpinstall/tests", "xpinstall", "true", false,
          false, true, (Date.now() / 1000) + 60);
 
   var pm = Components.classes["@mozilla.org/permissionmanager;1"]
                      .getService(Components.interfaces.nsIPermissionManager);
   pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION);
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.setIntPref("network.cookie.cookieBehavior", 1);
 
   var triggers = encodeURIComponent(JSON.stringify({
     "Cookie check": TESTROOT + "cookieRedirect.sjs?" + TESTROOT + "unsigned.xpi"
   }));
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
@@ -40,17 +40,17 @@ function finish_test() {
   var em = Components.classes["@mozilla.org/extensions/manager;1"]
                      .getService(Components.interfaces.nsIExtensionManager);
   em.cancelInstallItem("unsigned-xpi@tests.mozilla.org");
 
   var cm = Components.classes["@mozilla.org/cookiemanager;1"]
                      .getService(Components.interfaces.nsICookieManager2);
   cm.remove("example.com", "xpinstall", "/browser/xpinstall/tests", false);
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.clearUserPref("network.cookie.cookieBehavior");
 
   var pm = Components.classes["@mozilla.org/permissionmanager;1"]
                      .getService(Components.interfaces.nsIPermissionManager);
   pm.remove("example.com", "install");
 
   gBrowser.removeCurrentTab();
--- a/xpinstall/tests/browser_cookies4.js
+++ b/xpinstall/tests/browser_cookies4.js
@@ -17,17 +17,17 @@ function test() {
                      .getService(Components.interfaces.nsICookieManager2);
   cm.add("example.com", "/browser/xpinstall/tests", "xpinstall", "true", false,
          false, true, (Date.now() / 1000) + 60);
 
   var pm = Components.classes["@mozilla.org/permissionmanager;1"]
                      .getService(Components.interfaces.nsIPermissionManager);
   pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION);
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.setIntPref("network.cookie.cookieBehavior", 1);
 
   var triggers = encodeURIComponent(JSON.stringify({
     "Cookie check": TESTROOT2 + "cookieRedirect.sjs?" + TESTROOT + "unsigned.xpi"
   }));
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
@@ -37,17 +37,17 @@ function check_xpi_install(addon, status
   is(status, -228, "Install should fail");
 }
 
 function finish_test() {
   var cm = Components.classes["@mozilla.org/cookiemanager;1"]
                      .getService(Components.interfaces.nsICookieManager2);
   cm.remove("example.com", "xpinstall", "/browser/xpinstall/tests", false);
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.clearUserPref("network.cookie.cookieBehavior");
 
   var pm = Components.classes["@mozilla.org/permissionmanager;1"]
                      .getService(Components.interfaces.nsIPermissionManager);
   pm.remove("example.com", "install");
 
   gBrowser.removeCurrentTab();
--- a/xpinstall/tests/browser_enabled2.js
+++ b/xpinstall/tests/browser_enabled2.js
@@ -3,31 +3,31 @@ var scriptLoader = Components.classes["@
                              .getService(Components.interfaces.mozIJSSubScriptLoader);
 scriptLoader.loadSubScript("chrome://mochikit/content/browser/xpinstall/tests/harness.js", this);
 
 // ----------------------------------------------------------------------------
 // Test whether an InstallTrigger.enabled is working
 function test() {
   waitForExplicitFinish();
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.setBoolPref("xpinstall.enabled", false);
 
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.selectedBrowser.addEventListener("load", function() {
     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
     // Allow the in-page load handler to run first
     executeSoon(page_loaded);
   }, true);
   gBrowser.loadURI(TESTROOT + "enabled.html");
 }
 
 function page_loaded() {
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.clearUserPref("xpinstall.enabled");
 
   var doc = gBrowser.contentDocument;
   is(doc.getElementById("enabled").textContent, "false", "installTrigger should have not been enabled");
   gBrowser.removeCurrentTab();
   finish();
 }
--- a/xpinstall/tests/browser_enabled3.js
+++ b/xpinstall/tests/browser_enabled3.js
@@ -3,34 +3,34 @@ var scriptLoader = Components.classes["@
                              .getService(Components.interfaces.mozIJSSubScriptLoader);
 scriptLoader.loadSubScript("chrome://mochikit/content/browser/xpinstall/tests/harness.js", this);
 
 // ----------------------------------------------------------------------------
 // Test whether an InstallTrigger.install call fails when xpinstall is disabled
 function test() {
   waitForExplicitFinish();
 
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.setBoolPref("xpinstall.enabled", false);
 
   var triggers = encodeURIComponent(JSON.stringify({
     "Unsigned XPI": TESTROOT + "unsigned.xpi"
   }));
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.selectedBrowser.addEventListener("load", function() {
     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
     // Allow the in-page load handler to run first
     executeSoon(page_loaded);
   }, true);
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
 }
 
 function page_loaded() {
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   prefs.clearUserPref("xpinstall.enabled");
 
   var doc = gBrowser.contentDocument;
   is(doc.getElementById("return").textContent, "false", "installTrigger should have not been enabled");
   gBrowser.removeCurrentTab();
   finish();
 }
--- a/xpinstall/tests/browser_offline.js
+++ b/xpinstall/tests/browser_offline.js
@@ -18,17 +18,17 @@ function test() {
   var triggers = encodeURIComponent(JSON.stringify({
     "Unsigned XPI": TESTROOT + "unsigned.xpi"
   }));
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
 }
 
 function download_progress(addon, value, maxValue) {
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   var ioService = Components.classes["@mozilla.org/network/io-service;1"]
                             .getService(Components.interfaces.nsIIOService2);
 
   try {
     ioService.manageOfflineStatus = false;
     prefs.setBoolPref("browser.offline", true);
     ioService.offline = true;
@@ -36,17 +36,17 @@ function download_progress(addon, value,
   }
 }
 
 function check_xpi_install(addon, status) {
   is(status, -210, "Install should be cancelled");
 }
 
 function finish_test() {
-  var prefs = Components.classes["@mozilla.org/preferences;1"]
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch);
   var ioService = Components.classes["@mozilla.org/network/io-service;1"]
                             .getService(Components.interfaces.nsIIOService2);
   try {
     prefs.setBoolPref("browser.offline", false);
     ioService.offline = false;
   } catch (ex) {
   }