diff --git a/modules/libpref/src/nsPrefBranch.cpp b/modules/libpref/src/nsPrefBranch.cpp index a795273fb6c..6e241ee81e7 100644 --- a/modules/libpref/src/nsPrefBranch.cpp +++ b/modules/libpref/src/nsPrefBranch.cpp @@ -44,7 +44,6 @@ #endif #include "nsPrefBranch.h" -#include "nsPrefService.h" #include "nsILocalFile.h" #include "nsIObserverService.h" #include "nsXPCOM.h" @@ -53,7 +52,6 @@ #include "nsString.h" #include "nsReadableUtils.h" #include "nsXPIDLString.h" -#include "nsThreadUtils.h" #include "nsIStringBundle.h" #include "prefapi.h" #include "prmem.h" @@ -155,9 +153,6 @@ NS_INTERFACE_MAP_END NS_IMETHODIMP nsPrefBranch::GetRoot(char **aRoot) { NS_ENSURE_ARG_POINTER(aRoot); - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } mPrefRoot.Truncate(mPrefRootLength); *aRoot = ToNewCString(mPrefRoot); @@ -166,10 +161,6 @@ NS_IMETHODIMP nsPrefBranch::GetRoot(char **aRoot) NS_IMETHODIMP nsPrefBranch::GetPrefType(const char *aPrefName, PRInt32 *_retval) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { nsresult rv = NS_ERROR_NOT_AVAILABLE; @@ -188,10 +179,6 @@ NS_IMETHODIMP nsPrefBranch::GetPrefType(const char *aPrefName, PRInt32 *_retval) NS_IMETHODIMP nsPrefBranch::GetBoolPref(const char *aPrefName, PRBool *_retval) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { nsresult rv = NS_ERROR_NOT_AVAILABLE; @@ -209,10 +196,6 @@ NS_IMETHODIMP nsPrefBranch::GetBoolPref(const char *aPrefName, PRBool *_retval) NS_IMETHODIMP nsPrefBranch::SetBoolPref(const char *aPrefName, PRInt32 aValue) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -226,10 +209,6 @@ NS_IMETHODIMP nsPrefBranch::SetBoolPref(const char *aPrefName, PRInt32 aValue) NS_IMETHODIMP nsPrefBranch::GetCharPref(const char *aPrefName, char **_retval) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { nsresult rv = NS_ERROR_NOT_AVAILABLE; @@ -249,10 +228,6 @@ NS_IMETHODIMP nsPrefBranch::GetCharPref(const char *aPrefName, char **_retval) NS_IMETHODIMP nsPrefBranch::SetCharPref(const char *aPrefName, const char *aValue) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -266,10 +241,6 @@ NS_IMETHODIMP nsPrefBranch::SetCharPref(const char *aPrefName, const char *aValu NS_IMETHODIMP nsPrefBranch::GetIntPref(const char *aPrefName, PRInt32 *_retval) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { nsresult rv = NS_ERROR_NOT_AVAILABLE; @@ -287,10 +258,6 @@ NS_IMETHODIMP nsPrefBranch::GetIntPref(const char *aPrefName, PRInt32 *_retval) NS_IMETHODIMP nsPrefBranch::SetIntPref(const char *aPrefName, PRInt32 aValue) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -304,10 +271,6 @@ NS_IMETHODIMP nsPrefBranch::SetIntPref(const char *aPrefName, PRInt32 aValue) NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID & aType, void **_retval) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - nsresult rv; nsXPIDLCString utf8String; @@ -482,10 +445,6 @@ NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID & NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & aType, nsISupports *aValue) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -575,10 +534,6 @@ NS_IMETHODIMP nsPrefBranch::SetComplexValue(const char *aPrefName, const nsIID & NS_IMETHODIMP nsPrefBranch::ClearUserPref(const char *aPrefName) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -593,9 +548,6 @@ NS_IMETHODIMP nsPrefBranch::ClearUserPref(const char *aPrefName) NS_IMETHODIMP nsPrefBranch::PrefHasUserValue(const char *aPrefName, PRBool *_retval) { NS_ENSURE_ARG_POINTER(_retval); - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { @@ -615,10 +567,6 @@ NS_IMETHODIMP nsPrefBranch::PrefHasUserValue(const char *aPrefName, PRBool *_ret NS_IMETHODIMP nsPrefBranch::LockPref(const char *aPrefName) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot lock pref from content process"); @@ -633,9 +581,6 @@ NS_IMETHODIMP nsPrefBranch::LockPref(const char *aPrefName) NS_IMETHODIMP nsPrefBranch::PrefIsLocked(const char *aPrefName, PRBool *_retval) { NS_ENSURE_ARG_POINTER(_retval); - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } #ifdef MOZ_IPC if (ContentChild* cpc = GetContentChild()) { @@ -655,10 +600,6 @@ NS_IMETHODIMP nsPrefBranch::PrefIsLocked(const char *aPrefName, PRBool *_retval) NS_IMETHODIMP nsPrefBranch::UnlockPref(const char *aPrefName) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot unlock pref from content process"); @@ -678,10 +619,6 @@ NS_IMETHODIMP nsPrefBranch::ResetBranch(const char *aStartingAt) NS_IMETHODIMP nsPrefBranch::DeleteBranch(const char *aStartingAt) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (GetContentChild()) { NS_ERROR("cannot set pref from content process"); @@ -695,10 +632,6 @@ NS_IMETHODIMP nsPrefBranch::DeleteBranch(const char *aStartingAt) NS_IMETHODIMP nsPrefBranch::GetChildList(const char *aStartingAt, PRUint32 *aCount, char ***aChildArray) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - char **outArray; PRInt32 numPrefs; PRInt32 dwIndex; @@ -769,10 +702,6 @@ NS_IMETHODIMP nsPrefBranch::GetChildList(const char *aStartingAt, PRUint32 *aCou NS_IMETHODIMP nsPrefBranch::AddObserver(const char *aDomain, nsIObserver *aObserver, PRBool aHoldWeak) { - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - PrefCallbackData *pCallback; const char *pref; @@ -838,9 +767,6 @@ NS_IMETHODIMP nsPrefBranch::RemoveObserver(const char *aDomain, nsIObserver *aOb { NS_ENSURE_ARG_POINTER(aDomain); NS_ENSURE_ARG_POINTER(aObserver); - if (NS_UNLIKELY(!nsPrefService::CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } #ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { diff --git a/modules/libpref/src/nsPrefService.cpp b/modules/libpref/src/nsPrefService.cpp index 6707adda9db..fde4e6325bd 100644 --- a/modules/libpref/src/nsPrefService.cpp +++ b/modules/libpref/src/nsPrefService.cpp @@ -45,7 +45,6 @@ #include "nsAppDirectoryServiceDefs.h" #include "nsDirectoryServiceDefs.h" #include "nsICategoryManager.h" -#include "nsIConsoleService.h" #include "nsCategoryManagerUtils.h" #include "nsNetUtil.h" #include "nsIFile.h" @@ -57,7 +56,6 @@ #include "nsCOMArray.h" #include "nsXPCOMCID.h" #include "nsAutoPtr.h" -#include "nsThreadUtils.h" #include "nsQuickSort.h" #include "prmem.h" @@ -201,10 +199,6 @@ NS_IMETHODIMP nsPrefService::Observe(nsISupports *aSubject, const char *aTopic, NS_IMETHODIMP nsPrefService::ReadUserPrefs(nsIFile *aFile) { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { NS_ERROR("cannot load prefs from content process"); @@ -228,10 +222,6 @@ NS_IMETHODIMP nsPrefService::ReadUserPrefs(nsIFile *aFile) NS_IMETHODIMP nsPrefService::ResetPrefs() { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { NS_ERROR("cannot set prefs from content process"); @@ -250,10 +240,6 @@ NS_IMETHODIMP nsPrefService::ResetPrefs() NS_IMETHODIMP nsPrefService::ResetUserPrefs() { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { NS_ERROR("cannot set prefs from content process"); @@ -267,10 +253,6 @@ NS_IMETHODIMP nsPrefService::ResetUserPrefs() NS_IMETHODIMP nsPrefService::SavePrefFile(nsIFile *aFile) { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - #ifdef MOZ_IPC if (XRE_GetProcessType() == GeckoProcessType_Content) { NS_ERROR("cannot save prefs from content process"); @@ -283,10 +265,6 @@ NS_IMETHODIMP nsPrefService::SavePrefFile(nsIFile *aFile) NS_IMETHODIMP nsPrefService::GetBranch(const char *aPrefRoot, nsIPrefBranch **_retval) { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - nsresult rv; if ((nsnull != aPrefRoot) && (*aPrefRoot != '\0')) { @@ -305,10 +283,6 @@ NS_IMETHODIMP nsPrefService::GetBranch(const char *aPrefRoot, nsIPrefBranch **_r NS_IMETHODIMP nsPrefService::GetDefaultBranch(const char *aPrefRoot, nsIPrefBranch **_retval) { - if (NS_UNLIKELY(!CheckAndLogBackgroundThreadUse())) { - return NS_ERROR_UNEXPECTED; - } - nsresult rv; // TODO: - cache this stuff and allow consumers to share branches (hold weak references I think) @@ -828,22 +802,3 @@ static nsresult pref_InitInitialObjects() return pref_LoadPrefsInDirList(NS_EXT_PREFS_DEFAULTS_DIR_LIST); } - -// static -bool -nsPrefService::CheckAndLogBackgroundThreadUse() -{ - if (NS_IsMainThread()) { - return true; - } - - NS_ERROR("Cannot be used on a background thread!"); - nsCOMPtr cs = - do_GetService("@mozilla.org/consoleservice;1"); - if (cs) { - (void)cs->LogStringMessage(NS_LITERAL_STRING( - "Invalid use of the preferences on a background thread!" - ).get()); - } - return false; -} diff --git a/modules/libpref/src/nsPrefService.h b/modules/libpref/src/nsPrefService.h index 8c162a6e077..2ed87c8dd59 100644 --- a/modules/libpref/src/nsPrefService.h +++ b/modules/libpref/src/nsPrefService.h @@ -65,13 +65,7 @@ public: virtual ~nsPrefService(); nsresult Init(); - - /** - * Checks to make sure we are on the main thread and log if we are not. - * - * @returns true if on the main thread, and false otherwise. - */ - static bool CheckAndLogBackgroundThreadUse(); + protected: nsresult NotifyServiceObservers(const char *aSubject); nsresult UseDefaultPrefFile();