Bug 1328319 part 1 - Move nsCSSCounterStyleRule into a separate header file. r?heycam
MozReview-Commit-ID: Lm1GiKNsgI0
--- a/dom/bindings/Bindings.conf
+++ b/dom/bindings/Bindings.conf
@@ -190,17 +190,17 @@ DOMInterfaces = {
'CSSConditionRule': {
'concrete': False,
'nativeType': 'mozilla::css::ConditionRule',
'headerFile': 'mozilla/css/GroupRule.h',
},
'CSSCounterStyleRule': {
'nativeType': 'nsCSSCounterStyleRule',
- 'headerFile': 'nsCSSRules.h',
+ 'headerFile': 'nsCSSCounterStyleRule.h',
},
'CSSFontFaceRule': {
'nativeType': 'nsCSSFontFaceRule',
'headerFile': 'nsCSSFontFaceRule.h',
},
'CSSFontFeatureValuesRule': {
--- a/layout/style/CounterStyleManager.cpp
+++ b/layout/style/CounterStyleManager.cpp
@@ -7,17 +7,17 @@
#include "CounterStyleManager.h"
#include "mozilla/ArenaObjectID.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/CheckedInt.h"
#include "mozilla/MathAlgorithms.h"
#include "mozilla/Types.h"
#include "mozilla/WritingModes.h"
-#include "nsCSSRules.h"
+#include "nsCSSCounterStyleRule.h"
#include "nsString.h"
#include "nsStyleSet.h"
#include "nsTArray.h"
#include "nsTHashtable.h"
#include "nsUnicodeProperties.h"
#include "mozilla/StyleSetHandle.h"
#include "mozilla/StyleSetHandleInlines.h"
--- a/layout/style/moz.build
+++ b/layout/style/moz.build
@@ -26,16 +26,17 @@ EXPORTS += [
'!nsStyleStructList.h',
'AnimationCommon.h',
'CounterStyleManager.h',
'nsAnimationManager.h',
'nsComputedDOMStylePropertyList.h',
'nsCSSAnonBoxes.h',
'nsCSSAnonBoxList.h',
'nsCSSCounterDescList.h',
+ 'nsCSSCounterStyleRule.h',
'nsCSSFontDescList.h',
'nsCSSFontFaceRule.h',
'nsCSSKeywordList.h',
'nsCSSKeywords.h',
'nsCSSParser.h',
'nsCSSPropAliasList.h',
'nsCSSPropertyID.h',
'nsCSSPropertyIDSet.h',
new file mode 100644
--- /dev/null
+++ b/layout/style/nsCSSCounterStyleRule.h
@@ -0,0 +1,110 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef nsCSSCounterStyleRule_h
+#define nsCSSCounterStyleRule_h
+
+#include "mozilla/css/Rule.h"
+#include "nsCSSValue.h"
+#include "nsIDOMCSSCounterStyleRule.h"
+
+class nsCSSCounterStyleRule final : public mozilla::css::Rule,
+ public nsIDOMCSSCounterStyleRule
+{
+public:
+ explicit nsCSSCounterStyleRule(nsIAtom* aName,
+ uint32_t aLineNumber, uint32_t aColumnNumber)
+ : mozilla::css::Rule(aLineNumber, aColumnNumber)
+ , mName(aName)
+ , mGeneration(0)
+ {
+ MOZ_ASSERT(aName, "Must have non-null name");
+ }
+
+private:
+ nsCSSCounterStyleRule(const nsCSSCounterStyleRule& aCopy);
+ ~nsCSSCounterStyleRule();
+
+public:
+ NS_DECL_ISUPPORTS_INHERITED
+ virtual bool IsCCLeaf() const override;
+
+#ifdef DEBUG
+ virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override;
+#endif
+ virtual int32_t GetType() const override;
+ using Rule::GetType;
+ virtual already_AddRefed<mozilla::css::Rule> Clone() const override;
+
+ // nsIDOMCSSCounterStyleRule
+ NS_DECL_NSIDOMCSSCOUNTERSTYLERULE
+
+ // WebIDL interface
+ uint16_t Type() const override;
+ void GetCssTextImpl(nsAString& aCssText) const override;
+ // The XPCOM GetName is OK
+ // The XPCOM SetName is OK
+ // The XPCOM GetSystem is OK
+ // The XPCOM SetSystem is OK
+ // The XPCOM GetSymbols is OK
+ // The XPCOM SetSymbols is OK
+ // The XPCOM GetAdditiveSymbols is OK
+ // The XPCOM SetAdditiveSymbols is OK
+ // The XPCOM GetNegative is OK
+ // The XPCOM SetNegative is OK
+ // The XPCOM GetPrefix is OK
+ // The XPCOM SetPrefix is OK
+ // The XPCOM GetSuffix is OK
+ // The XPCOM SetSuffix is OK
+ // The XPCOM GetRange is OK
+ // The XPCOM SetRange is OK
+ // The XPCOM GetPad is OK
+ // The XPCOM SetPad is OK
+ // The XPCOM GetSpeakAs is OK
+ // The XPCOM SetSpeakAs is OK
+ // The XPCOM GetFallback is OK
+ // The XPCOM SetFallback is OK
+
+ // This function is only used to check whether a non-empty value, which has
+ // been accepted by parser, is valid for the given system and descriptor.
+ static bool CheckDescValue(int32_t aSystem,
+ nsCSSCounterDesc aDescID,
+ const nsCSSValue& aValue);
+
+ nsIAtom* Name() const { return mName; }
+
+ uint32_t GetGeneration() const { return mGeneration; }
+
+ int32_t GetSystem() const;
+ const nsCSSValue& GetSystemArgument() const;
+
+ const nsCSSValue& GetDesc(nsCSSCounterDesc aDescID) const
+ {
+ MOZ_ASSERT(aDescID >= 0 && aDescID < eCSSCounterDesc_COUNT,
+ "descriptor ID out of range");
+ return mValues[aDescID];
+ }
+
+ void SetDesc(nsCSSCounterDesc aDescID, const nsCSSValue& aValue);
+
+ virtual size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const override;
+
+ virtual JSObject* WrapObject(JSContext* aCx,
+ JS::Handle<JSObject*> aGivenProto) override;
+
+private:
+ typedef decltype(&nsCSSCounterStyleRule::GetSymbols) Getter;
+ static const Getter kGetters[];
+
+ nsresult GetDescriptor(nsCSSCounterDesc aDescID, nsAString& aValue);
+ nsresult SetDescriptor(nsCSSCounterDesc aDescID, const nsAString& aValue);
+
+ nsCOMPtr<nsIAtom> mName;
+ nsCSSValue mValues[eCSSCounterDesc_COUNT];
+ uint32_t mGeneration;
+};
+
+#endif // nsCSSCounterStyleRule_h
--- a/layout/style/nsCSSParser.cpp
+++ b/layout/style/nsCSSParser.cpp
@@ -25,16 +25,17 @@
#include "nsCSSKeywords.h"
#include "nsCSSScanner.h"
#include "mozilla/css/ErrorReporter.h"
#include "mozilla/css/Loader.h"
#include "mozilla/css/StyleRule.h"
#include "mozilla/css/ImportRule.h"
#include "mozilla/css/URLMatchingFunction.h"
#include "nsCSSRules.h"
+#include "nsCSSCounterStyleRule.h"
#include "nsCSSFontFaceRule.h"
#include "mozilla/css/NameSpaceRule.h"
#include "nsTArray.h"
#include "mozilla/StyleSheetInlines.h"
#include "mozilla/css/Declaration.h"
#include "nsStyleConsts.h"
#include "nsNetUtil.h"
#include "nsCOMPtr.h"
--- a/layout/style/nsCSSRuleProcessor.cpp
+++ b/layout/style/nsCSSRuleProcessor.cpp
@@ -35,16 +35,17 @@
#include "nsQuickSort.h"
#include "nsAttrValue.h"
#include "nsAttrValueInlines.h"
#include "nsAttrName.h"
#include "nsTArray.h"
#include "nsContentUtils.h"
#include "nsMediaList.h"
#include "nsCSSRules.h"
+#include "nsCSSCounterStyleRule.h"
#include "nsCSSFontFaceRule.h"
#include "nsStyleSet.h"
#include "mozilla/dom/Element.h"
#include "nsNthIndexCache.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/EventStates.h"
#include "mozilla/Preferences.h"
#include "mozilla/ServoStyleSet.h"
--- a/layout/style/nsCSSRules.cpp
+++ b/layout/style/nsCSSRules.cpp
@@ -1,16 +1,17 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* rules in a CSS stylesheet other than style rules (e.g., @import rules) */
#include "nsCSSRules.h"
+#include "nsCSSCounterStyleRule.h"
#include "nsCSSFontFaceRule.h"
#include "mozilla/Attributes.h"
#include "nsCSSValue.h"
#include "mozilla/StyleSheetInlines.h"
#include "mozilla/MemoryReporting.h"
#include "mozilla/css/ImportRule.h"
--- a/layout/style/nsCSSRules.h
+++ b/layout/style/nsCSSRules.h
@@ -22,17 +22,16 @@
#include "mozilla/dom/CSSPageRule.h"
#include "mozilla/dom/CSSSupportsRule.h"
#include "mozilla/dom/CSSMozDocumentRule.h"
#include "nsAutoPtr.h"
#include "nsCSSPropertyID.h"
#include "nsCSSValue.h"
#include "nsDOMCSSDeclaration.h"
#include "nsIDOMCSSConditionRule.h"
-#include "nsIDOMCSSCounterStyleRule.h"
#include "nsIDOMCSSFontFeatureValuesRule.h"
#include "nsIDOMCSSGroupingRule.h"
#include "nsIDOMCSSMozDocumentRule.h"
#include "nsIDOMCSSSupportsRule.h"
#include "nsIDOMCSSKeyframeRule.h"
#include "nsIDOMCSSKeyframesRule.h"
#include "nsTArray.h"
@@ -463,105 +462,9 @@ protected:
virtual ~CSSSupportsRule();
bool mUseGroup;
nsString mCondition;
};
} // namespace mozilla
-class nsCSSCounterStyleRule final : public mozilla::css::Rule,
- public nsIDOMCSSCounterStyleRule
-{
-public:
- explicit nsCSSCounterStyleRule(nsIAtom* aName,
- uint32_t aLineNumber, uint32_t aColumnNumber)
- : mozilla::css::Rule(aLineNumber, aColumnNumber)
- , mName(aName)
- , mGeneration(0)
- {
- MOZ_ASSERT(aName, "Must have non-null name");
- }
-
-private:
- nsCSSCounterStyleRule(const nsCSSCounterStyleRule& aCopy);
- ~nsCSSCounterStyleRule();
-
-public:
- NS_DECL_ISUPPORTS_INHERITED
- virtual bool IsCCLeaf() const override;
-
-#ifdef DEBUG
- virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override;
-#endif
- virtual int32_t GetType() const override;
- using Rule::GetType;
- virtual already_AddRefed<mozilla::css::Rule> Clone() const override;
-
- // nsIDOMCSSCounterStyleRule
- NS_DECL_NSIDOMCSSCOUNTERSTYLERULE
-
- // WebIDL interface
- uint16_t Type() const override;
- void GetCssTextImpl(nsAString& aCssText) const override;
- // The XPCOM GetName is OK
- // The XPCOM SetName is OK
- // The XPCOM GetSystem is OK
- // The XPCOM SetSystem is OK
- // The XPCOM GetSymbols is OK
- // The XPCOM SetSymbols is OK
- // The XPCOM GetAdditiveSymbols is OK
- // The XPCOM SetAdditiveSymbols is OK
- // The XPCOM GetNegative is OK
- // The XPCOM SetNegative is OK
- // The XPCOM GetPrefix is OK
- // The XPCOM SetPrefix is OK
- // The XPCOM GetSuffix is OK
- // The XPCOM SetSuffix is OK
- // The XPCOM GetRange is OK
- // The XPCOM SetRange is OK
- // The XPCOM GetPad is OK
- // The XPCOM SetPad is OK
- // The XPCOM GetSpeakAs is OK
- // The XPCOM SetSpeakAs is OK
- // The XPCOM GetFallback is OK
- // The XPCOM SetFallback is OK
-
- // This function is only used to check whether a non-empty value, which has
- // been accepted by parser, is valid for the given system and descriptor.
- static bool CheckDescValue(int32_t aSystem,
- nsCSSCounterDesc aDescID,
- const nsCSSValue& aValue);
-
- nsIAtom* Name() const { return mName; }
-
- uint32_t GetGeneration() const { return mGeneration; }
-
- int32_t GetSystem() const;
- const nsCSSValue& GetSystemArgument() const;
-
- const nsCSSValue& GetDesc(nsCSSCounterDesc aDescID) const
- {
- MOZ_ASSERT(aDescID >= 0 && aDescID < eCSSCounterDesc_COUNT,
- "descriptor ID out of range");
- return mValues[aDescID];
- }
-
- void SetDesc(nsCSSCounterDesc aDescID, const nsCSSValue& aValue);
-
- virtual size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const override;
-
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
-
-private:
- typedef decltype(&nsCSSCounterStyleRule::GetSymbols) Getter;
- static const Getter kGetters[];
-
- nsresult GetDescriptor(nsCSSCounterDesc aDescID, nsAString& aValue);
- nsresult SetDescriptor(nsCSSCounterDesc aDescID, const nsAString& aValue);
-
- nsCOMPtr<nsIAtom> mName;
- nsCSSValue mValues[eCSSCounterDesc_COUNT];
- uint32_t mGeneration;
-};
-
#endif /* !defined(nsCSSRules_h_) */