StyleRule.cpp 730 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) 2020-2021, the SerenityOS developers.
  3. * Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #include <LibWeb/CSS/Parser/StyleRule.h>
  8. #include <LibWeb/CSS/Serialize.h>
  9. namespace Web::CSS {
  10. StyleRule::StyleRule(StyleRule::Type type)
  11. : m_type(type)
  12. {
  13. }
  14. StyleRule::~StyleRule() = default;
  15. String StyleRule::to_string() const
  16. {
  17. StringBuilder builder;
  18. if (is_at_rule()) {
  19. builder.append("@");
  20. serialize_an_identifier(builder, m_at_rule_name);
  21. }
  22. builder.join(" ", m_prelude);
  23. if (m_block)
  24. builder.append(m_block->to_string());
  25. else
  26. builder.append(';');
  27. return builder.to_string();
  28. }
  29. }