TraversableNavigable.cpp 787 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibWeb/HTML/SessionHistoryEntry.h>
  7. #include <LibWeb/HTML/TraversableNavigable.h>
  8. namespace Web::HTML {
  9. TraversableNavigable::TraversableNavigable() = default;
  10. TraversableNavigable::~TraversableNavigable() = default;
  11. void TraversableNavigable::visit_edges(Cell::Visitor& visitor)
  12. {
  13. Base::visit_edges(visitor);
  14. for (auto& entry : m_session_history_entries)
  15. visitor.visit(entry);
  16. }
  17. // https://html.spec.whatwg.org/multipage/document-sequences.html#top-level-traversable
  18. bool TraversableNavigable::is_top_level_traversable() const
  19. {
  20. // A top-level traversable is a traversable navigable with a null parent.
  21. return parent() == nullptr;
  22. }
  23. }