Bug 1722394 - Slim AccAttributes::AttrValueType by removing nsString. r=morgan

Differential Revision: https://phabricator.services.mozilla.com/D120897
This commit is contained in:
Eitan Isaacson 2021-07-26 21:38:48 +00:00
Родитель 511cbd050e
Коммит d0303f3525
2 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -23,7 +23,6 @@ void AccAttributes::StringFromValueAndName(nsAtom* aAttrName,
aValueString.Truncate(); aValueString.Truncate();
aValue.match( aValue.match(
[&aValueString](const nsString& val) { aValueString.Assign(val); },
[&aValueString](const bool& val) { [&aValueString](const bool& val) {
aValueString.Assign(val ? u"true" : u"false"); aValueString.Assign(val ? u"true" : u"false");
}, },

Просмотреть файл

@ -38,8 +38,8 @@ struct Color {
class AccAttributes { class AccAttributes {
friend struct IPC::ParamTraits<AccAttributes*>; friend struct IPC::ParamTraits<AccAttributes*>;
using AttrValueType = Variant<nsString, bool, float, int32_t, RefPtr<nsAtom>, using AttrValueType =
CSSCoord, FontSize, Color>; Variant<bool, float, int32_t, RefPtr<nsAtom>, CSSCoord, FontSize, Color>;
using AtomVariantMap = nsTHashMap<nsRefPtrHashKey<nsAtom>, AttrValueType>; using AtomVariantMap = nsTHashMap<nsRefPtrHashKey<nsAtom>, AttrValueType>;
protected: protected:
@ -60,7 +60,8 @@ class AccAttributes {
mData.InsertOrUpdate(aAttrName, AsVariant(RefPtr<nsAtom>(aAttrValue))); mData.InsertOrUpdate(aAttrName, AsVariant(RefPtr<nsAtom>(aAttrValue)));
} else if constexpr (std::is_base_of_v<nsAString, T> || } else if constexpr (std::is_base_of_v<nsAString, T> ||
std::is_base_of_v<nsLiteralString, T>) { std::is_base_of_v<nsLiteralString, T>) {
mData.InsertOrUpdate(aAttrName, AsVariant(nsString(aAttrValue))); RefPtr<nsAtom> atomValue = NS_Atomize(aAttrValue);
mData.InsertOrUpdate(aAttrName, AsVariant(atomValue));
} else { } else {
mData.InsertOrUpdate(aAttrName, AsVariant(aAttrValue)); mData.InsertOrUpdate(aAttrName, AsVariant(aAttrValue));
} }