Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 50ae75698db1c459c7bdd39d47b1e389da2495ea
https://github.com/WebKit/WebKit/commit/50ae75698db1c459c7bdd39d47b1e389da2495ea
Author: Charlie Wolfe <[email protected]>
Date: 2025-01-23 (Thu, 23 Jan 2025)
Changed paths:
A LayoutTests/fast/history/go-back-then-navigate-subframe-expected.txt
A LayoutTests/fast/history/go-back-then-navigate-subframe.html
M LayoutTests/fast/history/resources/frame-final-url.html
M LayoutTests/fast/history/resources/frame-initial-url.html
M Source/WebCore/history/HistoryItem.cpp
M Source/WebCore/history/HistoryItem.h
M Source/WebCore/loader/FrameLoader.cpp
Log Message:
-----------
REGRESSION(288409@main): Main frame history state may be incorrectly created
after navigating back
https://bugs.webkit.org/show_bug.cgi?id=286438
rdar://143418935
Reviewed by Alex Christensen.
FrameLoader::loadURLIntoChildFrame contains logic to reload child frames with
history items from another
page when navigating through the back/forward list. This behavior caused an
issue after 288409@main,
where loading a history item created by another page into a new iframe caused
the UI process to create a
new main frame history item when trying to reconstruct the history item tree.
To fix this, we need to update the history item’s frameID to match the iframe
that it is being loaded
into.
* LayoutTests/fast/history/go-back-then-navigate-subframe-expected.txt: Added.
* LayoutTests/fast/history/go-back-then-navigate-subframe.html: Added.
* LayoutTests/fast/history/resources/frame-final-url.html:
* LayoutTests/fast/history/resources/frame-initial-url.html:
* Source/WebCore/history/HistoryItem.cpp:
(WebCore::HistoryItem::setFrameID):
* Source/WebCore/history/HistoryItem.h:
(WebCore::HistoryItem::setFrameID): Deleted.
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
Canonical link: https://commits.webkit.org/289329@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes