Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 667fcac3eb769a6538493ddddea064a41650069f
https://github.com/WebKit/WebKit/commit/667fcac3eb769a6538493ddddea064a41650069f
Author: Basuke Suzuki <[email protected]>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
A LayoutTests/http/tests/navigation/back-iframe-no-bf-cache-expected.txt
A LayoutTests/http/tests/navigation/back-iframe-no-bf-cache.html
A LayoutTests/http/tests/navigation/resources/back-iframe-1.html
A LayoutTests/http/tests/navigation/resources/back-iframe-2.html
A LayoutTests/http/tests/navigation/resources/back-iframe-other.html
A LayoutTests/http/tests/navigation/resources/back-iframe-popup.html
A LayoutTests/http/tests/navigation/resources/navigation-utils.js
M Source/WebKit/Shared/WebBackForwardListFrameItem.cpp
M Source/WebKit/Shared/WebBackForwardListFrameItem.h
M Source/WebKit/Shared/WebBackForwardListItem.cpp
M Source/WebKit/Shared/WebBackForwardListItem.h
M Source/WebKit/UIProcess/WebBackForwardList.cpp
M Source/WebKit/UIProcess/WebBackForwardList.h
Log Message:
-----------
Iframe history not restored on back navigation with BFCache off.
https://bugs.webkit.org/show_bug.cgi?id=306554
rdar://169197828
Reviewed by Sihui Liu.
When navigating back through browser history with iframes (BFCache OFF), the
iframe's
content is not restored to its previous state. The browser's loading indicator
continues
spinning indefinitely.
When WebBackForwardListFrameItem is updated with new FrameState, other frame ID
stored in
WebBackForwardList should be updated accordingly. This patch implements the
necessary
mechanism to propagate frame state updates to all relevant back-forward list
items.
New tests: http/tests/navigation/back-iframe-no-bf-cache.html
* LayoutTests/http/tests/navigation/back-iframe-no-bf-cache-expected.txt: Added.
* LayoutTests/http/tests/navigation/back-iframe-no-bf-cache.html: Added.
* LayoutTests/http/tests/navigation/resources/back-iframe-1.html: Added.
* LayoutTests/http/tests/navigation/resources/back-iframe-2.html: Added.
* LayoutTests/http/tests/navigation/resources/back-iframe-other.html: Added.
* LayoutTests/http/tests/navigation/resources/back-iframe-popup.html: Added.
* LayoutTests/http/tests/navigation/resources/navigation-utils.js: Added.
(makeMessage):
(parseMessage):
(sendMessageTo):
(dispatchMessage):
(forwardMessageToOpener):
(sendMessageToPopup):
(sendMessageToOpener):
(sendMessageToTop):
(iframeContentWindow):
(sendMessageToIframe):
(navigateTo):
(navigateIframeTo):
* Source/WebKit/Shared/WebBackForwardListFrameItem.cpp:
(WebKit::WebBackForwardListFrameItem::updateFrameID):
* Source/WebKit/Shared/WebBackForwardListFrameItem.h:
* Source/WebKit/Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::updateFrameID):
* Source/WebKit/Shared/WebBackForwardListItem.h:
* Source/WebKit/UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardUpdateItem):
(WebKit::WebBackForwardList::updateAllFrameIDs):
* Source/WebKit/UIProcess/WebBackForwardList.h:
Canonical link: https://commits.webkit.org/306580@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications