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

Reply via email to