extensions: Tab group API visual data for desktop Android, part 3 [chromium/src : main]

0 views
Skip to first unread message

James Cook (Gerrit)

unread,
Jan 7, 2026, 3:51:03 PM (2 days ago) Jan 7
to Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Zoraiz Naeem

James Cook added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
James Cook . resolved

Zoraiz, please take a look. Thanks.

Open in Gerrit

Related details

Attention is currently required from:
  • Zoraiz Naeem
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
Gerrit-Change-Number: 7411040
Gerrit-PatchSet: 4
Gerrit-Owner: James Cook <jame...@chromium.org>
Gerrit-Reviewer: James Cook <jame...@chromium.org>
Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
Gerrit-Attention: Zoraiz Naeem <zorai...@chromium.org>
Gerrit-Comment-Date: Wed, 07 Jan 2026 20:50:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Zoraiz Naeem (Gerrit)

unread,
Jan 7, 2026, 4:51:13 PM (2 days ago) Jan 7
to James Cook, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from James Cook

Zoraiz Naeem added 1 comment

File chrome/browser/ui/tabs/tab_list_bridge.cc
Line 270, Patchset 4 (Parent): const tab_groups::TabGroupVisualData* visual_data = tab_group->visual_data();
Zoraiz Naeem . unresolved

Before if a user wanted to just set the title, they would call this method, while keeping the other properties the same (color and is_collopased).

With the new methods, a user will override all the properties. It is the intended behavior?

Open in Gerrit

Related details

Attention is currently required from:
  • James Cook
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
    Gerrit-Change-Number: 7411040
    Gerrit-PatchSet: 4
    Gerrit-Owner: James Cook <jame...@chromium.org>
    Gerrit-Reviewer: James Cook <jame...@chromium.org>
    Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
    Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
    Gerrit-Attention: James Cook <jame...@chromium.org>
    Gerrit-Comment-Date: Wed, 07 Jan 2026 21:51:07 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    James Cook (Gerrit)

    unread,
    Jan 7, 2026, 5:22:56 PM (2 days ago) Jan 7
    to Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
    Attention needed from Zoraiz Naeem

    James Cook added 2 comments

    Patchset-level comments
    James Cook . resolved

    Zoraiz, please take another look.

    File chrome/browser/ui/tabs/tab_list_bridge.cc
    Line 270, Patchset 4 (Parent): const tab_groups::TabGroupVisualData* visual_data = tab_group->visual_data();
    Zoraiz Naeem . resolved

    Before if a user wanted to just set the title, they would call this method, while keeping the other properties the same (color and is_collopased).

    With the new methods, a user will override all the properties. It is the intended behavior?

    James Cook

    Yes, this is the way in generally works on Win/Mac/Linux/ChromeOS. The caller is responsible for constructing a TabGroupVisualData with only the fields they want to change. For example,, see TabStripModel::ChangeTabGroupVisuals() which also takes a TabGroupVisualData parameter.

    https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/tabs/tab_strip_model.h;drc=fdb26aae9fcf18a4065d95f88da9677b71ed6512;l=717

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Zoraiz Naeem
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
      Gerrit-Change-Number: 7411040
      Gerrit-PatchSet: 4
      Gerrit-Owner: James Cook <jame...@chromium.org>
      Gerrit-Reviewer: James Cook <jame...@chromium.org>
      Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
      Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
      Gerrit-Attention: Zoraiz Naeem <zorai...@chromium.org>
      Gerrit-Comment-Date: Wed, 07 Jan 2026 22:22:48 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Zoraiz Naeem <zorai...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Zoraiz Naeem (Gerrit)

      unread,
      Jan 7, 2026, 8:27:18 PM (2 days ago) Jan 7
      to James Cook, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
      Attention needed from James Cook

      Zoraiz Naeem voted and added 2 comments

      Votes added by Zoraiz Naeem

      Code-Review+1

      2 comments

      Patchset-level comments
      File-level comment, Patchset 5 (Latest):
      Zoraiz Naeem . resolved

      lgtm!

      File chrome/browser/ui/tabs/tab_list_bridge.cc
      Line 270, Patchset 4 (Parent): const tab_groups::TabGroupVisualData* visual_data = tab_group->visual_data();
      Zoraiz Naeem . resolved

      Before if a user wanted to just set the title, they would call this method, while keeping the other properties the same (color and is_collopased).

      With the new methods, a user will override all the properties. It is the intended behavior?

      James Cook

      Yes, this is the way in generally works on Win/Mac/Linux/ChromeOS. The caller is responsible for constructing a TabGroupVisualData with only the fields they want to change. For example,, see TabStripModel::ChangeTabGroupVisuals() which also takes a TabGroupVisualData parameter.

      https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/tabs/tab_strip_model.h;drc=fdb26aae9fcf18a4065d95f88da9677b71ed6512;l=717

      Zoraiz Naeem

      Not a greatest fan, for delegating the responsibility to the user but it is what it is. Thanks for the explanation!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • James Cook
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
        Gerrit-Change-Number: 7411040
        Gerrit-PatchSet: 5
        Gerrit-Owner: James Cook <jame...@chromium.org>
        Gerrit-Reviewer: James Cook <jame...@chromium.org>
        Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
        Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
        Gerrit-Attention: James Cook <jame...@chromium.org>
        Gerrit-Comment-Date: Thu, 08 Jan 2026 01:27:05 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: James Cook <jame...@chromium.org>
        Comment-In-Reply-To: Zoraiz Naeem <zorai...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        James Cook (Gerrit)

        unread,
        Jan 7, 2026, 8:33:16 PM (2 days ago) Jan 7
        to Calder Kitagawa, Mike Wasserman, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
        Attention needed from Calder Kitagawa and Mike Wasserman

        James Cook added 1 comment

        Patchset-level comments
        James Cook . resolved

        Thanks, Zoraiz! Owners, please take a look:
        Calder: //chrome/android and //chrome/browser/ui/android
        Mike: //chrome/browser/ui (non-android)

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Calder Kitagawa
        • Mike Wasserman
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
        Gerrit-Change-Number: 7411040
        Gerrit-PatchSet: 5
        Gerrit-Owner: James Cook <jame...@chromium.org>
        Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
        Gerrit-Reviewer: James Cook <jame...@chromium.org>
        Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
        Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
        Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
        Gerrit-Attention: Mike Wasserman <m...@chromium.org>
        Gerrit-Attention: Calder Kitagawa <ckit...@chromium.org>
        Gerrit-Comment-Date: Thu, 08 Jan 2026 01:33:06 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        James Cook (Gerrit)

        unread,
        Jan 7, 2026, 11:22:32 PM (2 days ago) Jan 7
        to Calder Kitagawa, Mike Wasserman, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
        Attention needed from Calder Kitagawa and Mike Wasserman

        James Cook added 1 comment

        File chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
        Line 549, Patchset 5 (Latest): @CalledByNative
        James Cook . unresolved

        These methods already exist in TabCollectionTabModelImpl, the implementation of TabModelJniBridge. I'm just exposing them via JNI.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Calder Kitagawa
        • Mike Wasserman
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement satisfiedReview-Enforcement
          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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
          Gerrit-Change-Number: 7411040
          Gerrit-PatchSet: 5
          Gerrit-Owner: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
          Gerrit-Reviewer: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
          Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
          Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
          Gerrit-Attention: Mike Wasserman <m...@chromium.org>
          Gerrit-Attention: Calder Kitagawa <ckit...@chromium.org>
          Gerrit-Comment-Date: Thu, 08 Jan 2026 04:22:21 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Calder Kitagawa (Gerrit)

          unread,
          Jan 8, 2026, 9:29:57 AM (yesterday) Jan 8
          to James Cook, Mike Wasserman, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from James Cook and Mike Wasserman

          Calder Kitagawa voted and added 3 comments

          Votes added by Calder Kitagawa

          Code-Review+1

          3 comments

          Patchset-level comments
          Calder Kitagawa . resolved

          LGTM

          File chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
          James Cook . resolved

          These methods already exist in TabCollectionTabModelImpl, the implementation of TabModelJniBridge. I'm just exposing them via JNI.

          Calder Kitagawa

          Ack. SGTM

          File chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
          Line 653, Patchset 5 (Latest): Java_TabModelJniBridge_setTabGroupTitle(env, jobj, group_id.token(),
          visual_data.title());

          // The cast is safe because the enum values are synced across C++ and Java.
          Java_TabModelJniBridge_setTabGroupColor(
          env, jobj, group_id.token(), static_cast<jint>(visual_data.color()));
          Java_TabModelJniBridge_setTabGroupCollapsed(env, jobj, group_id.token(),
          visual_data.is_collapsed(),
          /*animate=*/false);
          Calder Kitagawa . unresolved

          Optional: We could bundle these into one JNI method that takes title, color, and collapsed status/animate in one method and also does all the changes together on the TabCollectionTabModelImpl side. It would shave off up to 4 JNI calls which is a perf win and the API will be more aligned with desktop.

          I can alternatively do this as a follow-up?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • James Cook
          • Mike Wasserman
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement satisfiedReview-Enforcement
          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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
          Gerrit-Change-Number: 7411040
          Gerrit-PatchSet: 5
          Gerrit-Owner: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
          Gerrit-Reviewer: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
          Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
          Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
          Gerrit-Attention: Mike Wasserman <m...@chromium.org>
          Gerrit-Attention: James Cook <jame...@chromium.org>
          Gerrit-Comment-Date: Thu, 08 Jan 2026 14:29:48 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          James Cook (Gerrit)

          unread,
          Jan 8, 2026, 1:28:41 PM (21 hours ago) Jan 8
          to Calder Kitagawa, Mike Wasserman, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from Calder Kitagawa and Mike Wasserman

          James Cook voted and added 2 comments

          Votes added by James Cook

          Auto-Submit+1

          2 comments

          Patchset-level comments
          James Cook . resolved

          Mike, over to you.

          Calder, thanks for the review!

          File chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
          Line 653, Patchset 5 (Latest): Java_TabModelJniBridge_setTabGroupTitle(env, jobj, group_id.token(),
          visual_data.title());

          // The cast is safe because the enum values are synced across C++ and Java.
          Java_TabModelJniBridge_setTabGroupColor(
          env, jobj, group_id.token(), static_cast<jint>(visual_data.color()));
          Java_TabModelJniBridge_setTabGroupCollapsed(env, jobj, group_id.token(),
          visual_data.is_collapsed(),
          /*animate=*/false);
          Calder Kitagawa . unresolved

          Optional: We could bundle these into one JNI method that takes title, color, and collapsed status/animate in one method and also does all the changes together on the TabCollectionTabModelImpl side. It would shave off up to 4 JNI calls which is a perf win and the API will be more aligned with desktop.

          I can alternatively do this as a follow-up?

          James Cook

          If you don't mind taking care of this in a follow-up, one method sounds great. (Frankly, I'm not very experienced with JNI/Java, and I've got a ton of other stuff to do to support this extension API.) Thanks for the offer, and let me know if I can help somehow.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Calder Kitagawa
          • Mike Wasserman
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement satisfiedReview-Enforcement
          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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
          Gerrit-Change-Number: 7411040
          Gerrit-PatchSet: 5
          Gerrit-Owner: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
          Gerrit-Reviewer: James Cook <jame...@chromium.org>
          Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
          Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
          Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
          Gerrit-Attention: Mike Wasserman <m...@chromium.org>
          Gerrit-Attention: Calder Kitagawa <ckit...@chromium.org>
          Gerrit-Comment-Date: Thu, 08 Jan 2026 18:28:28 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          Comment-In-Reply-To: Calder Kitagawa <ckit...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Calder Kitagawa (Gerrit)

          unread,
          Jan 8, 2026, 1:45:57 PM (21 hours ago) Jan 8
          to James Cook, Fiaz Muhammad, Mike Wasserman, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from James Cook and Mike Wasserman

          Calder Kitagawa added 1 comment

          File chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
          Line 653, Patchset 5 (Latest): Java_TabModelJniBridge_setTabGroupTitle(env, jobj, group_id.token(),
          visual_data.title());

          // The cast is safe because the enum values are synced across C++ and Java.
          Java_TabModelJniBridge_setTabGroupColor(
          env, jobj, group_id.token(), static_cast<jint>(visual_data.color()));
          Java_TabModelJniBridge_setTabGroupCollapsed(env, jobj, group_id.token(),
          visual_data.is_collapsed(),
          /*animate=*/false);
          Calder Kitagawa . resolved

          Optional: We could bundle these into one JNI method that takes title, color, and collapsed status/animate in one method and also does all the changes together on the TabCollectionTabModelImpl side. It would shave off up to 4 JNI calls which is a perf win and the API will be more aligned with desktop.

          I can alternatively do this as a follow-up?

          James Cook

          If you don't mind taking care of this in a follow-up, one method sounds great. (Frankly, I'm not very experienced with JNI/Java, and I've got a ton of other stuff to do to support this extension API.) Thanks for the offer, and let me know if I can help somehow.

          Calder Kitagawa

          @mf...@google.com you mentioned you have spare cycles could you do this?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • James Cook
          • Mike Wasserman
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
            Gerrit-Change-Number: 7411040
            Gerrit-PatchSet: 5
            Gerrit-Owner: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
            Gerrit-Reviewer: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
            Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
            Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
            Gerrit-CC: Fiaz Muhammad <mf...@google.com>
            Gerrit-Attention: Mike Wasserman <m...@chromium.org>
            Gerrit-Attention: James Cook <jame...@chromium.org>
            Gerrit-Comment-Date: Thu, 08 Jan 2026 18:45:49 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            Comment-In-Reply-To: James Cook <jame...@chromium.org>
            Comment-In-Reply-To: Calder Kitagawa <ckit...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Mike Wasserman (Gerrit)

            unread,
            Jan 8, 2026, 1:59:10 PM (21 hours ago) Jan 8
            to James Cook, Fiaz Muhammad, Calder Kitagawa, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
            Attention needed from James Cook

            Mike Wasserman voted and added 1 comment

            Votes added by Mike Wasserman

            Code-Review+1

            1 comment

            Patchset-level comments
            Mike Wasserman . resolved

            c/b/ui lgtm

            Open in Gerrit

            Related details

            Attention is currently required from:
            • James Cook
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
            Gerrit-Change-Number: 7411040
            Gerrit-PatchSet: 5
            Gerrit-Owner: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
            Gerrit-Reviewer: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
            Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
            Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
            Gerrit-CC: Fiaz Muhammad <mf...@google.com>
            Gerrit-Attention: James Cook <jame...@chromium.org>
            Gerrit-Comment-Date: Thu, 08 Jan 2026 18:59:00 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            James Cook (Gerrit)

            unread,
            Jan 8, 2026, 2:20:08 PM (20 hours ago) Jan 8
            to Mike Wasserman, Fiaz Muhammad, Calder Kitagawa, Zoraiz Naeem, Achuith Bhandarkar, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org

            James Cook voted and added 1 comment

            Votes added by James Cook

            Auto-Submit+0
            Commit-Queue+2

            1 comment

            Patchset-level comments
            James Cook . resolved

            Thanks for the reviews, everyone!

            Open in Gerrit

            Related details

            Attention set is empty
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
            Gerrit-Change-Number: 7411040
            Gerrit-PatchSet: 5
            Gerrit-Owner: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
            Gerrit-Reviewer: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
            Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
            Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
            Gerrit-CC: Fiaz Muhammad <mf...@google.com>
            Gerrit-Comment-Date: Thu, 08 Jan 2026 19:19:51 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Chromium LUCI CQ (Gerrit)

            unread,
            Jan 8, 2026, 2:22:52 PM (20 hours ago) Jan 8
            to James Cook, Mike Wasserman, Fiaz Muhammad, Calder Kitagawa, Zoraiz Naeem, Achuith Bhandarkar, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org

            Chromium LUCI CQ submitted the change

            Change information

            Commit message:
            extensions: Tab group API visual data for desktop Android, part 3

            Prepare for supporting chrome.tabGroups.update() on desktop Android.

            Add TabListInterface::SetTabGroupColor() and SetTabGroupCollapsed().
            For Android, use the existing Java implementations of these methods in
            TabCollectionTabModelImpl, just expose them via JNI. They are already
            well tested in TabCollectionTabModelImplTest.

            Extend the TabsGroupApiTest slightly for end-to-end coverage this
            interface change.
            Bug: 405219902
            Change-Id: Ifc9c632fba473f71d32dad45079394fef8fb0f58
            Reviewed-by: Calder Kitagawa <ckit...@chromium.org>
            Commit-Queue: James Cook <jame...@chromium.org>
            Reviewed-by: Zoraiz Naeem <zorai...@chromium.org>
            Reviewed-by: Mike Wasserman <m...@chromium.org>
            Cr-Commit-Position: refs/heads/main@{#1566453}
            Files:
            • M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
            • M chrome/browser/extensions/api/tab_groups/tab_groups_api_apitest.cc
            • M chrome/browser/extensions/extension_tab_util.h
            • M chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
            • M chrome/browser/ui/android/tab_model/tab_model_jni_bridge.h
            • M chrome/browser/ui/android/tab_model/tab_model_test_helper.cc
            • M chrome/browser/ui/android/tab_model/tab_model_test_helper.h
            • M chrome/browser/ui/tabs/tab_list_bridge.cc
            • M chrome/browser/ui/tabs/tab_list_bridge.h
            • M chrome/browser/ui/tabs/tab_list_interface.h
            Change size: M
            Delta: 10 files changed, 55 insertions(+), 31 deletions(-)
            Branch: refs/heads/main
            Submit Requirements:
            • requirement satisfiedCode-Review: +1 by Mike Wasserman, +1 by Calder Kitagawa, +1 by Zoraiz Naeem
            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: Ifc9c632fba473f71d32dad45079394fef8fb0f58
            Gerrit-Change-Number: 7411040
            Gerrit-PatchSet: 6
            Gerrit-Owner: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Calder Kitagawa <ckit...@chromium.org>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: James Cook <jame...@chromium.org>
            Gerrit-Reviewer: Mike Wasserman <m...@chromium.org>
            Gerrit-Reviewer: Zoraiz Naeem <zorai...@chromium.org>
            Gerrit-CC: Achuith Bhandarkar <ach...@chromium.org>
            open
            diffy
            satisfied_requirement
            Reply all
            Reply to author
            Forward
            0 new messages