Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e1eeee566f94a54c79f592b305489c2795760f9a
https://github.com/WebKit/WebKit/commit/e1eeee566f94a54c79f592b305489c2795760f9a
Author: Jeffrey Xu <[email protected]>
Date: 2026-08-14 (Fri, 14 Aug 2026)
Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.h
M Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.mm
M Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.swift
M Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.h
M Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.mm
A Tools/TestWebKitAPI/Helpers/cocoa/NetworkSPI.h
M Tools/TestWebKitAPI/Scripts/generate-unified-sources.sh
M Tools/TestWebKitAPI/SourcesCocoa.txt
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebKit/WKWebView/HTTP2Server.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Preconnect.mm
M Tools/TestWebKitAPI/UnifiedSources-output.xcfilelist
Log Message:
-----------
Add an HTTP/2 server to API tests.
rdar://181640669
Reviewed by Alex Christensen.
This is implemented with the libnetcore library, similar to other existing API
test helpers.
The Http2 enum was already used for raw HTTP2 frames in the preconnect test, so
this change renames it to Http2Raw. The new methods and classes will be reused
for the HTTP/3 server, so they have a protocol-agnostic name.
This commit was partially written by Claude, with human review.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/HTTP2Server.mm
* Source/WTF/wtf/PlatformHave.h:
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.h:
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.mm:
(TestWebKitAPI::shouldDisableTLS):
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::HTTPServer::scheme const):
(TestWebKitAPI::HTTPServer::respondToHTTPMessagingRequests):
* Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.h:
(TestWebKitAPI::Connection::receiveHTTPMessagingRequest):
(TestWebKitAPI::ReceiveHTTPMessagingRequestOperation::ReceiveHTTPMessagingRequestOperation):
(TestWebKitAPI::ReceiveHTTPMessagingRequestOperation::await_ready):
(TestWebKitAPI::ReceiveHTTPMessagingRequestOperation::await_resume):
(TestWebKitAPI::SendHTTPMessagingResponseOperation::await_ready):
(TestWebKitAPI::SendHTTPMessagingResponseOperation::await_resume):
* Tools/TestWebKitAPI/Helpers/cocoa/NetworkConnection.mm:
(TestWebKitAPI::Connection::receiveHTTPMessagingRequest const):
(TestWebKitAPI::Connection::awaitableReceiveHTTPMessagingRequest const):
(TestWebKitAPI::ReceiveHTTPMessagingRequestOperation::await_suspend):
(TestWebKitAPI::Connection::sendHTTPMessagingResponse const):
(TestWebKitAPI::Connection::awaitableSendHTTPMessagingResponse):
(TestWebKitAPI::SendHTTPMessagingResponseOperation::SendHTTPMessagingResponseOperation):
(TestWebKitAPI::SendHTTPMessagingResponseOperation::await_suspend):
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/HTTP2Server.mm: Added.
(-[HTTP2ServerSessionDelegate
URLSession:task:didReceiveChallenge:completionHandler:]):
(TestWebKitAPI::TEST(HTTP2Server, RoundTrip)):
(TestWebKitAPI::TEST(HTTP2Server, RequestMethodPathAndHeaders)):
(TestWebKitAPI::TEST(HTTP2Server, POSTBody)):
(TestWebKitAPI::TEST(HTTP2Server, NonDefaultStatusCodeAndResponseHeader)):
(TestWebKitAPI::TEST(HTTP2Server, MultipleRequestsOverOneConnection)):
(-[HTTP2ServerSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/Preconnect.mm:
(TestWebKitAPI::TEST(Preconnect, H2Ping)):
(TestWebKitAPI::TEST(Preconnect, H2PingFromWebCoreNSURLSession)):
* Tools/TestWebKitAPI/Helpers/cocoa/HTTPServer.swift:
* Tools/TestWebKitAPI/Helpers/cocoa/NetworkSPI.h: Added.
* Tools/TestWebKitAPI/Scripts/generate-unified-sources.sh:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/UnifiedSources-output.xcfilelist:
Canonical link: https://commits.webkit.org/319178@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications