Bug 1394578 - Move Pref::AssignPrefValueToDomPrefVAlue() to PrefValue::ToDomPrefValue(). r=glandium
It's a bit nicer that way.
MozReview-Commit-ID: HpVaxje7XIP
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -174,16 +174,36 @@ union PrefValue {
}
}
void Replace(PrefType aOldType, PrefType aNewType, PrefValue aNewValue)
{
Clear(aOldType);
Init(aNewType, aNewValue);
}
+
+ void ToDomPrefValue(PrefType aType, dom::PrefValue* aDomValue)
+ {
+ switch (aType) {
+ case PrefType::String:
+ *aDomValue = nsDependentCString(mStringVal);
+ return;
+
+ case PrefType::Int:
+ *aDomValue = mIntVal;
+ return;
+
+ case PrefType::Bool:
+ *aDomValue = mBoolVal;
+ return;
+
+ default:
+ MOZ_CRASH();
+ }
+ }
};
#ifdef DEBUG
const char*
PrefTypeToString(PrefType aType)
{
switch (aType) {
case PrefType::String:
@@ -374,56 +394,31 @@ public:
if (!stringVal) {
return NS_ERROR_UNEXPECTED;
}
aResult = stringVal;
return NS_OK;
}
-private:
- static void AssignPrefValueToDomPrefValue(PrefType aType,
- PrefValue* aValue,
- dom::PrefValue* aDomValue)
- {
- switch (aType) {
- case PrefType::String:
- *aDomValue = nsDependentCString(aValue->mStringVal);
- return;
-
- case PrefType::Int:
- *aDomValue = aValue->mIntVal;
- return;
-
- case PrefType::Bool:
- *aDomValue = !!aValue->mBoolVal;
- return;
-
- default:
- MOZ_CRASH();
- }
- }
-
-public:
void ToDomPref(dom::Pref* aDomPref)
{
aDomPref->name() = mName;
if (mHasDefaultValue) {
aDomPref->defaultValue() = dom::PrefValue();
- AssignPrefValueToDomPrefValue(
- Type(), &mDefaultValue, &aDomPref->defaultValue().get_PrefValue());
+ mDefaultValue.ToDomPrefValue(Type(),
+ &aDomPref->defaultValue().get_PrefValue());
} else {
aDomPref->defaultValue() = null_t();
}
if (mHasUserValue) {
aDomPref->userValue() = dom::PrefValue();
- AssignPrefValueToDomPrefValue(
- Type(), &mUserValue, &aDomPref->userValue().get_PrefValue());
+ mUserValue.ToDomPrefValue(Type(), &aDomPref->userValue().get_PrefValue());
} else {
aDomPref->userValue() = null_t();
}
MOZ_ASSERT(aDomPref->defaultValue().type() ==
dom::MaybePrefValue::Tnull_t ||
aDomPref->userValue().type() == dom::MaybePrefValue::Tnull_t ||
(aDomPref->defaultValue().get_PrefValue().type() ==