Ver Fonte

LibWeb: Use a CSSRuleList inside CSSStyleSheet

This better matches the spec. :^)
Sam Atkins há 3 anos atrás
pai
commit
eb83d2617c

+ 4 - 3
Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h

@@ -10,6 +10,7 @@
 #include <AK/TypeCasts.h>
 #include <AK/TypeCasts.h>
 #include <LibWeb/CSS/CSSImportRule.h>
 #include <LibWeb/CSS/CSSImportRule.h>
 #include <LibWeb/CSS/CSSRule.h>
 #include <LibWeb/CSS/CSSRule.h>
+#include <LibWeb/CSS/CSSRuleList.h>
 #include <LibWeb/CSS/StyleSheet.h>
 #include <LibWeb/CSS/StyleSheet.h>
 #include <LibWeb/Loader/Resource.h>
 #include <LibWeb/Loader/Resource.h>
 
 
@@ -28,8 +29,8 @@ public:
 
 
     virtual String type() const override { return "text/css"; }
     virtual String type() const override { return "text/css"; }
 
 
-    const NonnullRefPtrVector<CSSRule>& rules() const { return m_rules; }
-    NonnullRefPtrVector<CSSRule>& rules() { return m_rules; }
+    CSSRuleList const& rules() const { return m_rules; }
+    CSSRuleList& rules() { return m_rules; }
 
 
     template<typename Callback>
     template<typename Callback>
     void for_each_effective_style_rule(Callback callback) const
     void for_each_effective_style_rule(Callback callback) const
@@ -66,7 +67,7 @@ public:
 private:
 private:
     explicit CSSStyleSheet(NonnullRefPtrVector<CSSRule>);
     explicit CSSStyleSheet(NonnullRefPtrVector<CSSRule>);
 
 
-    NonnullRefPtrVector<CSSRule> m_rules;
+    CSSRuleList m_rules;
 };
 };
 
 
 }
 }

+ 1 - 1
Userland/Libraries/LibWeb/Dump.cpp

@@ -523,7 +523,7 @@ void dump_sheet(StringBuilder& builder, CSS::StyleSheet const& sheet)
 {
 {
     auto& css_stylesheet = verify_cast<CSS::CSSStyleSheet>(sheet);
     auto& css_stylesheet = verify_cast<CSS::CSSStyleSheet>(sheet);
 
 
-    builder.appendff("CSSStyleSheet{{{}}}: {} rule(s)\n", &sheet, css_stylesheet.rules().size());
+    builder.appendff("CSSStyleSheet{{{}}}: {} rule(s)\n", &sheet, css_stylesheet.rules().length());
 
 
     for (auto& rule : css_stylesheet.rules()) {
     for (auto& rule : css_stylesheet.rules()) {
         dump_rule(builder, rule);
         dump_rule(builder, rule);