diff --git a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp
index 7d12631ea5..846927ce1b 100644
--- a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp
+++ b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp
@@ -4,7 +4,8 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
-#include
+#include
+#include
#include
namespace Web::HTML {
@@ -12,7 +13,7 @@ namespace Web::HTML {
void SessionHistoryEntry::visit_edges(Cell::Visitor& visitor)
{
Base::visit_edges(visitor);
- visitor.visit(document);
+ visitor.visit(document_state);
visitor.visit(original_source_browsing_context);
}
diff --git a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h
index 0935d38d82..bccec7c2f7 100644
--- a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h
+++ b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h
@@ -36,22 +36,30 @@ struct SessionHistoryEntry final : public JS::Cell {
AK::URL url;
// document, a Document or null
+ // FIXME: this property is not present in the spec anymore and should be gone after introducing navigables
JS::GCPtr document;
- // serialized state, which is serialized state or null, initially null
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-document-state
+ JS::GCPtr document_state;
+
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-serialized-state
+ // serialized state, which is serialized state, initially StructuredSerializeForStorage(null).
Optional serialized_state;
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-scroll-restoration-mode
+ // scroll restoration mode, a scroll restoration mode, initially "auto"
+ ScrollRestorationMode scroll_restoration_mode { ScrollRestorationMode::Auto };
+
// policy container, a policy container or null
Optional policy_container;
- // scroll restoration mode, a scroll restoration mode, initially "auto"
- ScrollRestorationMode scroll_restoration_mode { ScrollRestorationMode::Auto };
-
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-scroll-position
// FIXME: scroll position data, which is scroll position data for the document's restorable scrollable regions
// browsing context name, a browsing context name or null, initially null
Optional browsing_context_name;
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#she-other
// FIXME: persisted user state, which is implementation-defined, initially null
// NOTE: This is where we could remember the state of form controls, for example.