Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d21fd0303823030d06a1ec5e400a0d9b04afcb75
https://github.com/WebKit/WebKit/commit/d21fd0303823030d06a1ec5e400a0d9b04afcb75
Author: Alex Christensen <[email protected]>
Date: 2025-10-01 (Wed, 01 Oct 2025)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/streams/ReadableStream.h
M Source/WebCore/Modules/streams/ReadableStream.idl
M Source/WebCore/Modules/streams/WritableStream.h
M Source/WebCore/Modules/webtransport/WebTransport.cpp
M Source/WebCore/Modules/webtransport/WebTransport.h
M Source/WebCore/Modules/webtransport/WebTransport.idl
M
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamConstructionParameters.cpp
M
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamConstructionParameters.h
A Source/WebCore/Modules/webtransport/WebTransportConnectionStats.h
A Source/WebCore/Modules/webtransport/WebTransportConnectionStats.idl
M Source/WebCore/Modules/webtransport/WebTransportDatagramStats.h
M Source/WebCore/Modules/webtransport/WebTransportDatagramStats.idl
M Source/WebCore/Modules/webtransport/WebTransportReceiveStream.cpp
M Source/WebCore/Modules/webtransport/WebTransportReceiveStream.h
M Source/WebCore/Modules/webtransport/WebTransportReceiveStream.idl
M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamStats.h
M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamStats.idl
M Source/WebCore/Modules/webtransport/WebTransportSendStream.cpp
M Source/WebCore/Modules/webtransport/WebTransportSendStream.h
M Source/WebCore/Modules/webtransport/WebTransportSendStream.idl
A Source/WebCore/Modules/webtransport/WebTransportSendStreamSink.cpp
A Source/WebCore/Modules/webtransport/WebTransportSendStreamSink.h
M Source/WebCore/Modules/webtransport/WebTransportSendStreamStats.h
M Source/WebCore/Modules/webtransport/WebTransportSendStreamStats.idl
M Source/WebCore/Modules/webtransport/WebTransportSession.h
R Source/WebCore/Modules/webtransport/WebTransportStats.h
R Source/WebCore/Modules/webtransport/WebTransportStats.idl
M Source/WebCore/Modules/webtransport/WorkerWebTransportSession.cpp
M Source/WebCore/Modules/webtransport/WorkerWebTransportSession.h
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/bindings/js/JSReadableStreamCustom.cpp
M Source/WebCore/bindings/js/JSWritableStreamCustom.cpp
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources.make
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/NetworkProcess/webtransport/NetworkTransportStream.cpp
M Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.h
A Source/WebKit/NetworkProcess/webtransport/WebTransport.serialization.in
M
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm
M
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportStreamCocoa.mm
M Source/WebKit/Sources.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
R Source/WebKit/WebProcess/Network/WebTransportSendStreamSink.cpp
R Source/WebKit/WebProcess/Network/WebTransportSendStreamSink.h
M Source/WebKit/WebProcess/Network/WebTransportSession.cpp
M Source/WebKit/WebProcess/Network/WebTransportSession.h
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm
Log Message:
-----------
Add piping for WebTransport statistics API calls
https://bugs.webkit.org/show_bug.cgi?id=299935
rdar://160151501
Reviewed by Matthew Finkel.
In order to have the context to make getStats calls, WebTransportReceiveStream
and WebTransportSendStream need to have a WebTransportSession and an identifier.
Rather than pass the identifier from WebKit to WebCore as separate objects,
I moved WebTransportSendStreamSink from WebKit to WebCore and gave it an
identifier
accessor. This makes WebTransportBidirectionalStreamConstructionParameters
redundant,
but that can be simplified in a future PR. This one's big enough.
The rest of the PR is just piping information around. The stats are currently
not
available, but we know we need to get them from the connection and connection
group,
so this pipes the information to the right place and implements the simplest
pieces
of it.
Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/webtransport/WebTransport.cpp:
(WebCore::WebTransport::receiveIncomingUnidirectionalStream):
(WebCore::createBidirectionalStream):
(WebCore::WebTransport::receiveBidirectionalStream):
(WebCore::WebTransport::getStats):
(WebCore::WebTransport::createBidirectionalStream):
(WebCore::WebTransport::createUnidirectionalStream):
* Source/WebCore/Modules/webtransport/WebTransport.h:
* Source/WebCore/Modules/webtransport/WebTransport.idl:
*
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamConstructionParameters.cpp:
(WebCore::WebTransportBidirectionalStreamConstructionParameters::WebTransportBidirectionalStreamConstructionParameters):
*
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamConstructionParameters.h:
* Source/WebCore/Modules/webtransport/WebTransportConnectionStats.h: Renamed
from Source/WebCore/Modules/webtransport/WebTransportStats.h.
(WebCore::WebTransportConnectionStats::isolatedCopy const):
* Source/WebCore/Modules/webtransport/WebTransportConnectionStats.idl: Renamed
from Source/WebCore/Modules/webtransport/WebTransportStats.idl.
* Source/WebCore/Modules/webtransport/WebTransportDatagramStats.h:
(WebCore::WebTransportDatagramStats::isolatedCopy const):
* Source/WebCore/Modules/webtransport/WebTransportDatagramStats.idl:
* Source/WebCore/Modules/webtransport/WebTransportReceiveStream.cpp:
(WebCore::WebTransportReceiveStream::create):
(WebCore::WebTransportReceiveStream::WebTransportReceiveStream):
(WebCore::WebTransportReceiveStream::getStats):
* Source/WebCore/Modules/webtransport/WebTransportReceiveStream.h:
* Source/WebCore/Modules/webtransport/WebTransportReceiveStream.idl:
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamStats.h:
(WebCore::WebTransportReceiveStreamStats::isolatedCopy const):
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamStats.idl:
* Source/WebCore/Modules/webtransport/WebTransportSendStream.cpp:
(WebCore::WebTransportSendStream::create):
(WebCore::WebTransportSendStream::WebTransportSendStream):
(WebCore::WebTransportSendStream::getStats):
* Source/WebCore/Modules/webtransport/WebTransportSendStream.h:
* Source/WebCore/Modules/webtransport/WebTransportSendStream.idl:
* Source/WebCore/Modules/webtransport/WebTransportSendStreamSink.cpp: Renamed
from Source/WebKit/WebProcess/Network/WebTransportSendStreamSink.cpp.
(WebCore::WebTransportSendStreamSink::WebTransportSendStreamSink):
(WebCore::WebTransportSendStreamSink::~WebTransportSendStreamSink):
(WebCore::WebTransportSendStreamSink::write):
(WebCore::WebTransportSendStreamSink::close):
(WebCore::WebTransportSendStreamSink::error):
* Source/WebCore/Modules/webtransport/WebTransportSendStreamSink.h: Renamed
from Source/WebKit/WebProcess/Network/WebTransportSendStreamSink.h.
(WebCore::WebTransportSendStreamSink::create):
(WebCore::WebTransportSendStreamSink::identifier const):
* Source/WebCore/Modules/webtransport/WebTransportSendStreamStats.h:
(WebCore::WebTransportSendStreamStats::isolatedCopy const):
* Source/WebCore/Modules/webtransport/WebTransportSendStreamStats.idl:
* Source/WebCore/Modules/webtransport/WebTransportSession.h:
* Source/WebCore/Modules/webtransport/WorkerWebTransportSession.cpp:
(WebCore::WorkerWebTransportSession::streamSendBytes):
(WebCore::WorkerWebTransportSession::getStats):
(WebCore::WorkerWebTransportSession::getSendStreamStats):
(WebCore::WorkerWebTransportSession::getReceiveStreamStats):
* Source/WebCore/Modules/webtransport/WorkerWebTransportSession.h:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp:
(WebKit::NetworkTransportSession::cancelReceiveStream):
(WebKit::NetworkTransportSession::cancelSendStream):
(WebKit::NetworkTransportSession::destroyStream):
(WebKit::NetworkTransportSession::getSendStreamStats):
(WebKit::NetworkTransportSession::getReceiveStreamStats):
(WebKit::NetworkTransportSession::getStats):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.messages.in:
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.cpp:
(WebKit::NetworkTransportStream::getSendStreamStats):
(WebKit::NetworkTransportStream::getReceiveStreamStats):
* Source/WebKit/NetworkProcess/webtransport/NetworkTransportStream.h:
* Source/WebKit/NetworkProcess/webtransport/WebTransport.serialization.in:
Copied from
Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.messages.in.
*
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm:
(WebKit::NetworkTransportSession::getStats):
*
Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportStreamCocoa.mm:
(WebKit::NetworkTransportStream::sendBytes):
(WebKit::NetworkTransportStream::receiveLoop):
(WebKit::NetworkTransportStream::getSendStreamStats):
(WebKit::NetworkTransportStream::getReceiveStreamStats):
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/WebTransportSession.cpp:
(WebKit::WebTransportSession::receiveBidirectionalStream):
(WebKit::WebTransportSession::createOutgoingUnidirectionalStream):
(WebKit::WebTransportSession::createBidirectionalStream):
(WebKit::WebTransportSession::getStats):
(WebKit::WebTransportSession::getSendStreamStats):
(WebKit::WebTransportSession::getReceiveStreamStats):
* Source/WebKit/WebProcess/Network/WebTransportSession.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm:
(TestWebKitAPI::TEST(WebTransport, ClientBidirectional)):
Canonical link: https://commits.webkit.org/300850@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes