#pragma once #include #include class Document; class Element; class ParentNode; class StyleRule; class StyleSheet; class StyledNode; class StyleResolver { public: explicit StyleResolver(Document&); ~StyleResolver(); Document& document() { return m_document; } const Document& document() const { return m_document; } NonnullRefPtr create_styled_node(const Element&); NonnullRefPtr create_styled_node(const Document&); NonnullRefPtrVector collect_matching_rules(const Element&) const; private: Document& m_document; };