summaryrefslogtreecommitdiffstats
path: root/layout/style/CSSPageRule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/CSSPageRule.cpp')
-rw-r--r--layout/style/CSSPageRule.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/layout/style/CSSPageRule.cpp b/layout/style/CSSPageRule.cpp
index 04d064b362..fb7dcbc38b 100644
--- a/layout/style/CSSPageRule.cpp
+++ b/layout/style/CSSPageRule.cpp
@@ -94,20 +94,20 @@ CSSPageRuleDeclaration::GetParsingEnvironment(
CSSPageRule::CSSPageRule(RefPtr<StyleLockedPageRule> aRawRule,
StyleSheet* aSheet, css::Rule* aParentRule,
uint32_t aLine, uint32_t aColumn)
- : css::Rule(aSheet, aParentRule, aLine, aColumn),
+ : css::GroupRule(aSheet, aParentRule, aLine, aColumn),
mRawRule(std::move(aRawRule)),
mDecls(Servo_PageRule_GetStyle(mRawRule).Consume()) {}
-NS_IMPL_ADDREF_INHERITED(CSSPageRule, css::Rule)
-NS_IMPL_RELEASE_INHERITED(CSSPageRule, css::Rule)
+NS_IMPL_ADDREF_INHERITED(CSSPageRule, css::GroupRule)
+NS_IMPL_RELEASE_INHERITED(CSSPageRule, css::GroupRule)
// QueryInterface implementation for PageRule
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CSSPageRule)
-NS_INTERFACE_MAP_END_INHERITING(css::Rule)
+NS_INTERFACE_MAP_END_INHERITING(css::GroupRule)
NS_IMPL_CYCLE_COLLECTION_CLASS(CSSPageRule)
-NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(CSSPageRule, css::Rule)
+NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(CSSPageRule, css::GroupRule)
// Keep this in sync with IsCCLeaf.
// Trace the wrapper for our declaration. This just expands out
@@ -124,14 +124,14 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(CSSPageRule)
// Note that this has to happen before unlinking css::Rule.
tmp->UnlinkDeclarationWrapper(tmp->mDecls);
tmp->mDecls.mDecls->SetOwningRule(nullptr);
-NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED(css::Rule)
+NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED(css::GroupRule)
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(CSSPageRule, css::Rule)
+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(CSSPageRule, css::GroupRule)
// Keep this in sync with IsCCLeaf.
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
bool CSSPageRule::IsCCLeaf() const {
- if (!Rule::IsCCLeaf()) {
+ if (!GroupRule::IsCCLeaf()) {
return false;
}
@@ -147,7 +147,7 @@ StyleCssRuleType CSSPageRule::Type() const { return StyleCssRuleType::Page; }
size_t CSSPageRule::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const {
// TODO Implement this!
- return aMallocSizeOf(this);
+ return GroupRule::SizeOfExcludingThis(aMallocSizeOf) + aMallocSizeOf(this);
}
#ifdef DEBUG
@@ -188,6 +188,10 @@ void CSSPageRule::SetSelectorText(const nsACString& aSelectorText) {
}
}
+already_AddRefed<StyleLockedCssRules> CSSPageRule::GetOrCreateRawRules() {
+ return Servo_PageRule_GetRules(mRawRule).Consume();
+}
+
nsICSSDeclaration* CSSPageRule::Style() { return &mDecls; }
JSObject* CSSPageRule::WrapObject(JSContext* aCx,