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

Reply via email to