StyleSheetIdentifier.h 784 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. namespace Web::CSS {
  10. struct StyleSheetIdentifier {
  11. enum class Type : u8 {
  12. StyleElement,
  13. LinkElement,
  14. ImportRule,
  15. UserAgent,
  16. UserStyle,
  17. } type;
  18. Optional<i32> dom_element_unique_id {};
  19. Optional<String> url {};
  20. };
  21. StringView style_sheet_identifier_type_to_string(StyleSheetIdentifier::Type);
  22. Optional<StyleSheetIdentifier::Type> style_sheet_identifier_type_from_string(StringView);
  23. }
  24. namespace IPC {
  25. template<>
  26. ErrorOr<void> encode(Encoder&, Web::CSS::StyleSheetIdentifier const&);
  27. template<>
  28. ErrorOr<Web::CSS::StyleSheetIdentifier> decode(Decoder&);
  29. }