diff options
Diffstat (limited to 'Source/WebCore/css/CSSGroupingRule.h')
-rw-r--r-- | Source/WebCore/css/CSSGroupingRule.h | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/Source/WebCore/css/CSSGroupingRule.h b/Source/WebCore/css/CSSGroupingRule.h index f14ee2ce1..f54a39719 100644 --- a/Source/WebCore/css/CSSGroupingRule.h +++ b/Source/WebCore/css/CSSGroupingRule.h @@ -20,43 +20,42 @@ * Boston, MA 02110-1301, USA. */ -#ifndef CSSGroupingRule_h -#define CSSGroupingRule_h +#pragma once #include "CSSRule.h" -#include "StyleRule.h" #include <memory> #include <wtf/Vector.h> namespace WebCore { class CSSRuleList; +class StyleRuleGroup; class CSSGroupingRule : public CSSRule { public: virtual ~CSSGroupingRule(); - virtual void reattach(StyleRuleBase*) override; + WEBCORE_EXPORT CSSRuleList& cssRules() const; - CSSRuleList* cssRules() const; - - unsigned insertRule(const String& rule, unsigned index, ExceptionCode&); - void deleteRule(unsigned index, ExceptionCode&); + WEBCORE_EXPORT ExceptionOr<unsigned> insertRule(const String& rule, unsigned index); + WEBCORE_EXPORT ExceptionOr<void> deleteRule(unsigned index); // For CSSRuleList unsigned length() const; CSSRule* item(unsigned index) const; protected: - CSSGroupingRule(StyleRuleGroup* groupRule, CSSStyleSheet* parent); + CSSGroupingRule(StyleRuleGroup& groupRule, CSSStyleSheet* parent); + void reattach(StyleRuleBase&) override; + void appendCssTextForItems(StringBuilder&) const; - RefPtr<StyleRuleGroup> m_groupRule; + Ref<StyleRuleGroup> m_groupRule; + +private: mutable Vector<RefPtr<CSSRule>> m_childRuleCSSOMWrappers; mutable std::unique_ptr<CSSRuleList> m_ruleListCSSOMWrapper; }; } // namespace WebCore - -#endif // CSSGroupingRule_h |