CSSKeyframesRule.cpp 778 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2023, Ali Mohammad Pur <mpfard@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include "CSSKeyframesRule.h"
  7. namespace Web::CSS {
  8. void CSSKeyframesRule::visit_edges(Visitor& visitor)
  9. {
  10. Base::visit_edges(visitor);
  11. for (auto& keyframe : m_keyframes)
  12. visitor.visit(keyframe);
  13. }
  14. JS::ThrowCompletionOr<void> CSSKeyframesRule::initialize(JS::Realm&)
  15. {
  16. return {};
  17. }
  18. DeprecatedString CSSKeyframesRule::serialized() const
  19. {
  20. StringBuilder builder;
  21. builder.appendff("@keyframes \"{}\"", name());
  22. builder.append(" { "sv);
  23. for (auto& keyframe : keyframes()) {
  24. builder.append(keyframe->css_text());
  25. builder.append(' ');
  26. }
  27. builder.append('}');
  28. return builder.to_deprecated_string();
  29. }
  30. }