| Code-Review | +1 |
I don't think I have owners on any of these files, but I approve anyway.
(I'm assuming I got added because I spoke positively about SSM in email :-)
if (active_memberships_.count(key)) {nit: active_memberships_.contains(key) (we're on C++20 and this is more idiomatic).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
if (active_memberships_.count(key)) {nit: active_memberships_.contains(key) (we're on C++20 and this is more idiomatic).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
This CL implements Source-Specific Multicast (SSM) for the DirectThis CL does not have any Web API explainer/spec/design document which is a must, since it targets to be a change to existing web api.
void JoinGroup(const net::IPAddress& group_address,Why is it implemented as a separate code instead of modifying already existing one for joining multicast group of udp socket? So we end up with 2 implementation?
bool MulticastGroupController::IsValidMulticastAddress(The better place for such checks and logic of keeping memberships is the renderer side. In case in browser process IP is invalid, means that renderer is malicious and mojo pipe can be killed.
See third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
interface MulticastGroupController {Is there a reason to create a separate MulticastGroupController instead of adding to RestrictedUDPSocket?
struct DirectMulticastGroupOptions {There's already api to join multicast groups without source_address in RestrictedUDPSocket.
interface DirectMulticastController {This duplicates the introduced functions of services/network/public/mojom/restricted_udp_socket.mojom
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
return ERR_ADDRESS_INVALID;Omar Ramadanunreachable line.
Done
Why is it implemented as a separate code instead of modifying already existing one for joining multicast group of udp socket? So we end up with 2 implementation?
Done
The better place for such checks and logic of keeping memberships is the renderer side. In case in browser process IP is invalid, means that renderer is malicious and mojo pipe can be killed.
See third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
Done
Is there a reason to create a separate MulticastGroupController instead of adding to RestrictedUDPSocket?
Done
There's already api to join multicast groups without source_address in RestrictedUDPSocket.
Done
This duplicates the introduced functions of services/network/public/mojom/restricted_udp_socket.mojom
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
This CL implements Source-Specific Multicast (SSM) for the DirectThis CL does not have any Web API explainer/spec/design document which is a must, since it targets to be a change to existing web api.
Ah gotcha thanks for the heads up! I have an explainer at https://github.com/WICG/direct-sockets/issues/80 I've sent an email to webstatu...@google.com and will upload as soon as I have access to "Add new feature".
This CL implements Source-Specific Multicast (SSM) for the DirectOmar RamadanThis CL does not have any Web API explainer/spec/design document which is a must, since it targets to be a change to existing web api.
Ah gotcha thanks for the heads up! I have an explainer at https://github.com/WICG/direct-sockets/issues/80 I've sent an email to webstatu...@google.com and will upload as soon as I have access to "Add new feature".
Drive-by comment: you'll also need to send an Intent to Ship and get it approved before landing this CL (or, ideally, land this CL behind a disabled-by-default feature flag, then enable the flag once it's approved).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
This CL implements Source-Specific Multicast (SSM) for the DirectOmar RamadanThis CL does not have any Web API explainer/spec/design document which is a must, since it targets to be a change to existing web api.
Ah gotcha thanks for the heads up! I have an explainer at https://github.com/WICG/direct-sockets/issues/80 I've sent an email to webstatu...@google.com and will upload as soon as I have access to "Add new feature".
Added here, https://chromestatus.com/feature/6208452397498368 still trying to navigate the process so appreciate any further guidance
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
This CL implements Source-Specific Multicast (SSM) for the DirectOmar RamadanThis CL does not have any Web API explainer/spec/design document which is a must, since it targets to be a change to existing web api.
Omar RamadanAh gotcha thanks for the heads up! I have an explainer at https://github.com/WICG/direct-sockets/issues/80 I've sent an email to webstatu...@google.com and will upload as soon as I have access to "Add new feature".
Added here, https://chromestatus.com/feature/6208452397498368 still trying to navigate the process so appreciate any further guidance
That's great (and I appreciate the process might feel like a lot, especially for the first time). With that, and https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md - it's sufficient to land the code (disabled by default), once the code owners are happy with it.
https://www.chromium.org/blink/launching-features/#prototyping covers that as well as sending an Intent to Prototype email to blink-dev (typically this is done before landing the feature). Once you get past that, and want to move to the Intent to Ship stage, feel free to email me, I'm happy to help answer any questions.
| Code-Review | -1 |
Do not submit unless intent to prototype is approved.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
TEST_F(UDPSocketTest, JoinSourceGroupIPv4) {I would split the CL into multiple. The /net/socket/ directory should be in a separate CL from other layers to simplify job of the reviewers.
// Result codes for Direct Sockets operations.unused?
public:If blink layer is modified, then it must be tested.
First of all unit tests: third_party/blink/renderer/modules/direct_sockets/multicast_controller_unittest.cc
Second, e2e tests on chrome or content layer:
content/browser/direct_sockets/direct_sockets_udp_browsertest.cc,
chrome/browser/direct_sockets/direct_sockets_apitest.cc
There should be complete cases, checking that source filtering works, and many other corner cases.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Add Source-Specific Multicast (SSM) support to Direct Sockets APIAttach link to chrome entry for other reviewers.