From a1286f5120f2b3742580ca391bf59cd8c9652bb0 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sun, 25 Sep 2022 18:16:08 -0600 Subject: [PATCH] LibWeb: Ensure that replaced documents keep the Window of their sibling The note in the spec says that we're supposed to make sure this new document has the same Window as the old about:blank document, but we forgot to actually assign to the Window pointer. --- Userland/Libraries/LibWeb/DOM/Document.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index c9cd9801fc..702c8c5ffc 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -153,6 +153,8 @@ JS::NonnullGCPtr Document::create_and_initialize(Type type, String con && navigation_params.history_handling == HTML::HistoryHandlingBehavior::Replace && (browsing_context->active_document() && browsing_context->active_document()->origin().is_same_origin(navigation_params.origin))) { // Do nothing. + // NOTE: This means that both the initial about:blank Document, and the new Document that is about to be created, will share the same Window object. + window = browsing_context->active_window(); } // 6. Otherwise: