From bb2aaeac9f046c23e0b1e0ab858a1e08cd4f9d58 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Sat, 30 Mar 2024 22:32:33 +0100 Subject: [PATCH] Issue #2490 - Part 8: Get rid of css::Rule::GetDOMRule. --- dom/base/nsDocument.cpp | 8 +++--- layout/inspector/inDOMUtils.cpp | 10 +++----- layout/style/CSSStyleSheet.cpp | 9 ++----- layout/style/GroupRule.h | 2 -- layout/style/ImportRule.h | 2 -- layout/style/NameSpaceRule.h | 2 -- layout/style/Rule.h | 11 --------- layout/style/StyleRule.cpp | 8 +----- layout/style/StyleRule.h | 2 -- layout/style/nsCSSRules.cpp | 44 ++++++--------------------------- layout/style/nsCSSRules.h | 26 ------------------- 11 files changed, 17 insertions(+), 107 deletions(-) diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp index 5f1d3a30c0..0c6950e422 100644 --- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -4940,7 +4940,7 @@ nsDocument::StyleRuleChanged(StyleSheet* aSheet, DO_STYLESHEET_NOTIFICATION(StyleRuleChangeEvent, "StyleRuleChanged", mRule, - aStyleRule ? aStyleRule->GetDOMRule() : nullptr); + aStyleRule); } } @@ -4954,8 +4954,7 @@ nsDocument::StyleRuleAdded(StyleSheet* aSheet, DO_STYLESHEET_NOTIFICATION(StyleRuleChangeEvent, "StyleRuleAdded", mRule, - aStyleRule ? aStyleRule->GetDOMRule() - : nullptr); + aStyleRule); } } @@ -4969,8 +4968,7 @@ nsDocument::StyleRuleRemoved(StyleSheet* aSheet, DO_STYLESHEET_NOTIFICATION(StyleRuleChangeEvent, "StyleRuleRemoved", mRule, - aStyleRule ? aStyleRule->GetDOMRule() - : nullptr); + aStyleRule); } } diff --git a/layout/inspector/inDOMUtils.cpp b/layout/inspector/inDOMUtils.cpp index 5e0cb208a8..fdae4543ed 100644 --- a/layout/inspector/inDOMUtils.cpp +++ b/layout/inspector/inDOMUtils.cpp @@ -248,13 +248,9 @@ inDOMUtils::GetCSSStyleRules(nsIDOMElement *aElement, for (nsRuleNode* ruleNode : Reversed(ruleNodes)) { RefPtr decl = do_QueryObject(ruleNode->GetRule()); if (decl) { - RefPtr styleRule = - do_QueryObject(decl->GetOwningRule()); - if (styleRule) { - nsCOMPtr domRule = styleRule->GetDOMRule(); - if (domRule) { - rules->AppendElement(domRule, /*weak =*/ false); - } + css::Rule* owningRule = decl->GetOwningRule(); + if (owningRule) { + rules->AppendElement(owningRule, /*weak =*/ false); } } } diff --git a/layout/style/CSSStyleSheet.cpp b/layout/style/CSSStyleSheet.cpp index bca4820e2e..1a3944fdb4 100644 --- a/layout/style/CSSStyleSheet.cpp +++ b/layout/style/CSSStyleSheet.cpp @@ -112,7 +112,7 @@ CSSRuleListImpl::IndexedGetter(uint32_t aIndex, bool& aFound) css::Rule* rule = mStyleSheet->GetStyleRuleAt(aIndex); if (rule) { aFound = true; - return rule->GetDOMRule(); + return rule; } } @@ -1651,7 +1651,7 @@ CSSStyleSheet::Media() nsIDOMCSSRule* CSSStyleSheet::GetDOMOwnerRule() const { - return mOwnerRule ? mOwnerRule->GetDOMRule() : nullptr; + return mOwnerRule; } CSSRuleList* @@ -1814,11 +1814,6 @@ CSSStyleSheet::DeleteRuleInternal(uint32_t aIndex, ErrorResult& aRv) RefPtr rule = mInner->mOrderedRules.ObjectAt(aIndex); if (rule) { mInner->mOrderedRules.RemoveObjectAt(aIndex); - if (mDocument && mDocument->StyleSheetChangeEventsEnabled()) { - // Force creation of the DOM rule, so that it can be put on the - // StyleRuleRemoved event object. - rule->GetDOMRule(); - } rule->SetStyleSheet(nullptr); DidDirty(); diff --git a/layout/style/GroupRule.h b/layout/style/GroupRule.h index fe348e8bad..dae429d663 100644 --- a/layout/style/GroupRule.h +++ b/layout/style/GroupRule.h @@ -42,8 +42,6 @@ public: NS_DECL_ISUPPORTS_INHERITED virtual bool IsCCLeaf() const override; - // implement part of Rule - DECL_STYLE_RULE_INHERIT_NO_DOMRULE #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif diff --git a/layout/style/ImportRule.h b/layout/style/ImportRule.h index 3e02f91939..dd12e65b3c 100644 --- a/layout/style/ImportRule.h +++ b/layout/style/ImportRule.h @@ -38,8 +38,6 @@ public: NS_DECL_ISUPPORTS_INHERITED virtual bool IsCCLeaf() const override; - DECL_STYLE_RULE_INHERIT - #ifdef HAVE_CPP_AMBIGUITY_RESOLVING_USING using Rule::GetStyleSheet; // unhide since nsIDOMCSSImportRule has its own GetStyleSheet #endif diff --git a/layout/style/NameSpaceRule.h b/layout/style/NameSpaceRule.h index c78cb108da..06848b0bb1 100644 --- a/layout/style/NameSpaceRule.h +++ b/layout/style/NameSpaceRule.h @@ -39,8 +39,6 @@ public: NS_DECL_ISUPPORTS_INHERITED virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif diff --git a/layout/style/Rule.h b/layout/style/Rule.h index 08589a57bd..00082c1e2c 100644 --- a/layout/style/Rule.h +++ b/layout/style/Rule.h @@ -23,13 +23,6 @@ namespace mozilla { namespace css { class GroupRule; -#define DECL_STYLE_RULE_INHERIT_NO_DOMRULE \ - /* nothing */ - -#define DECL_STYLE_RULE_INHERIT \ - DECL_STYLE_RULE_INHERIT_NO_DOMRULE \ - virtual nsIDOMCSSRule* GetDOMRule() override; - class Rule : public nsIDOMCSSRule , public nsWrapperCache { @@ -117,10 +110,6 @@ public: */ virtual already_AddRefed Clone() const = 0; - // Note that this returns null for inline style rules since they aren't - // supposed to have a DOM rule representation (and our code wouldn't work). - virtual nsIDOMCSSRule* GetDOMRule() = 0; - // This is pure virtual because all of Rule's data members are non-owning and // thus measured elsewhere. virtual size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) diff --git a/layout/style/StyleRule.cpp b/layout/style/StyleRule.cpp index b04794c34b..cf5952a650 100644 --- a/layout/style/StyleRule.cpp +++ b/layout/style/StyleRule.cpp @@ -1186,7 +1186,7 @@ DOMCSSDeclarationImpl::GetParentRule(nsIDOMCSSRule **aParent) { NS_ENSURE_ARG_POINTER(aParent); - NS_IF_ADDREF(*aParent = mRule->GetDOMRule()); + NS_IF_ADDREF(*aParent = mRule); return NS_OK; } @@ -1355,12 +1355,6 @@ StyleRule::Clone() const return clone.forget(); } -/* virtual */ nsIDOMCSSRule* -StyleRule::GetDOMRule() -{ - return this; -} - void StyleRule::SetDeclaration(Declaration* aDecl) { diff --git a/layout/style/StyleRule.h b/layout/style/StyleRule.h index 2e74d16e86..55ec693a38 100644 --- a/layout/style/StyleRule.h +++ b/layout/style/StyleRule.h @@ -363,8 +363,6 @@ public: virtual already_AddRefed Clone() const override; - virtual nsIDOMCSSRule* GetDOMRule() override; - #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif diff --git a/layout/style/nsCSSRules.cpp b/layout/style/nsCSSRules.cpp index 7ba72623f8..ff0b33eb25 100644 --- a/layout/style/nsCSSRules.cpp +++ b/layout/style/nsCSSRules.cpp @@ -43,13 +43,6 @@ using namespace mozilla; using namespace mozilla::dom; -#define IMPL_STYLE_RULE_INHERIT_GET_DOM_RULE_WEAK(class_, super_) \ - /* virtual */ nsIDOMCSSRule* class_::GetDOMRule() \ - { return this; } - -#define IMPL_STYLE_RULE_INHERIT(class_, super_) \ -IMPL_STYLE_RULE_INHERIT_GET_DOM_RULE_WEAK(class_, super_) - // base class for all rule types in a CSS style sheet namespace mozilla { @@ -119,11 +112,7 @@ Rule::SetStyleSheet(CSSStyleSheet* aSheet) NS_IMETHODIMP Rule::GetParentRule(nsIDOMCSSRule** aParentRule) { - if (mParentRule) { - NS_IF_ADDREF(*aParentRule = mParentRule->GetDOMRule()); - } else { - *aParentRule = nullptr; - } + NS_IF_ADDREF(*aParentRule = mParentRule); return NS_OK; } @@ -229,7 +218,7 @@ GroupRuleRuleList::IndexedGetter(uint32_t aIndex, bool& aFound) RefPtr rule = mGroupRule->GetStyleRuleAt(aIndex); if (rule) { aFound = true; - return rule->GetDOMRule(); + return rule; } } @@ -291,8 +280,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(ImportRule) NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSImportRule) NS_INTERFACE_MAP_END_INHERITING(Rule) -IMPL_STYLE_RULE_INHERIT(ImportRule, Rule) - NS_IMPL_CYCLE_COLLECTION_CLASS(ImportRule) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ImportRule) @@ -591,14 +578,11 @@ GroupRule::AppendRulesToCssText(nsAString& aCssText) const // get all the rules for (int32_t index = 0, count = mRules.Count(); index < count; ++index) { Rule* rule = mRules.ObjectAt(index); - nsIDOMCSSRule* domRule = rule->GetDOMRule(); - if (domRule) { - nsAutoString cssText; - domRule->GetCssText(cssText); - aCssText.AppendLiteral(" "); - aCssText.Append(cssText); - aCssText.Append('\n'); - } + nsAutoString cssText; + rule->GetCssText(cssText); + aCssText.AppendLiteral(" "); + aCssText.Append(cssText); + aCssText.Append('\n'); } aCssText.Append('}'); @@ -1156,8 +1140,6 @@ NameSpaceRule::IsCCLeaf() const return Rule::IsCCLeaf(); } -IMPL_STYLE_RULE_INHERIT(NameSpaceRule, Rule) - #ifdef DEBUG /* virtual */ void NameSpaceRule::List(FILE* out, int32_t aIndent) const @@ -1505,7 +1487,7 @@ nsCSSFontFaceStyleDecl::IndexedGetter(uint32_t index, bool& aFound, nsAString & NS_IMETHODIMP nsCSSFontFaceStyleDecl::GetParentRule(nsIDOMCSSRule** aParentRule) { - NS_IF_ADDREF(*aParentRule = ContainingRule()->GetDOMRule()); + NS_IF_ADDREF(*aParentRule = ContainingRule()); return NS_OK; } @@ -1602,8 +1584,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsCSSFontFaceRule) NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSFontFaceRule) NS_INTERFACE_MAP_END_INHERITING(Rule) -IMPL_STYLE_RULE_INHERIT(nsCSSFontFaceRule, Rule) - #ifdef DEBUG void nsCSSFontFaceRule::List(FILE* out, int32_t aIndent) const @@ -1733,8 +1713,6 @@ nsCSSFontFeatureValuesRule::IsCCLeaf() const return Rule::IsCCLeaf(); } -IMPL_STYLE_RULE_INHERIT(nsCSSFontFeatureValuesRule, Rule) - static void FeatureValuesToString( const nsTArray& aFeatureValues, @@ -2068,8 +2046,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsCSSKeyframeRule) NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSKeyframeRule) NS_INTERFACE_MAP_END_INHERITING(mozilla::css::Rule) -IMPL_STYLE_RULE_INHERIT_GET_DOM_RULE_WEAK(nsCSSKeyframeRule, Rule) - #ifdef DEBUG void nsCSSKeyframeRule::List(FILE* out, int32_t aIndent) const @@ -2592,8 +2568,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsCSSPageRule) NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSPageRule) NS_INTERFACE_MAP_END_INHERITING(mozilla::css::Rule) -IMPL_STYLE_RULE_INHERIT_GET_DOM_RULE_WEAK(nsCSSPageRule, Rule) - #ifdef DEBUG void nsCSSPageRule::List(FILE* out, int32_t aIndent) const @@ -2862,8 +2836,6 @@ nsCSSCounterStyleRule::IsCCLeaf() const return Rule::IsCCLeaf(); } -IMPL_STYLE_RULE_INHERIT(nsCSSCounterStyleRule, css::Rule) - #ifdef DEBUG void nsCSSCounterStyleRule::List(FILE* out, int32_t aIndent) const diff --git a/layout/style/nsCSSRules.h b/layout/style/nsCSSRules.h index 847bfe847e..2aa18b1387 100644 --- a/layout/style/nsCSSRules.h +++ b/layout/style/nsCSSRules.h @@ -67,10 +67,6 @@ public: virtual int32_t GetType() const override; using Rule::GetType; virtual already_AddRefed Clone() const override; - virtual nsIDOMCSSRule* GetDOMRule() override - { - return this; - } // nsIDOMCSSGroupingRule interface NS_DECL_NSIDOMCSSGROUPINGRULE @@ -123,10 +119,6 @@ public: virtual int32_t GetType() const override; using Rule::GetType; virtual already_AddRefed Clone() const override; - virtual nsIDOMCSSRule* GetDOMRule() override - { - return this; - } // nsIDOMCSSGroupingRule interface NS_DECL_NSIDOMCSSGROUPINGRULE @@ -264,8 +256,6 @@ public: NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(nsCSSFontFaceRule, mozilla::css::Rule) virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif @@ -341,8 +331,6 @@ public: NS_DECL_ISUPPORTS_INHERITED virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif @@ -431,8 +419,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsCSSKeyframeRule, mozilla::css::Rule) virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif @@ -489,10 +475,6 @@ public: virtual int32_t GetType() const override; using Rule::GetType; virtual already_AddRefed Clone() const override; - virtual nsIDOMCSSRule* GetDOMRule() override - { - return this; - } // nsIDOMCSSKeyframesRule interface NS_DECL_NSIDOMCSSKEYFRAMESRULE @@ -566,8 +548,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsCSSPageRule, mozilla::css::Rule) virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif @@ -615,10 +595,6 @@ public: virtual already_AddRefed Clone() const override; virtual bool UseForPresentation(nsPresContext* aPresContext, nsMediaQueryResultCacheKey& aKey) override; - virtual nsIDOMCSSRule* GetDOMRule() override - { - return this; - } NS_DECL_ISUPPORTS_INHERITED @@ -669,8 +645,6 @@ public: NS_DECL_ISUPPORTS_INHERITED virtual bool IsCCLeaf() const override; - // Rule methods - DECL_STYLE_RULE_INHERIT #ifdef DEBUG virtual void List(FILE* out = stdout, int32_t aIndent = 0) const override; #endif