Reland "Multicast support in Direct Sockets #1" [chromium/src : main]

0 views
Skip to first unread message

Andrew Rayskiy (Gerrit)

unread,
Sep 2, 2025, 12:19:21 PM9/2/25
to Vlad Krot, AyeAye, Camille Lamy, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
Attention needed from Camille Lamy and Vlad Krot

Andrew Rayskiy voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Camille Lamy
  • Vlad Krot
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
Gerrit-Change-Number: 6907596
Gerrit-PatchSet: 3
Gerrit-Owner: Vlad Krot <vk...@google.com>
Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Vlad Krot <vk...@google.com>
Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Simon Hangl <sim...@google.com>
Gerrit-CC: gwsq
Gerrit-Attention: Vlad Krot <vk...@google.com>
Gerrit-Attention: Camille Lamy <cl...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Sep 2025 16:19:05 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Andrey Kosyakov (Gerrit)

unread,
Sep 2, 2025, 3:50:09 PM9/2/25
to Vlad Krot, Andrew Rayskiy, AyeAye, Camille Lamy, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
Attention needed from Camille Lamy and Vlad Krot

Andrey Kosyakov added 19 comments

File content/browser/direct_sockets/direct_sockets_service_impl.cc
Line 167, Patchset 3 (Latest): absl::Overload{[&](content::RenderFrameHost* rfh) {
Andrey Kosyakov . unresolved

no need for capture-all here and below, just `[]`.

Line 596, Patchset 3 (Latest): socket_options->allow_address_sharing_for_multicast =
Andrey Kosyakov . unresolved

nit: might as well go with

`socket_options->allow_address_sharing_for_multicast = options->multicast_allow_address_sharing.value_or(false)` and ditch the conditional for readability (ditto below)

File third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
Line 20, Patchset 3 (Latest):#include "third_party/blink/renderer/platform/heap/member.h"
Andrey Kosyakov . unresolved

also unused.

Line 18, Patchset 3 (Latest):#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_set.h"
Andrey Kosyakov . unresolved

unused?

Line 11, Patchset 3 (Latest):#include "third_party/blink/renderer/bindings/core/v8/script_promise_property.h"
Andrey Kosyakov . unresolved

unused?

Line 9, Patchset 3 (Latest):#include "third_party/blink/renderer/bindings/core/v8/frozen_array.h"
Andrey Kosyakov . unresolved

unused?

File third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
Line 13, Patchset 3 (Latest):#include "third_party/blink/renderer/bindings/core/v8/script_promise_property.h"
Andrey Kosyakov . unresolved

unused

Line 14, Patchset 3 (Latest):#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
Andrey Kosyakov . unresolved

redundant.

Line 17, Patchset 3 (Latest):#include "third_party/blink/renderer/platform/heap/persistent.h"
Andrey Kosyakov . unresolved

unused

Line 18, Patchset 3 (Latest):#include "third_party/blink/renderer/platform/wtf/forward.h"
Andrey Kosyakov . unresolved

remove?

Line 29, Patchset 3 (Latest): exception_state.ThrowTypeError(
Andrey Kosyakov . unresolved

Should this be `ThrowSyntaxError()`?

Line 39, Patchset 3 (Latest): } else {
Andrey Kosyakov . unresolved

nit: no else after return.

Line 55, Patchset 3 (Latest): exception_state.ThrowTypeError(
Andrey Kosyakov . unresolved
Line 67, Patchset 3 (Latest): exception_state.ThrowTypeError("Cannot join the same group again");
Andrey Kosyakov . unresolved

This looks like a state error too.

Line 74, Patchset 3 (Latest): // TODO(crbug.com/398934282): join the group. For now promise never resolves.
Andrey Kosyakov . unresolved

FWIW, it will also trigger a DCECK() upon unsettled promise being GC'ed. You would need to suppress this using `SuppressDetachCheck()`

Line 84, Patchset 3 (Latest): exception_state.ThrowTypeError(
Andrey Kosyakov . unresolved

invalid state?

Line 97, Patchset 3 (Latest): exception_state.ThrowTypeError("Cannot leave group which is not joined");
Andrey Kosyakov . unresolved

ditto

File third_party/blink/renderer/modules/direct_sockets/udp_socket.cc
Line 134, Patchset 3 (Latest): socket_options->multicast_time_to_live = options->multicastTimeToLive();
Andrey Kosyakov . unresolved

here and below, assign unconditionally?

Line 195, Patchset 3 (Latest): if (options->hasMulticastAllowAddressSharing()) {
Andrey Kosyakov . unresolved

ditto

Open in Gerrit

Related details

Attention is currently required from:
  • Camille Lamy
  • Vlad Krot
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
    Gerrit-Change-Number: 6907596
    Gerrit-PatchSet: 3
    Gerrit-Owner: Vlad Krot <vk...@google.com>
    Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
    Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Vlad Krot <vk...@google.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: Simon Hangl <sim...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Vlad Krot <vk...@google.com>
    Gerrit-Attention: Camille Lamy <cl...@chromium.org>
    Gerrit-Comment-Date: Tue, 02 Sep 2025 19:49:57 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Camille Lamy (Gerrit)

    unread,
    Sep 3, 2025, 5:44:10 AM9/3/25
    to Vlad Krot, Andrey Kosyakov, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
    Attention needed from Vlad Krot

    Camille Lamy voted and added 1 comment

    Votes added by Camille Lamy

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 3 (Latest):
    Camille Lamy . resolved

    lgtm

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Vlad Krot
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    Gerrit-Comment-Date: Wed, 03 Sep 2025 09:43:52 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Vlad Krot (Gerrit)

    unread,
    Sep 3, 2025, 9:05:31 AM9/3/25
    to Camille Lamy, Andrey Kosyakov, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
    Attention needed from Andrey Kosyakov

    Vlad Krot added 19 comments

    File content/browser/direct_sockets/direct_sockets_service_impl.cc
    Line 167, Patchset 3: absl::Overload{[&](content::RenderFrameHost* rfh) {
    Andrey Kosyakov . resolved

    no need for capture-all here and below, just `[]`.

    Vlad Krot

    Done

    Line 596, Patchset 3: socket_options->allow_address_sharing_for_multicast =
    Andrey Kosyakov . resolved

    nit: might as well go with

    `socket_options->allow_address_sharing_for_multicast = options->multicast_allow_address_sharing.value_or(false)` and ditch the conditional for readability (ditto below)

    Vlad Krot

    I'd rather leave it like to be an empty value, to be consistent with other parameters.

    File third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
    Line 20, Patchset 3:#include "third_party/blink/renderer/platform/heap/member.h"
    Andrey Kosyakov . resolved

    also unused.

    Vlad Krot

    Yes, thanks!

    Line 18, Patchset 3:#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_set.h"
    Andrey Kosyakov . resolved

    unused?

    Vlad Krot

    Yes, thanks!

    Line 11, Patchset 3:#include "third_party/blink/renderer/bindings/core/v8/script_promise_property.h"
    Andrey Kosyakov . resolved

    unused?

    Vlad Krot

    Yes, thanks!

    Line 9, Patchset 3:#include "third_party/blink/renderer/bindings/core/v8/frozen_array.h"
    Andrey Kosyakov . resolved

    unused?

    Vlad Krot

    Yes, thanks!

    File third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
    Line 13, Patchset 3:#include "third_party/blink/renderer/bindings/core/v8/script_promise_property.h"
    Andrey Kosyakov . resolved

    unused

    Vlad Krot

    Yes, thanks!

    Line 14, Patchset 3:#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
    Andrey Kosyakov . resolved

    redundant.

    Vlad Krot

    Done

    Line 17, Patchset 3:#include "third_party/blink/renderer/platform/heap/persistent.h"
    Andrey Kosyakov . resolved

    unused

    Vlad Krot

    Done

    Line 18, Patchset 3:#include "third_party/blink/renderer/platform/wtf/forward.h"
    Andrey Kosyakov . resolved

    remove?

    Vlad Krot

    Needed for WTF::String

    Line 29, Patchset 3: exception_state.ThrowTypeError(
    Andrey Kosyakov . resolved

    Should this be `ThrowSyntaxError()`?

    Vlad Krot
    Line 39, Patchset 3: } else {
    Andrey Kosyakov . resolved

    nit: no else after return.

    Vlad Krot

    Done

    Line 55, Patchset 3: exception_state.ThrowTypeError(
    Andrey Kosyakov . resolved
    Vlad Krot

    Agree. Fixed.

    Line 67, Patchset 3: exception_state.ThrowTypeError("Cannot join the same group again");
    Andrey Kosyakov . resolved

    This looks like a state error too.

    Vlad Krot

    Done

    Line 74, Patchset 3: // TODO(crbug.com/398934282): join the group. For now promise never resolves.
    Andrey Kosyakov . resolved

    FWIW, it will also trigger a DCECK() upon unsettled promise being GC'ed. You would need to suppress this using `SuppressDetachCheck()`

    Vlad Krot

    This part is removed already.

    Line 84, Patchset 3: exception_state.ThrowTypeError(
    Andrey Kosyakov . resolved

    invalid state?

    Vlad Krot

    Fixed

    Line 97, Patchset 3: exception_state.ThrowTypeError("Cannot leave group which is not joined");
    Andrey Kosyakov . resolved

    ditto

    Vlad Krot

    Done

    File third_party/blink/renderer/modules/direct_sockets/udp_socket.cc
    Line 134, Patchset 3: socket_options->multicast_time_to_live = options->multicastTimeToLive();
    Andrey Kosyakov . resolved

    here and below, assign unconditionally?

    Vlad Krot

    I would rather leave as it is let the socket know these params were not specified.

    Line 195, Patchset 3: if (options->hasMulticastAllowAddressSharing()) {
    Andrey Kosyakov . resolved

    ditto

    Vlad Krot

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Andrey Kosyakov
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
    Gerrit-Change-Number: 6907596
    Gerrit-PatchSet: 4
    Gerrit-Owner: Vlad Krot <vk...@google.com>
    Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
    Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Vlad Krot <vk...@google.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: Simon Hangl <sim...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-Comment-Date: Wed, 03 Sep 2025 13:05:14 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Andrey Kosyakov <ca...@chromium.org>
    satisfied_requirement
    open
    diffy

    Vlad Krot (Gerrit)

    unread,
    Sep 3, 2025, 9:14:20 AM9/3/25
    to Camille Lamy, Andrey Kosyakov, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
    Attention needed from Andrey Kosyakov

    Vlad Krot voted Commit-Queue+2

    Commit-Queue+2
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Andrey Kosyakov
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
    Gerrit-Change-Number: 6907596
    Gerrit-PatchSet: 5
    Gerrit-Owner: Vlad Krot <vk...@google.com>
    Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
    Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Vlad Krot <vk...@google.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: Simon Hangl <sim...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-Comment-Date: Wed, 03 Sep 2025 13:14:00 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Andrey Kosyakov (Gerrit)

    unread,
    Sep 3, 2025, 10:07:09 AM9/3/25
    to Vlad Krot, Camille Lamy, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org
    Attention needed from Vlad Krot

    Andrey Kosyakov voted and added 6 comments

    Votes added by Andrey Kosyakov

    Code-Review+1

    6 comments

    Patchset-level comments
    File-level comment, Patchset 5 (Latest):
    Andrey Kosyakov . resolved

    lgtm with more comments

    File content/browser/direct_sockets/direct_sockets_service_impl.cc
    Line 172, Patchset 5 (Latest): [&](base::WeakPtr<SharedWorkerHost> shared_worker) {
    Andrey Kosyakov . unresolved

    remove this capture-all too

    Line 176, Patchset 5 (Latest): [&](base::WeakPtr<ServiceWorkerVersion> service_worker) {
    Andrey Kosyakov . unresolved

    and this one

    File third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
    Line 28, Patchset 5 (Latest): enum class State { kOpen, kClosed };
    Andrey Kosyakov . unresolved

    nit: move down to the rest of `private` (classes should generally start with `public` section)

    Line 8, Patchset 5 (Latest):#include "net/base/ip_address.h"
    Andrey Kosyakov . unresolved

    unused

    File third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
    Line 18, Patchset 3:#include "third_party/blink/renderer/platform/wtf/forward.h"
    Andrey Kosyakov . unresolved

    remove?

    Vlad Krot

    Needed for WTF::String

    Andrey Kosyakov

    For WTF::String you should include `third_party/blink/renderer/platform/wtf/text/wtf_string.h` instead. This only gives you a forward declaration, and given you actually use string operations here and it compiles, you're likely relying on transitive includes.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Vlad Krot
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
      Gerrit-Change-Number: 6907596
      Gerrit-PatchSet: 5
      Gerrit-Owner: Vlad Krot <vk...@google.com>
      Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Vlad Krot <vk...@google.com>
      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: Simon Hangl <sim...@google.com>
      Gerrit-CC: gwsq
      Gerrit-Attention: Vlad Krot <vk...@google.com>
      Gerrit-Comment-Date: Wed, 03 Sep 2025 14:06:56 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Vlad Krot <vk...@google.com>
      Comment-In-Reply-To: Andrey Kosyakov <ca...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Vlad Krot (Gerrit)

      unread,
      Sep 3, 2025, 10:14:19 AM9/3/25
      to Andrey Kosyakov, Camille Lamy, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org

      Vlad Krot added 5 comments

      File content/browser/direct_sockets/direct_sockets_service_impl.cc
      Line 172, Patchset 5: [&](base::WeakPtr<SharedWorkerHost> shared_worker) {
      Andrey Kosyakov . resolved

      remove this capture-all too

      Vlad Krot

      Done

      Line 176, Patchset 5: [&](base::WeakPtr<ServiceWorkerVersion> service_worker) {
      Andrey Kosyakov . resolved

      and this one

      Vlad Krot

      Done

      File third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
      Line 28, Patchset 5: enum class State { kOpen, kClosed };
      Andrey Kosyakov . resolved

      nit: move down to the rest of `private` (classes should generally start with `public` section)

      Vlad Krot

      Done

      Line 8, Patchset 5:#include "net/base/ip_address.h"
      Andrey Kosyakov . resolved

      unused

      Vlad Krot

      Done

      File third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
      Line 18, Patchset 3:#include "third_party/blink/renderer/platform/wtf/forward.h"
      Andrey Kosyakov . resolved

      remove?

      Vlad Krot

      Needed for WTF::String

      Andrey Kosyakov

      For WTF::String you should include `third_party/blink/renderer/platform/wtf/text/wtf_string.h` instead. This only gives you a forward declaration, and given you actually use string operations here and it compiles, you're likely relying on transitive includes.

      Vlad Krot

      Good observation, fixed.

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
      Gerrit-Change-Number: 6907596
      Gerrit-PatchSet: 5
      Gerrit-Owner: Vlad Krot <vk...@google.com>
      Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Vlad Krot <vk...@google.com>
      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: Simon Hangl <sim...@google.com>
      Gerrit-CC: gwsq
      Gerrit-Comment-Date: Wed, 03 Sep 2025 14:13:59 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Vlad Krot (Gerrit)

      unread,
      Sep 3, 2025, 10:14:25 AM9/3/25
      to Andrey Kosyakov, Camille Lamy, Andrew Rayskiy, AyeAye, Chromium LUCI CQ, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org

      Vlad Krot voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
      Gerrit-Change-Number: 6907596
      Gerrit-PatchSet: 7
      Gerrit-Owner: Vlad Krot <vk...@google.com>
      Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Vlad Krot <vk...@google.com>
      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: Simon Hangl <sim...@google.com>
      Gerrit-CC: gwsq
      Gerrit-Comment-Date: Wed, 03 Sep 2025 14:14:09 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Sep 3, 2025, 10:53:25 AM9/3/25
      to Vlad Krot, Andrey Kosyakov, Camille Lamy, Andrew Rayskiy, AyeAye, Kentaro Hara, chromium...@chromium.org, Chromium IPC Reviews, AI Code Reviewer, Simon Hangl, Raphael Kubo da Costa, ipc-securi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-re...@chromium.org, rmcelra...@chromium.org, kinuko...@chromium.org, jmedle...@chromium.org

      Chromium LUCI CQ submitted the change with unreviewed changes

      Unreviewed changes

      5 is the latest approved patch-set.
      The change was submitted with unreviewed changes in the following files:

      ```
      The name of the file: content/browser/direct_sockets/direct_sockets_service_impl.cc
      Insertions: 2, Deletions: 2.

      @@ -169,11 +169,11 @@
      // permission policy
      return true;
      },
      - [&](base::WeakPtr<SharedWorkerHost> shared_worker) {
      + [](base::WeakPtr<SharedWorkerHost> shared_worker) {
      // TODO(crbug.com/398934282): add shared worker support.
      return false;
      },
      - [&](base::WeakPtr<ServiceWorkerVersion> service_worker) {
      + [](base::WeakPtr<ServiceWorkerVersion> service_worker) {
      // TODO(crbug.com/398934282): add dedicated worker
      // support.
      return false;
      ```
      ```
      The name of the file: third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
      Insertions: 1, Deletions: 2.

      @@ -7,12 +7,11 @@
      #include <optional>

      #include "net/base/ip_address.h"
      -#include "net/base/net_errors.h"
      #include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
      #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
      #include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
      #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
      -#include "third_party/blink/renderer/platform/wtf/forward.h"
      +#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"

      namespace blink {

      ```
      ```
      The name of the file: third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
      Insertions: 3, Deletions: 3.

      @@ -5,7 +5,6 @@
      #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_DIRECT_SOCKETS_MULTICAST_CONTROLLER_H_
      #define THIRD_PARTY_BLINK_RENDERER_MODULES_DIRECT_SOCKETS_MULTICAST_CONTROLLER_H_

      -#include "net/base/ip_address.h"
      #include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
      #include "third_party/blink/renderer/core/execution_context/execution_context.h"
      #include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
      @@ -13,6 +12,7 @@
      #include "third_party/blink/renderer/platform/bindings/exception_state.h"
      #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
      #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
      +#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"

      namespace blink {
      // MulticastController interface from multicast_controller.idl
      @@ -25,8 +25,6 @@
      public ExecutionContextClient {
      DEFINE_WRAPPERTYPEINFO();

      - enum class State { kOpen, kClosed };
      -
      public:
      explicit MulticastController(ExecutionContext*);

      @@ -53,6 +51,8 @@
      const Vector<String>& joinedGroups() const { return joined_groups_; }

      private:
      + enum class State { kOpen, kClosed };
      +
      Vector<String> joined_groups_;

      State state_ = State::kOpen;
      ```

      Change information

      Commit message:
      Reland "Multicast support in Direct Sockets #1"

      This is a reland of commit ca80fdde7bdd64ec6a3baf615bcc473b2ecfe5d1

      Some tests were failing on Fuchsia. Made sure direct sockets tests are
      not run on fuchsia.

      Original change's description:
      > Multicast support in Direct Sockets #1
      >
      > This CL adds IDL files for Multicast and necessary parameters to
      > UDPSocketOptions. Not everything is in place yet. cover: 1. Permission
      > Policy 2. Communication with real socket via mojo 3. Usage histograms 4.
      > Workers support 5. WPT tests (possibly).
      >
      > Explainer
      > https://github.com/explainers-by-googlers/multicast-in-direct-sockets.
      > Chrome Entry https://chromestatus.com/feature/5073740211814400 Intent to
      > prototype
      > https://groups.google.com/a/chromium.org/g/blink-dev/c/ADV4FZtN4nE
      >
      > The functionality is gated behind a blink flag MulticastInDirectSockets.
      >
      > Bug: 398934282
      > Change-Id: I57e7b982269b176e29657d07f69d838e016ad55f
      > Low-Coverage-Reason: TESTS_IN_SEPARATE_CL
      > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6894978
      > Commit-Queue: Vlad Krot <vk...@google.com>
      > Reviewed-by: Camille Lamy <cl...@chromium.org>
      > Reviewed-by: Andrew Rayskiy <green...@google.com>
      > Cr-Commit-Position: refs/heads/main@{#1509508}
      Bug: 398934282
      Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
      Reviewed-by: Andrey Kosyakov <ca...@chromium.org>
      Reviewed-by: Camille Lamy <cl...@chromium.org>
      Reviewed-by: Andrew Rayskiy <green...@google.com>
      Commit-Queue: Vlad Krot <vk...@google.com>
      Cr-Commit-Position: refs/heads/main@{#1510229}
      Files:
      • M content/browser/direct_sockets/direct_sockets_service_impl.cc
      • M content/browser/direct_sockets/direct_sockets_udp_browsertest.cc
      • M content/test/BUILD.gn
      • M third_party/blink/public/mojom/direct_sockets/direct_sockets.mojom
      • M third_party/blink/renderer/bindings/generated_in_modules.gni
      • M third_party/blink/renderer/bindings/idl_in_modules.gni
      • M third_party/blink/renderer/modules/DEPS
      • M third_party/blink/renderer/modules/direct_sockets/BUILD.gn
      • M third_party/blink/renderer/modules/direct_sockets/README.md
      • A third_party/blink/renderer/modules/direct_sockets/multicast_controller.cc
      • A third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
      • A third_party/blink/renderer/modules/direct_sockets/multicast_controller.idl
      • M third_party/blink/renderer/modules/direct_sockets/socket_connection.idl
      • M third_party/blink/renderer/modules/direct_sockets/socket_options.idl
      • M third_party/blink/renderer/modules/direct_sockets/udp_socket.cc
      • M third_party/blink/renderer/modules/direct_sockets/udp_socket.h
      Change size: L
      Delta: 16 files changed, 359 insertions(+), 8 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Andrey Kosyakov, +1 by Camille Lamy, +1 by Andrew Rayskiy
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib65f989ed69b90422806e907ede9669417f74dc4
      Gerrit-Change-Number: 6907596
      Gerrit-PatchSet: 8
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages