From 06b5070af0de02c8b48bcd1c1eb75c8d4ed6d140 Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Tue, 29 Aug 2017 15:21:36 +1000 Subject: [PATCH] Bug 1393189 part 2 - Have CounterStyle::GetStyleName return nsIAtom and make it const. r=dholbert MozReview-Commit-ID: KmnQSK7ZvND --HG-- extra : rebase_source : e47fc3d41f16f18f7182bf561d8da7249fd27bc5 --- layout/style/CounterStyleManager.cpp | 27 +++++++++++---------------- layout/style/CounterStyleManager.h | 4 ++-- layout/style/ServoBindings.cpp | 3 ++- layout/style/nsComputedDOMStyle.cpp | 3 +-- 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/layout/style/CounterStyleManager.cpp b/layout/style/CounterStyleManager.cpp index 973dc9cd5b2a..f9449880dc7e 100644 --- a/layout/style/CounterStyleManager.cpp +++ b/layout/style/CounterStyleManager.cpp @@ -581,7 +581,7 @@ public: { } - virtual void GetStyleName(nsAString& aResult) override; + virtual nsIAtom* GetStyleName() const final; virtual void GetPrefix(nsAString& aResult) override; virtual void GetSuffix(nsAString& aResult) override; virtual void GetSpokenCounterText(CounterValue aOrdinal, @@ -618,14 +618,10 @@ private: nsIAtom** const mName; }; -/* virtual */ void -BuiltinCounterStyle::GetStyleName(nsAString& aResult) +/* virtual */ nsIAtom* +BuiltinCounterStyle::GetStyleName() const { - MOZ_ASSERT(mStyle != NS_STYLE_LIST_STYLE_CUSTOM); - const nsCString& str = - nsCSSProps::ValueToKeyword(mStyle, nsCSSProps::kListStyleKTable); - MOZ_ASSERT(!str.IsEmpty()); - aResult.Assign(NS_ConvertUTF8toUTF16(str)); + return *mName; } /* virtual */ void @@ -1076,7 +1072,7 @@ public: nsCSSCounterStyleRule* GetRule() const { return mRule; } uint32_t GetRuleGeneration() const { return mRuleGeneration; } - virtual void GetStyleName(nsAString& aResult) override; + virtual nsIAtom* GetStyleName() const override; virtual void GetPrefix(nsAString& aResult) override; virtual void GetSuffix(nsAString& aResult) override; virtual void GetSpokenCounterText(CounterValue aOrdinal, @@ -1233,11 +1229,10 @@ CustomCounterStyle::ResetDependentData() } } -/* virtual */ void -CustomCounterStyle::GetStyleName(nsAString& aResult) +/* virtual */ nsIAtom* +CustomCounterStyle::GetStyleName() const { - nsDependentAtomString name(mName); - aResult.Assign(name); + return mName; } /* virtual */ void @@ -1757,10 +1752,10 @@ AnonymousCounterStyle::AnonymousCounterStyle(uint8_t aSystem, { } -/* virtual */ void -AnonymousCounterStyle::GetStyleName(nsAString& aResult) +/* virtual */ nsIAtom* +AnonymousCounterStyle::GetStyleName() const { - aResult.Truncate(); + return nullptr; } /* virtual */ void diff --git a/layout/style/CounterStyleManager.h b/layout/style/CounterStyleManager.h index 0d293b92a58b..0107613f869b 100644 --- a/layout/style/CounterStyleManager.h +++ b/layout/style/CounterStyleManager.h @@ -52,7 +52,7 @@ public: // styles are dependent for fallback. bool IsDependentStyle() const; - virtual void GetStyleName(nsAString& aResult) = 0; + virtual nsIAtom* GetStyleName() const = 0; virtual void GetPrefix(nsAString& aResult) = 0; virtual void GetSuffix(nsAString& aResult) = 0; void GetCounterText(CounterValue aOrdinal, @@ -108,7 +108,7 @@ public: AnonymousCounterStyle(uint8_t aSystem, nsTArray aSymbols); explicit AnonymousCounterStyle(const nsCSSValue::Array* aValue); - virtual void GetStyleName(nsAString& aResult) override; + virtual nsIAtom* GetStyleName() const override; virtual void GetPrefix(nsAString& aResult) override; virtual void GetSuffix(nsAString& aResult) override; virtual bool IsBullet() override; diff --git a/layout/style/ServoBindings.cpp b/layout/style/ServoBindings.cpp index 65c56f616d1d..2859c2448ed7 100644 --- a/layout/style/ServoBindings.cpp +++ b/layout/style/ServoBindings.cpp @@ -1468,7 +1468,8 @@ void Gecko_CounterStyle_GetName(const CounterStylePtr* aPtr, nsAString* aResult) { MOZ_ASSERT(Gecko_CounterStyle_IsName(aPtr)); - (*aPtr)->GetStyleName(*aResult); + nsIAtom* name = (*aPtr)->GetStyleName(); + *aResult = nsDependentAtomString(name); } const nsTArray& diff --git a/layout/style/nsComputedDOMStyle.cpp b/layout/style/nsComputedDOMStyle.cpp index 6d4e3de5f5c1..4ef9f55e4da5 100644 --- a/layout/style/nsComputedDOMStyle.cpp +++ b/layout/style/nsComputedDOMStyle.cpp @@ -1325,8 +1325,7 @@ AppendCounterStyle(CounterStyle* aStyle, nsAString& aString) AnonymousCounterStyle* anonymous = aStyle->AsAnonymous(); if (!anonymous) { // want SetIdent - nsString type; - aStyle->GetStyleName(type); + nsDependentAtomString type(aStyle->GetStyleName()); nsStyleUtil::AppendEscapedCSSIdent(type, aString); } else if (anonymous->IsSingleString()) { const nsTArray& symbols = anonymous->GetSymbols();