Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: d81a5452943f1083f1f939685afb47a8dc7957c2
https://github.com/WebKit/WebKit/commit/d81a5452943f1083f1f939685afb47a8dc7957c2
Author: Alex Christensen <[email protected]>
Date: 2026-08-18 (Tue, 18 Aug 2026)
Changed paths:
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.h
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewServerTrustKVC.mm
Log Message:
-----------
Cherry-pick 318495@main (702c6b7899c5).
https://bugs.webkit.org/show_bug.cgi?id=320765
Fix
imported/w3c/web-platform-tests/html/cross-origin-opener-policy/resource-popup.https.html
to have correct certificate info
https://bugs.webkit.org/show_bug.cgi?id=320765
rdar://183768315
Reviewed by Chris Dumez.
317375@main had a few issues.
It introduced a bool to prevent waitForAndDispatchImmediately re-entry,
but at the cost of sometimes not having the correct certificate info.
The real bug was that after a COOP-initiated process swap, we weren't
taking the certificate info received by the old main frame and giving
it to the new main frame.
I added a unit test that times out waiting for a server trust that
never appears before this fix, showing clearly the functional regression
from 316854@main that this PR fixes and 317375@main did not.
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::certificateInfoFromNetworkProcess const):
(WebKit::WebFrameProxy::commitCertificateInfo):
(WebKit::WebFrameProxy::copyCertificateInfoForProcessSwapOnNavigationResponse):
(WebKit::WebFrameProxy::waitForCertificateInfoFromNetworkProcess):
* Source/WebKit/UIProcess/WebFrameProxy.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewServerTrustKVC.mm:
(TEST(WKWebView, ServerTrustKVCWithCOOP)):
Canonical link: https://commits.webkit.org/318495@main
Canonical link: https://commits.webkit.org/317695.109@webkitglib/2.54
Commit: 3d45c128e30da7c2c74acfad5a3995d8e5c35c19
https://github.com/WebKit/WebKit/commit/3d45c128e30da7c2c74acfad5a3995d8e5c35c19
Author: Alex Christensen <[email protected]>
Date: 2026-08-18 (Tue, 18 Aug 2026)
Changed paths:
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/ProvisionalPageProxy.h
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewServerTrustKVC.mm
Log Message:
-----------
Cherry-pick 318982@main (c76d70bab55f).
https://bugs.webkit.org/show_bug.cgi?id=321456
Send bool indicating presence of CertificateInfo from web process
https://bugs.webkit.org/show_bug.cgi?id=321456
rdar://184545561
Reviewed by Chris Dumez.
In 316854@main I stopped sending CertificateInfo from the web process to
the UI process.
We can't trust the contents of the CertificateInfo from a
possibly-compromised web process.
But in 318495@main I found that there are some circumstances where we need
input from
the web process about whether or not to get the CertificateInfo from the
network process,
such as using WKWebView.loadHTMLString with the same URL as we've already
loaded.
This sends a bool instead of a CertificateInfo indicating whether we should
get the
CertificateInfo from the network process.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewServerTrustKVC.mm
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):
* Source/WebKit/UIProcess/ProvisionalPageProxy.h:
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::commitProvisionalFrame):
(WebKit::WebFrameProxy::commitCertificateInfo):
* Source/WebKit/UIProcess/WebFrameProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::didCommitLoadForFrame):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::dispatchDidCommitLoad):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewServerTrustKVC.mm:
(TEST(WKWebView, ServerTrustKVCWithCOOP)):
Canonical link: https://commits.webkit.org/318982@main
Canonical link: https://commits.webkit.org/317695.110@webkitglib/2.54
Compare: https://github.com/WebKit/WebKit/compare/e7076c2e5ab2...3d45c128e30d
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications