Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7d08e130dc4395638075edb553966d2b4a6659b9
      
https://github.com/WebKit/WebKit/commit/7d08e130dc4395638075edb553966d2b4a6659b9
  Author: Alex Christensen <[email protected]>
  Date:   2025-11-19 (Wed, 19 Nov 2025)

  Changed paths:
    M Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.cpp
    M Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.h
    M Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.idl
    M Source/WebCore/Modules/webtransport/WebTransportSession.h
    M Source/WebCore/Modules/webtransport/WorkerWebTransportSession.cpp
    M Source/WebCore/Modules/webtransport/WorkerWebTransportSession.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h
    M 
Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.messages.in
    M Source/WebKit/WebProcess/Network/WebTransportSession.cpp
    M Source/WebKit/WebProcess/Network/WebTransportSession.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm

  Log Message:
  -----------
  Pipe datagram properties to the network process
https://bugs.webkit.org/show_bug.cgi?id=302769
rdar://165028265

Reviewed by Matthew Finkel.

JavaScript can specify 4 values to control the timing and buffering of 
datagrams.
These values need to get to the network process to be hooked up to interfaces 
that
don't exist yet.  I thought about using one IPC message for updating a property
with WebKit's first use of std::in_place_index_t, but that didn't read as well
as 4 different IPC messages for the 4 different values.

While I was touching WebTransportDatagramDuplexStream, I did make one observable
change to make maxDatagramSize 65535 as advised by Ankshit instead of the random
value I blindly chose several years ago.  I added a test for this.

* Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.cpp:
(WebCore::WebTransportDatagramDuplexStream::session):
(WebCore::WebTransportDatagramDuplexStream::setIncomingMaxAge):
(WebCore::WebTransportDatagramDuplexStream::setOutgoingMaxAge):
(WebCore::WebTransportDatagramDuplexStream::setIncomingHighWaterMark):
(WebCore::WebTransportDatagramDuplexStream::setOutgoingHighWaterMark):
* Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.h:
(WebCore::WebTransportDatagramDuplexStream::maxDatagramSize const):
(WebCore::WebTransportDatagramDuplexStream::incomingMaxAge const):
(WebCore::WebTransportDatagramDuplexStream::outgoingMaxAge const):
(WebCore::WebTransportDatagramDuplexStream::incomingHighWaterMark const):
(WebCore::WebTransportDatagramDuplexStream::outgoingHighWaterMark const):
(WebCore::WebTransportDatagramDuplexStream::maxDatagramSize): Deleted.
(WebCore::WebTransportDatagramDuplexStream::incomingMaxAge): Deleted.
(WebCore::WebTransportDatagramDuplexStream::outgoingMaxAge): Deleted.
(WebCore::WebTransportDatagramDuplexStream::incomingHighWaterMark): Deleted.
(WebCore::WebTransportDatagramDuplexStream::outgoingHighWaterMark): Deleted.
* Source/WebCore/Modules/webtransport/WebTransportDatagramDuplexStream.idl:
* Source/WebCore/Modules/webtransport/WebTransportSession.h:
* Source/WebCore/Modules/webtransport/WorkerWebTransportSession.cpp:
(WebCore::WorkerWebTransportSession::datagramIncomingMaxAgeUpdated):
(WebCore::WorkerWebTransportSession::datagramOutgoingMaxAgeUpdated):
(WebCore::WorkerWebTransportSession::datagramIncomingHighWaterMarkUpdated):
(WebCore::WorkerWebTransportSession::datagramOutgoingHighWaterMarkUpdated):
* Source/WebCore/Modules/webtransport/WorkerWebTransportSession.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp:
(WebKit::NetworkTransportSession::datagramIncomingMaxAgeUpdated):
(WebKit::NetworkTransportSession::datagramOutgoingMaxAgeUpdated):
(WebKit::NetworkTransportSession::datagramIncomingHighWaterMarkUpdated):
(WebKit::NetworkTransportSession::datagramOutgoingHighWaterMarkUpdated):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.messages.in:
* Source/WebKit/WebProcess/Network/WebTransportSession.cpp:
(WebKit::WebTransportSession::datagramIncomingMaxAgeUpdated):
(WebKit::WebTransportSession::datagramOutgoingMaxAgeUpdated):
(WebKit::WebTransportSession::datagramIncomingHighWaterMarkUpdated):
(WebKit::WebTransportSession::datagramOutgoingHighWaterMarkUpdated):
* Source/WebKit/WebProcess/Network/WebTransportSession.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm:
(TestWebKitAPI::TEST(WebTransport, Datagram)):

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



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

Reply via email to