summaryrefslogtreecommitdiffstats
path: root/layout/style/CSSStyleRule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/CSSStyleRule.cpp')
-rw-r--r--layout/style/CSSStyleRule.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/layout/style/CSSStyleRule.cpp b/layout/style/CSSStyleRule.cpp
index 5cdb47fddb..5a3dbfad01 100644
--- a/layout/style/CSSStyleRule.cpp
+++ b/layout/style/CSSStyleRule.cpp
@@ -101,8 +101,6 @@ nsresult CSSStyleRuleDeclaration::SetCSSDeclaration(
return NS_OK;
}
-Document* CSSStyleRuleDeclaration::DocToUpdate() { return nullptr; }
-
nsDOMCSSDeclaration::ParsingEnvironment
CSSStyleRuleDeclaration::GetParsingEnvironment(
nsIPrincipal* aSubjectPrincipal) const {
@@ -314,6 +312,18 @@ void CSSStyleRule::GetSelectorWarnings(
}
}
+already_AddRefed<nsINodeList> CSSStyleRule::QuerySelectorAll(nsINode& aRoot) {
+ AutoTArray<const StyleLockedStyleRule*, 8> rules;
+ CollectStyleRules(*this, /* aDesugared = */ true, rules);
+ StyleSelectorList* list = Servo_StyleRule_GetSelectorList(&rules);
+
+ RefPtr<nsSimpleContentList> contentList = new nsSimpleContentList(&aRoot);
+ Servo_SelectorList_QueryAll(&aRoot, list, contentList.get(),
+ /* useInvalidation */ false);
+ Servo_SelectorList_Drop(list);
+ return contentList.forget();
+}
+
/* virtual */
JSObject* CSSStyleRule::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) {