[webkit-changes] [WebKit/WebKit] ed5c3f: REGRESSION (288518 at main): [ macOS debug wk2 ] http...
Charlie Wolfe
noreply at github.com
Mon Jan 13 14:38:06 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ed5c3f45be27b470d7f4091ff74cd0d67047e5c7
https://github.com/WebKit/WebKit/commit/ed5c3f45be27b470d7f4091ff74cd0d67047e5c7
Author: Charlie Wolfe <charliew at apple.com>
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 at 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 at 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 at 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
More information about the webkit-changes
mailing list