Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: eb3b8a3eb27175faecc4ec397acec2804c5199a9
https://github.com/WebKit/WebKit/commit/eb3b8a3eb27175faecc4ec397acec2804c5199a9
Author: Charlie Wolfe <[email protected]>
Date: 2026-07-28 (Tue, 28 Jul 2026)
Changed paths:
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/ProvisionalPageProxy.h
M Source/WebKit/UIProcess/WebBackForwardList.cpp
M Source/WebKit/UIProcess/WebBackForwardList.h
M Source/WebKit/UIProcess/WebBackForwardList.messages.in
M Source/WebKit/UIProcess/WebBackForwardList.swift
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp
Log Message:
-----------
Make `BackForwardGoToItem` asynchronous
https://bugs.webkit.org/show_bug.cgi?id=320430
rdar://183391902
Reviewed by Alex Christensen.
HistoryController::goToItem blocks the web process on BackForwardGoToItem in
order to move the
UIProcess's back/forward cursor before the load commits. This no longer needs
to be synchronous. The
only reply payload is WebBackForwardListCounts, used to refresh
WebBackForwardListProxy's cached
counts — but WebBackForwardList::goToItem already ends in
didChangeBackForwardList(), which
broadcasts InvalidateBackForwardListCache to every web content process, so the
cache is invalidated
regardless of the reply.
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::backForwardGoToItem):
(WebKit::ProvisionalPageProxy::didReceiveMessage):
(WebKit::ProvisionalPageProxy::didReceiveSyncMessage):
* Source/WebKit/UIProcess/ProvisionalPageProxy.h:
* Source/WebKit/UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardGoToItem):
(WebKit::WebBackForwardList::backForwardGoToItemShared):
* Source/WebKit/UIProcess/WebBackForwardList.h:
* Source/WebKit/UIProcess/WebBackForwardList.messages.in:
* Source/WebKit/UIProcess/WebBackForwardList.swift:
(MakeAPIArray.backForwardGoToItem(_:)):
(MakeAPIArray.backForwardGoToItemShared(_:)):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::backForwardGoToItemShared):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::goToItem):
Canonical link: https://commits.webkit.org/318075@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications