StyleResolver.h 633 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <AK/OwnPtr.h>
  3. #include <AK/NonnullRefPtrVector.h>
  4. class Document;
  5. class Element;
  6. class ParentNode;
  7. class StyleRule;
  8. class StyleSheet;
  9. class StyledNode;
  10. class StyleResolver {
  11. public:
  12. explicit StyleResolver(Document&);
  13. ~StyleResolver();
  14. Document& document() { return m_document; }
  15. const Document& document() const { return m_document; }
  16. NonnullRefPtr<StyledNode> create_styled_node(const Element&);
  17. NonnullRefPtr<StyledNode> create_styled_node(const Document&);
  18. NonnullRefPtrVector<StyleRule> collect_matching_rules(const Element&) const;
  19. private:
  20. Document& m_document;
  21. };