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