Bug 1536163 - Part 2 - use native Maybe syntax in place of MaybePrefValue in IPDL; r=mccr8
This commit is contained in:
@@ -276,31 +276,31 @@ union PrefValue {
|
||||
}
|
||||
|
||||
static char* Deserialize(PrefType aType, char* aStr,
|
||||
dom::MaybePrefValue* aDomValue) {
|
||||
Maybe<dom::PrefValue>* aDomValue) {
|
||||
char* p = aStr;
|
||||
|
||||
switch (aType) {
|
||||
case PrefType::Bool:
|
||||
if (*p == 'T') {
|
||||
*aDomValue = true;
|
||||
*aDomValue = Some(true);
|
||||
} else if (*p == 'F') {
|
||||
*aDomValue = false;
|
||||
*aDomValue = Some(false);
|
||||
} else {
|
||||
*aDomValue = false;
|
||||
*aDomValue = Some(false);
|
||||
NS_ERROR("bad bool pref value");
|
||||
}
|
||||
p++;
|
||||
return p;
|
||||
|
||||
case PrefType::Int: {
|
||||
*aDomValue = int32_t(strtol(p, &p, 10));
|
||||
*aDomValue = Some(int32_t(strtol(p, &p, 10)));
|
||||
return p;
|
||||
}
|
||||
|
||||
case PrefType::String: {
|
||||
nsCString str;
|
||||
p = DeserializeString(p, str);
|
||||
*aDomValue = str;
|
||||
*aDomValue = Some(str);
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -533,25 +533,23 @@ class Pref {
|
||||
aDomPref->isLocked() = mIsLocked;
|
||||
|
||||
if (mHasDefaultValue) {
|
||||
aDomPref->defaultValue() = dom::PrefValue();
|
||||
mDefaultValue.ToDomPrefValue(Type(),
|
||||
&aDomPref->defaultValue().get_PrefValue());
|
||||
aDomPref->defaultValue() = Some(dom::PrefValue());
|
||||
mDefaultValue.ToDomPrefValue(Type(), &aDomPref->defaultValue().ref());
|
||||
} else {
|
||||
aDomPref->defaultValue() = null_t();
|
||||
aDomPref->defaultValue() = Nothing();
|
||||
}
|
||||
|
||||
if (mHasUserValue) {
|
||||
aDomPref->userValue() = dom::PrefValue();
|
||||
mUserValue.ToDomPrefValue(Type(), &aDomPref->userValue().get_PrefValue());
|
||||
aDomPref->userValue() = Some(dom::PrefValue());
|
||||
mUserValue.ToDomPrefValue(Type(), &aDomPref->userValue().ref());
|
||||
} else {
|
||||
aDomPref->userValue() = null_t();
|
||||
aDomPref->userValue() = Nothing();
|
||||
}
|
||||
|
||||
MOZ_ASSERT(aDomPref->defaultValue().type() ==
|
||||
dom::MaybePrefValue::Tnull_t ||
|
||||
aDomPref->userValue().type() == dom::MaybePrefValue::Tnull_t ||
|
||||
(aDomPref->defaultValue().get_PrefValue().type() ==
|
||||
aDomPref->userValue().get_PrefValue().type()));
|
||||
MOZ_ASSERT(aDomPref->defaultValue().isNothing() ||
|
||||
aDomPref->userValue().isNothing() ||
|
||||
(aDomPref->defaultValue().ref().type() ==
|
||||
aDomPref->userValue().ref().type()));
|
||||
}
|
||||
|
||||
void FromDomPref(const dom::Pref& aDomPref, bool* aValueChanged) {
|
||||
@@ -560,11 +558,11 @@ class Pref {
|
||||
|
||||
mIsLocked = aDomPref.isLocked();
|
||||
|
||||
const dom::MaybePrefValue& defaultValue = aDomPref.defaultValue();
|
||||
const Maybe<dom::PrefValue>& defaultValue = aDomPref.defaultValue();
|
||||
bool defaultValueChanged = false;
|
||||
if (defaultValue.type() == dom::MaybePrefValue::TPrefValue) {
|
||||
if (defaultValue.isSome()) {
|
||||
PrefValue value;
|
||||
PrefType type = value.FromDomPrefValue(defaultValue.get_PrefValue());
|
||||
PrefType type = value.FromDomPrefValue(defaultValue.ref());
|
||||
if (!ValueMatches(PrefValueKind::Default, type, value)) {
|
||||
// Type() is PrefType::None if it's a newly added pref. This is ok.
|
||||
mDefaultValue.Replace(mHasDefaultValue, Type(), type, value);
|
||||
@@ -575,11 +573,11 @@ class Pref {
|
||||
}
|
||||
// Note: we never clear a default value.
|
||||
|
||||
const dom::MaybePrefValue& userValue = aDomPref.userValue();
|
||||
const Maybe<dom::PrefValue>& userValue = aDomPref.userValue();
|
||||
bool userValueChanged = false;
|
||||
if (userValue.type() == dom::MaybePrefValue::TPrefValue) {
|
||||
if (userValue.isSome()) {
|
||||
PrefValue value;
|
||||
PrefType type = value.FromDomPrefValue(userValue.get_PrefValue());
|
||||
PrefType type = value.FromDomPrefValue(userValue.ref());
|
||||
if (!ValueMatches(PrefValueKind::User, type, value)) {
|
||||
// Type() is PrefType::None if it's a newly added pref. This is ok.
|
||||
mUserValue.Replace(mHasUserValue, Type(), type, value);
|
||||
@@ -831,7 +829,7 @@ class Pref {
|
||||
MOZ_ASSERT(*p == ':');
|
||||
p++; // move past the ':' preceding the default value
|
||||
|
||||
dom::MaybePrefValue maybeDefaultValue;
|
||||
Maybe<dom::PrefValue> maybeDefaultValue;
|
||||
if (*p != ':') {
|
||||
dom::PrefValue defaultValue;
|
||||
p = PrefValue::Deserialize(type, p, &maybeDefaultValue);
|
||||
@@ -840,7 +838,7 @@ class Pref {
|
||||
MOZ_ASSERT(*p == ':');
|
||||
p++; // move past the ':' between the default and user values
|
||||
|
||||
dom::MaybePrefValue maybeUserValue;
|
||||
Maybe<dom::PrefValue> maybeUserValue;
|
||||
if (*p != '\n') {
|
||||
dom::PrefValue userValue;
|
||||
p = PrefValue::Deserialize(type, p, &maybeUserValue);
|
||||
|
||||
Reference in New Issue
Block a user