Issue #2490 - Part 1: Make all CSS rules cycle-collected.

This commit is contained in:
Moonchild 2024-03-29 18:18:36 +01:00 committed by roytam1
commit d6ec56a4c4
11 changed files with 237 additions and 85 deletions

View file

@ -248,9 +248,9 @@ public:
// copy everything except our reference count
: mozilla::css::Rule(aCopy), mDecl(aCopy.mDecl) {}
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_AMBIGUOUS(nsCSSFontFaceRule,
mozilla::css::Rule)
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(nsCSSFontFaceRule, mozilla::css::Rule)
virtual bool IsCCLeaf() const override;
// Rule methods
DECL_STYLE_RULE_INHERIT
@ -315,7 +315,8 @@ public:
mFamilyList(aCopy.mFamilyList),
mFeatureValues(aCopy.mFeatureValues) {}
NS_DECL_ISUPPORTS
NS_DECL_ISUPPORTS_INHERITED
virtual bool IsCCLeaf() const override;
// Rule methods
DECL_STYLE_RULE_INHERIT
@ -398,8 +399,9 @@ private:
nsCSSKeyframeRule(const nsCSSKeyframeRule& aCopy);
~nsCSSKeyframeRule();
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsCSSKeyframeRule, mozilla::css::Rule)
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsCSSKeyframeRule, mozilla::css::Rule)
virtual bool IsCCLeaf() const override;
// Rule methods
DECL_STYLE_RULE_INHERIT
@ -526,8 +528,9 @@ private:
nsCSSPageRule(const nsCSSPageRule& aCopy);
~nsCSSPageRule();
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsCSSPageRule, nsIDOMCSSPageRule)
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsCSSPageRule, mozilla::css::Rule)
virtual bool IsCCLeaf() const override;
// Rule methods
DECL_STYLE_RULE_INHERIT
@ -623,7 +626,8 @@ private:
~nsCSSCounterStyleRule();
public:
NS_DECL_ISUPPORTS
NS_DECL_ISUPPORTS_INHERITED
virtual bool IsCCLeaf() const override;
// Rule methods
DECL_STYLE_RULE_INHERIT