CSSRule.h 602 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2021, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/RefCounted.h>
  8. #include <AK/String.h>
  9. #include <LibWeb/CSS/CSSStyleDeclaration.h>
  10. #include <LibWeb/CSS/Selector.h>
  11. namespace Web::CSS {
  12. class CSSRule : public RefCounted<CSSRule> {
  13. public:
  14. virtual ~CSSRule();
  15. enum class Type : u32 {
  16. Style,
  17. Import,
  18. Media,
  19. __Count,
  20. };
  21. virtual StringView class_name() const = 0;
  22. virtual Type type() const = 0;
  23. template<typename T>
  24. bool fast_is() const = delete;
  25. private:
  26. };
  27. }