Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c9ae060aa9149e96970697c86999a606d2505840
      
https://github.com/WebKit/WebKit/commit/c9ae060aa9149e96970697c86999a606d2505840
  Author: Alex Christensen <[email protected]>
  Date:   2026-08-18 (Tue, 18 Aug 2026)

  Changed paths:
    M Source/WebCore/PAL/pal/spi/cocoa/NetworkSPI.h
    M Source/WebKit/Configurations/AllowedSPI.toml
    M Source/WebKit/NetworkProcess/cocoa/NetworkSoftLink.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkSoftLink.mm
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h
    M 
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm
    M Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.h
    M Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.mm
    M Tools/TestWebKitAPI/Helpers/cocoa/WebTransportServer.h
    M Tools/TestWebKitAPI/Helpers/cocoa/WebTransportServer.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WebTransport.mm

  Log Message:
  -----------
  Remove unneeded WebTransportSession::SecurityProtocolMetadata
https://bugs.webkit.org/show_bug.cgi?id=321523
rdar://184633468

Reviewed by Basuke Suzuki.

In 317835@main I thought there was no way to get a sec_protocol_metadata_t from 
a
nw_protocol_metadata_t for WebTransport, so I introduced 
SecurityProtocolMetadata
to get it from the TLS handshake and I was going to introduce a new function
nw_webtransport_metadata_copy_sec_protocol_metadata to get it directly.  In my 
review
feedback, I was informed that there's already a way to get the 
sec_protocol_metadata_t.
It's different if WebTransport is using H2 or H3, but it works both ways.

I introduce a test that not only uses H2 with WebTransport for the first time in
WebKit's tests, but it also generates keying material on the server to verify 
that
the client and the server are able to generate the exact same bytes, which is 
the
whole point of exportKeyingMaterial but it's currently not tested in wpt.

Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WebTransport.mm

* Source/WebCore/PAL/pal/spi/cocoa/NetworkSPI.h:
* Source/WebKit/Configurations/AllowedSPI.toml:
* Source/WebKit/NetworkProcess/cocoa/NetworkSoftLink.h:
* Source/WebKit/NetworkProcess/cocoa/NetworkSoftLink.mm:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h:
(WebKit::NetworkTransportSession::SecurityProtocolMetadata::create): Deleted.
(WebKit::NetworkTransportSession::SecurityProtocolMetadata::receivedMetadata): 
Deleted.
(WebKit::NetworkTransportSession::SecurityProtocolMetadata::metadata const): 
Deleted.
* 
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm:
(WebKit::NetworkTransportSession::create):
(WebKit::NetworkTransportSession::NetworkTransportSession):
(WebKit::createParameters):
(WebKit::NetworkTransportSession::securityMetadata const):
(WebKit::NetworkTransportSession::exportKeyingMaterial):
* Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.h:
* Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.mm:
(TestWebKitAPI::securityMetadata):
(TestWebKitAPI::ConnectionGroup::exportKeyingMaterial const):
* Tools/TestWebKitAPI/Helpers/cocoa/WebTransportServer.h:
* Tools/TestWebKitAPI/Helpers/cocoa/WebTransportServer.mm:
(TestWebKitAPI::WebTransportServer::WebTransportServer):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WebTransport.mm:
(TestWebKitAPI::ExportKeyingMaterial)):

Canonical link: https://commits.webkit.org/319414@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to