StyleSheetIdentifier.h 821 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * Copyright (c) 2024, Sam Atkins <sam@ladybird.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibIPC/Forward.h>
  8. #include <LibURL/URL.h>
  9. #include <LibWeb/Forward.h>
  10. namespace Web::CSS {
  11. struct StyleSheetIdentifier {
  12. enum class Type : u8 {
  13. StyleElement,
  14. LinkElement,
  15. ImportRule,
  16. UserAgent,
  17. UserStyle,
  18. } type;
  19. Optional<UniqueNodeID> dom_element_unique_id {};
  20. Optional<String> url {};
  21. };
  22. StringView style_sheet_identifier_type_to_string(StyleSheetIdentifier::Type);
  23. Optional<StyleSheetIdentifier::Type> style_sheet_identifier_type_from_string(StringView);
  24. }
  25. namespace IPC {
  26. template<>
  27. ErrorOr<void> encode(Encoder&, Web::CSS::StyleSheetIdentifier const&);
  28. template<>
  29. ErrorOr<Web::CSS::StyleSheetIdentifier> decode(Decoder&);
  30. }