[webkit-changes] [WebKit/WebKit] f08c4e: Begin implementing WebTransport network interface ...

Alex Christensen noreply at github.com
Tue Sep 3 08:27:39 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f08c4eb963415657f9ad044292a86d4095b23aa1
      https://github.com/WebKit/WebKit/commit/f08c4eb963415657f9ad044292a86d4095b23aa1
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2024-09-03 (Tue, 03 Sep 2024)

  Changed paths:
    M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h
    A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm
    A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm
    A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm
    M Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Network/WebTransportSession.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm
    M Tools/TestWebKitAPI/WebTransportServer.h
    M Tools/TestWebKitAPI/WebTransportServer.mm
    R Tools/TestWebKitAPI/cocoa/WebTransportServer.h
    R Tools/TestWebKitAPI/cocoa/WebTransportServer.mm

  Log Message:
  -----------
  Begin implementing WebTransport network interface using quic streams
https://bugs.webkit.org/show_bug.cgi?id=278967

Reviewed by Matthew Finkel.

My initial implementation to get some bytes on the network used h2, but that requires
a bunch of metadata like headers and verbs and status codes, which isn't like WebTransport.
This uses quic streams to begin sending and receiving bytes in a format that is closer
to what we will want for WebTransport.

* Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp:
(WebKit::NetworkTransportBidirectionalStream::NetworkTransportBidirectionalStream): Deleted.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp:
(WebKit::NetworkTransportReceiveStream::NetworkTransportReceiveStream): Deleted.
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h:
(WebKit::NetworkTransportReceiveStream::identifier const):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp:
(WebKit::NetworkTransportSendStream::sendBytes):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp:
(WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream):
(WebKit::NetworkTransportSession::createBidirectionalStream):
(WebKit::NetworkTransportSession::receiveIncomingUnidirectionalStream):
(WebKit::NetworkTransportSession::receiveBidirectionalStream):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h:
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm: Copied from Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp.
(WebKit::NetworkTransportBidirectionalStream::NetworkTransportBidirectionalStream):
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm: Added.
(WebKit::NetworkTransportReceiveStream::NetworkTransportReceiveStream):
(WebKit::NetworkTransportReceiveStream::receiveLoop):
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm: Copied from Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp.
(WebKit::NetworkTransportSendStream::NetworkTransportSendStream):
(WebKit::NetworkTransportSendStream::sendBytes):
* Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm:
(WebKit::NetworkTransportSession::NetworkTransportSession):
(WebKit::NetworkTransportSession::initialize):
(WebKit::NetworkTransportSession::sendDatagram):
(WebKit::NetworkTransportSession::createBidirectionalStream):
(WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/WebTransportSession.cpp:
(WebKit::WebTransportSession::streamReceiveBytes):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm:
(TestWebKitAPI::TEST(WebTransport, Basic)):
* Tools/TestWebKitAPI/WebTransportServer.h:
(TestWebKitAPI::WebTransportServer::bytesReceived const): Deleted.
(TestWebKitAPI::WebTransportServer::setBytesReceived): Deleted.
(): Deleted.
* Tools/TestWebKitAPI/WebTransportServer.mm:
(TestWebKitAPI::WebTransportServer::WebTransportServer):
(TestWebKitAPI::connectionLoop): Deleted.
* Tools/TestWebKitAPI/cocoa/WebTransportServer.h: Removed.
* Tools/TestWebKitAPI/cocoa/WebTransportServer.mm: Removed.

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



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


More information about the webkit-changes mailing list