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();
aValue.match(
[&aValueString](const nsString& val) { aValueString.Assign(val); },
[&aValueString](const bool& val) {
aValueString.Assign(val ? u"true" : u"false");
},

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

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