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

Reply via email to