Document.h 752 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <AK/String.h>
  3. #include <AK/NonnullRefPtrVector.h>
  4. #include <AK/OwnPtr.h>
  5. #include <LibHTML/CSS/StyleResolver.h>
  6. #include <LibHTML/CSS/StyleSheet.h>
  7. #include <LibHTML/DOM/ParentNode.h>
  8. class LayoutNode;
  9. class StyleResolver;
  10. class StyleSheet;
  11. class Document : public ParentNode {
  12. public:
  13. Document();
  14. virtual ~Document() override;
  15. void normalize();
  16. StyleResolver& style_resolver();
  17. void add_sheet(const StyleSheet& sheet) { m_sheets.append(sheet); }
  18. const NonnullRefPtrVector<StyleSheet>& stylesheets() const { return m_sheets; }
  19. virtual String tag_name() const override { return "#document"; }
  20. private:
  21. OwnPtr<StyleResolver> m_style_resolver;
  22. NonnullRefPtrVector<StyleSheet> m_sheets;
  23. };