From fa14d1e021de892762fb53a68eeff40818aefd30 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 10 Dec 2013 14:48:10 -0500 Subject: [PATCH] Bug 947736 - Build modules/libpref/ in unified mode; r=bsmedberg --- modules/libpref/public/Preferences.h | 2 +- modules/libpref/src/Preferences.cpp | 12 ++++-------- modules/libpref/src/moz.build | 8 ++++++-- modules/libpref/src/nsPrefBranch.cpp | 5 ++--- modules/libpref/src/nsPrefBranch.h | 7 ++++++- modules/libpref/src/prefapi.cpp | 4 +--- modules/libpref/src/prefapi.h | 2 +- modules/libpref/src/prefapi_private_data.h | 5 +++++ 8 files changed, 26 insertions(+), 19 deletions(-) diff --git a/modules/libpref/public/Preferences.h b/modules/libpref/public/Preferences.h index fdba80454f07..20a6aa6e0b7d 100644 --- a/modules/libpref/public/Preferences.h +++ b/modules/libpref/public/Preferences.h @@ -26,7 +26,7 @@ class nsAdoptingString; class nsAdoptingCString; #ifndef have_PrefChangedFunc_typedef -typedef int (*PrefChangedFunc)(const char *, void *); +typedef void (*PrefChangedFunc)(const char *, void *); #define have_PrefChangedFunc_typedef #endif diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp index 44f382bfaa63..676292d78b29 100644 --- a/modules/libpref/src/Preferences.cpp +++ b/modules/libpref/src/Preferences.cpp @@ -1672,12 +1672,11 @@ Preferences::UnregisterCallback(PrefChangedFunc aCallback, return NS_OK; } -static int BoolVarChanged(const char* aPref, void* aClosure) +static void BoolVarChanged(const char* aPref, void* aClosure) { CacheData* cache = static_cast(aClosure); *((bool*)cache->cacheLocation) = Preferences::GetBool(aPref, cache->defaultValueBool); - return 0; } // static @@ -1695,12 +1694,11 @@ Preferences::AddBoolVarCache(bool* aCache, return RegisterCallback(BoolVarChanged, aPref, data); } -static int IntVarChanged(const char* aPref, void* aClosure) +static void IntVarChanged(const char* aPref, void* aClosure) { CacheData* cache = static_cast(aClosure); *((int32_t*)cache->cacheLocation) = Preferences::GetInt(aPref, cache->defaultValueInt); - return 0; } // static @@ -1718,12 +1716,11 @@ Preferences::AddIntVarCache(int32_t* aCache, return RegisterCallback(IntVarChanged, aPref, data); } -static int UintVarChanged(const char* aPref, void* aClosure) +static void UintVarChanged(const char* aPref, void* aClosure) { CacheData* cache = static_cast(aClosure); *((uint32_t*)cache->cacheLocation) = Preferences::GetUint(aPref, cache->defaultValueUint); - return 0; } // static @@ -1741,12 +1738,11 @@ Preferences::AddUintVarCache(uint32_t* aCache, return RegisterCallback(UintVarChanged, aPref, data); } -static int FloatVarChanged(const char* aPref, void* aClosure) +static void FloatVarChanged(const char* aPref, void* aClosure) { CacheData* cache = static_cast(aClosure); *((float*)cache->cacheLocation) = Preferences::GetFloat(aPref, cache->defaultValueFloat); - return 0; } // static diff --git a/modules/libpref/src/moz.build b/modules/libpref/src/moz.build index ee85b27640d2..f863f76d9cb5 100644 --- a/modules/libpref/src/moz.build +++ b/modules/libpref/src/moz.build @@ -4,14 +4,18 @@ # 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/. -SOURCES += [ +UNIFIED_SOURCES += [ 'nsPrefBranch.cpp', 'nsPrefsFactory.cpp', - 'prefapi.cpp', 'Preferences.cpp', 'prefread.cpp', ] +# prefapi.cpp cannot be built in unified mode because it uses plarena.h +SOURCES += [ + 'prefapi.cpp', +] + MSVC_ENABLE_PGO = True include('/ipc/chromium/chromium-config.mozbuild') diff --git a/modules/libpref/src/nsPrefBranch.cpp b/modules/libpref/src/nsPrefBranch.cpp index c96f724e4485..87a9ab03039a 100644 --- a/modules/libpref/src/nsPrefBranch.cpp +++ b/modules/libpref/src/nsPrefBranch.cpp @@ -681,7 +681,7 @@ NS_IMETHODIMP nsPrefBranch::Observe(nsISupports *aSubject, const char *aTopic, c } /* static */ -nsresult nsPrefBranch::NotifyObserver(const char *newpref, void *data) +void nsPrefBranch::NotifyObserver(const char *newpref, void *data) { PrefCallback *pCallback = (PrefCallback *)data; @@ -689,7 +689,7 @@ nsresult nsPrefBranch::NotifyObserver(const char *newpref, void *data) if (!observer) { // The observer has expired. Let's remove this callback. pCallback->GetPrefBranch()->RemoveExpiredCallback(pCallback); - return NS_OK; + return; } // remove any root this string may contain so as to not confuse the observer @@ -700,7 +700,6 @@ nsresult nsPrefBranch::NotifyObserver(const char *newpref, void *data) observer->Observe(static_cast(pCallback->GetPrefBranch()), NS_PREFBRANCH_PREFCHANGE_TOPIC_ID, NS_ConvertASCIItoUTF16(suffix).get()); - return NS_OK; } PLDHashOperator diff --git a/modules/libpref/src/nsPrefBranch.h b/modules/libpref/src/nsPrefBranch.h index b4f23447ae4a..6fe2bcab0cc3 100644 --- a/modules/libpref/src/nsPrefBranch.h +++ b/modules/libpref/src/nsPrefBranch.h @@ -3,6 +3,9 @@ * 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 nsPrefBranch_h +#define nsPrefBranch_h + #include "nsCOMPtr.h" #include "nsIObserver.h" #include "nsIPrefBranch.h" @@ -191,7 +194,7 @@ public: nsresult RemoveObserverFromMap(const char *aDomain, nsISupports *aObserver); - static nsresult NotifyObserver(const char *newpref, void *data); + static void NotifyObserver(const char *newpref, void *data); size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf); @@ -260,3 +263,5 @@ private: nsCOMPtr mFile; nsCString mRelativeToKey; }; + +#endif diff --git a/modules/libpref/src/prefapi.cpp b/modules/libpref/src/prefapi.cpp index 2de0a68a9078..cb743ede71d9 100644 --- a/modules/libpref/src/prefapi.cpp +++ b/modules/libpref/src/prefapi.cpp @@ -953,9 +953,7 @@ static nsresult pref_DoCallback(const char* changed_pref) node->domain, strlen(node->domain)) == 0 ) { - nsresult rv2 = (*node->func) (changed_pref, node->data); - if (NS_FAILED(rv2)) - rv = rv2; + (*node->func) (changed_pref, node->data); } } diff --git a/modules/libpref/src/prefapi.h b/modules/libpref/src/prefapi.h index 76c8f6ddaffc..9f71ef4a6651 100644 --- a/modules/libpref/src/prefapi.h +++ b/modules/libpref/src/prefapi.h @@ -154,7 +154,7 @@ nsresult PREF_ClearAllUserPrefs(); ** compilers were having problems with multiple definitions. */ #ifndef have_PrefChangedFunc_typedef -typedef nsresult (*PrefChangedFunc) (const char *, void *); +typedef void (*PrefChangedFunc) (const char *, void *); #define have_PrefChangedFunc_typedef #endif diff --git a/modules/libpref/src/prefapi_private_data.h b/modules/libpref/src/prefapi_private_data.h index 0a5f9b6f8bc0..c17d5a06e525 100644 --- a/modules/libpref/src/prefapi_private_data.h +++ b/modules/libpref/src/prefapi_private_data.h @@ -5,6 +5,9 @@ /* Data shared between prefapi.c and nsPref.cpp */ +#ifndef prefapi_private_data_h +#define prefapi_private_data_h + #include "mozilla/MemoryReporting.h" extern PLDHashTable gHashTable; @@ -42,3 +45,5 @@ void pref_GetPrefFromEntry(PrefHashEntry *aHashEntry, size_t pref_SizeOfPrivateData(mozilla::MallocSizeOf aMallocSizeOf); + +#endif