Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ed5c3f45be27b470d7f4091ff74cd0d67047e5c7
https://github.com/WebKit/WebKit/commit/ed5c3f45be27b470d7f4091ff74cd0d67047e5c7
Author: Charlie Wolfe <[email protected]>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebCore/history/HistoryItem.cpp
M Source/WebCore/history/HistoryItem.h
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/loader/HistoryController.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp
Log Message:
-----------
REGRESSION (288518@main): [ macOS debug wk2 ]
http/tests/navigation/forward-and-cancel.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=285627
rdar://142570786
Reviewed by Alex Christensen.
In 285421@main, I replaced a synchronous WCP -> UIP message with an async
message,
BackForwardClearProvisionalItem. Previously, when sending the sync message, we
also updated the
back/forward list counts cached in the web process. The new async message did
not.
In 288518@main, I made a change to always commit uncanceled provisional history
items. This revealed an
issue caused by the original change, where the non-provisional index had been
coincidentally correct
after clearing the provisional item, causing the cached back/forward list
counts to also be correct.
To restore original behavior, revert the message to sync and update the cached
list counts. Also,
reintroduce isTargetItem to HistoryItem to avoid sending synchronous messages
in cases where they were
not previously sent.
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/history/HistoryItem.cpp:
(WebCore::HistoryItem::reset):
(WebCore::HistoryItem::setChildItem):
* Source/WebCore/history/HistoryItem.h:
(WebCore::HistoryItem::isTargetItem const):
(WebCore::HistoryItem::setIsTargetItem):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* Source/WebCore/loader/HistoryController.cpp:
(WebCore::HistoryController::createItemTree):
(WebCore::HistoryController::updateCurrentItem):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::backForwardClearProvisionalItem):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::clearProvisionalItem):
Canonical link: https://commits.webkit.org/288821@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