WritableStream* writable_stream;nit: Per Chromium convention, local pointer variables should be initialized
```
WritableStream* writable_stream = nullptr;
OutgoingStream* outgoing_stream = nullptr;
```
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
outgoing_stream_->InitWithExistingWritableStream(send_stream_.Get(),This breaks encapsulation, as BidirectionalStream should not need to orchestrate the internal wiring of its child stream. Can we use `DynamicTo<>` to resolve the exact type at runtime and call its respective Init() method? This will allow us to remove the `outgoing_stream_` member variable from this class.
[FAIL] WebTransport client should be able to modify unset sendOrder after stream creationIt looks like we should update the WPT since https://github.com/w3c/webtransport/pull/548 made sendOrder no longer nullable.
Can we update the tests in https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webtransport/sendorder.https.any.js to match the spec?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
outgoing_stream_->InitWithExistingWritableStream(send_stream_.Get(),This breaks encapsulation, as BidirectionalStream should not need to orchestrate the internal wiring of its child stream. Can we use `DynamicTo<>` to resolve the exact type at runtime and call its respective Init() method? This will allow us to remove the `outgoing_stream_` member variable from this class.
Done. `Init()` and `GetOutgoingStream()` now use `DynamicTo<WebTransportSendStream>` to resolve the concrete type at runtime and dispatch to the child's own `Init()/GetOutgoingStream()`. The `outgoing_stream_` member has been removed from `BidirectionalStream`.
Note: SendStream lacks `DowncastTraits` (it has no IDL binding), so `DynamicTo<SendStream>` isn't available for the fallback path. We `CHECK` non-null and rely on the constructor-established type invariant for the static_cast there.
[FAIL] WebTransport client should be able to modify unset sendOrder after stream creationIt looks like we should update the WPT since https://github.com/w3c/webtransport/pull/548 made sendOrder no longer nullable.
Can we update the tests in https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webtransport/sendorder.https.any.js to match the spec?
Done. Updated sendorder.https.any.js to match the spec change
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
nit: Per Chromium convention, local pointer variables should be initialized
```
WritableStream* writable_stream = nullptr;
OutgoingStream* outgoing_stream = nullptr;
```
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +2 |
Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/58935.
When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.
WPT Export docs:
https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Add WebTransportSendStream interface with sendGroup/sendOrder
Introduce the WebTransportSendStream interface a WritableStream subclass
with sendGroup and sendOrder attributes per the W3C WebTransport spec.
When the WebTransportSendGroup runtime flag is enabled,
createUnidirectionalStream() and createBidirectionalStream() now return
WebTransportSendStream objects instead of plain
WritableStream/SendStream. When the flag is off, behavior is unchanged.
This CL also extracts the duplicated OutgoingStreamClient into a shared
header used by both SendStream and WebTransportSendStream.
Setters are local-only stubs — Mojo plumbing for network-side priority
updates will be added in a follow-up CL.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |