[BnplTab] Add TabIndex to Suggestion and SuggestionFilter [chromium/src : main]

1 view
Skip to first unread message

Yishui Liu (Gerrit)

unread,
Feb 26, 2026, 2:37:33 PMFeb 26
to Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
Attention needed from Vinny Persky and Wilson Low

Yishui Liu added 1 comment

Patchset-level comments
File-level comment, Patchset 9 (Latest):
Yishui Liu . resolved

Hi Wilson and Vinny,

Can you take a look on this CL?

Thanks

Open in Gerrit

Related details

Attention is currently required from:
  • Vinny Persky
  • Wilson Low
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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
Gerrit-Change-Number: 7609367
Gerrit-PatchSet: 9
Gerrit-Owner: Yishui Liu <yis...@google.com>
Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
Gerrit-Reviewer: Wilson Low <wils...@google.com>
Gerrit-Reviewer: Yishui Liu <yis...@google.com>
Gerrit-Attention: Vinny Persky <vinny...@google.com>
Gerrit-Attention: Wilson Low <wils...@google.com>
Gerrit-Comment-Date: Thu, 26 Feb 2026 19:37:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Yishui Liu (Gerrit)

unread,
Feb 26, 2026, 6:33:55 PMFeb 26
to Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
Attention needed from Vinny Persky and Wilson Low

Yishui Liu added 1 comment

Patchset-level comments
File-level comment, Patchset 13 (Latest):
Yishui Liu . resolved

Merged recent popup_view_views change. Tests should be fixed now.

Open in Gerrit

Related details

Attention is currently required from:
  • Vinny Persky
  • Wilson Low
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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
Gerrit-Change-Number: 7609367
Gerrit-PatchSet: 13
Gerrit-Owner: Yishui Liu <yis...@google.com>
Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
Gerrit-Reviewer: Wilson Low <wils...@google.com>
Gerrit-Reviewer: Yishui Liu <yis...@google.com>
Gerrit-Attention: Vinny Persky <vinny...@google.com>
Gerrit-Attention: Wilson Low <wils...@google.com>
Gerrit-Comment-Date: Thu, 26 Feb 2026 23:33:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Wilson Low (Gerrit)

unread,
Feb 26, 2026, 7:14:00 PMFeb 26
to Yishui Liu, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
Attention needed from Vinny Persky and Yishui Liu

Wilson Low added 5 comments

Patchset-level comments
Wilson Low . resolved

Thanks Yishui!

Commit Message
Line 7, Patchset 13 (Latest):[BnplTab] Add TabIndex to Suggestion and SuggestionFilter
Wilson Low . unresolved

nit: use "[BNPL][PNPL]" instead to be consistent with other CLs (example: crrev.com/c/7604719)

File components/autofill/core/browser/payments/constants.h
Line 65, Patchset 13 (Latest):// The index of the tab that shows all Pay Later suggestions.
inline constexpr int kPayLaterTabIndex = 1;
Wilson Low . unresolved

Since this isn't used in this CL yet, it might be better to remove this for now and add this constant later in the CL where we use it to set the tab index for the pay later suggestions.

Line 64, Patchset 13 (Latest):inline constexpr int kDefaultTabIndex = 0;
Wilson Low . unresolved

Should we define this in `suggestion.h` instead? My thought process is that this `constants.h` file specific to payments, but this default tab index will be used for all suggestions including passwords and addresses (even if it doesn't do anything for those suggestions yet)

Line 62, Patchset 13 (Latest):// The index of the default suggestion tab which shows all suggestions except
// Pay Later ones.
Wilson Low . unresolved

Remove for now? (after moving to suggestion.h)

Open in Gerrit

Related details

Attention is currently required from:
  • Vinny Persky
  • Yishui Liu
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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
    Gerrit-Change-Number: 7609367
    Gerrit-PatchSet: 13
    Gerrit-Owner: Yishui Liu <yis...@google.com>
    Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
    Gerrit-Reviewer: Wilson Low <wils...@google.com>
    Gerrit-Reviewer: Yishui Liu <yis...@google.com>
    Gerrit-Attention: Vinny Persky <vinny...@google.com>
    Gerrit-Attention: Yishui Liu <yis...@google.com>
    Gerrit-Comment-Date: Fri, 27 Feb 2026 00:13:55 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Vinny Persky (Gerrit)

    unread,
    Feb 27, 2026, 3:22:43 AMFeb 27
    to Yishui Liu, Wilson Low, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
    Attention needed from Yishui Liu

    Vinny Persky added 2 comments

    File chrome/browser/ui/autofill/autofill_popup_controller.h
    Line 30, Patchset 13 (Latest): using SuggestionFilter = std::variant<StringFilter, Suggestion::TabIndex>;
    Vinny Persky . unresolved

    Lets get rid of StringFilter and just do u16string here? So that we don't need to do the double dereference. I don't think we gain much readability from "StringFilter" vs "u16string"

    File components/autofill/core/browser/suggestions/suggestion.h
    Line 499, Patchset 13 (Latest): // The index of the tab that the suggestion is shown in.
    Vinny Persky . unresolved

    Can we please add more description here? I.e. what "tab" is, mention why this is needed (in the tabbed pane case), common use cases for the tabbed pane, and that it is not always shown?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Yishui Liu
    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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
    Gerrit-Change-Number: 7609367
    Gerrit-PatchSet: 13
    Gerrit-Owner: Yishui Liu <yis...@google.com>
    Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
    Gerrit-Reviewer: Wilson Low <wils...@google.com>
    Gerrit-Reviewer: Yishui Liu <yis...@google.com>
    Gerrit-Attention: Yishui Liu <yis...@google.com>
    Gerrit-Comment-Date: Fri, 27 Feb 2026 08:22:36 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Yishui Liu (Gerrit)

    unread,
    Mar 3, 2026, 8:37:16 PMMar 3
    to Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
    Attention needed from Vinny Persky and Wilson Low

    Yishui Liu added 6 comments

    Commit Message
    Line 7, Patchset 13:[BnplTab] Add TabIndex to Suggestion and SuggestionFilter
    Wilson Low . resolved

    nit: use "[BNPL][PNPL]" instead to be consistent with other CLs (example: crrev.com/c/7604719)

    Yishui Liu

    title updated

    File chrome/browser/ui/autofill/autofill_popup_controller.h
    Line 30, Patchset 13: using SuggestionFilter = std::variant<StringFilter, Suggestion::TabIndex>;
    Vinny Persky . resolved

    Lets get rid of StringFilter and just do u16string here? So that we don't need to do the double dereference. I don't think we gain much readability from "StringFilter" vs "u16string"

    Yishui Liu

    Updated to use u16string directly.

    File components/autofill/core/browser/payments/constants.h
    Line 65, Patchset 13:// The index of the tab that shows all Pay Later suggestions.

    inline constexpr int kPayLaterTabIndex = 1;
    Wilson Low . resolved

    Since this isn't used in this CL yet, it might be better to remove this for now and add this constant later in the CL where we use it to set the tab index for the pay later suggestions.

    Yishui Liu

    removed constant

    Line 64, Patchset 13:inline constexpr int kDefaultTabIndex = 0;
    Wilson Low . resolved

    Should we define this in `suggestion.h` instead? My thought process is that this `constants.h` file specific to payments, but this default tab index will be used for all suggestions including passwords and addresses (even if it doesn't do anything for those suggestions yet)

    Yishui Liu

    moved to suggestion.h

    Line 62, Patchset 13:// The index of the default suggestion tab which shows all suggestions except
    // Pay Later ones.
    Wilson Low . unresolved

    Remove for now? (after moving to suggestion.h)

    Yishui Liu

    Updated the description and not mentioning pay now pay later tab.

    File components/autofill/core/browser/suggestions/suggestion.h
    Line 499, Patchset 13: // The index of the tab that the suggestion is shown in.
    Vinny Persky . unresolved

    Can we please add more description here? I.e. what "tab" is, mention why this is needed (in the tabbed pane case), common use cases for the tabbed pane, and that it is not always shown?

    Yishui Liu

    member description updated to include more details.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Vinny Persky
    • Wilson Low
    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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
    Gerrit-Change-Number: 7609367
    Gerrit-PatchSet: 16
    Gerrit-Owner: Yishui Liu <yis...@google.com>
    Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
    Gerrit-Reviewer: Wilson Low <wils...@google.com>
    Gerrit-Reviewer: Yishui Liu <yis...@google.com>
    Gerrit-Attention: Vinny Persky <vinny...@google.com>
    Gerrit-Attention: Wilson Low <wils...@google.com>
    Gerrit-Comment-Date: Wed, 04 Mar 2026 01:37:04 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Vinny Persky <vinny...@google.com>
    Comment-In-Reply-To: Wilson Low <wils...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Vinny Persky (Gerrit)

    unread,
    Mar 4, 2026, 2:05:13 AMMar 4
    to Yishui Liu, Wilson Low, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
    Attention needed from Wilson Low and Yishui Liu

    Vinny Persky voted and added 2 comments

    Votes added by Vinny Persky

    Code-Review+1

    2 comments

    File chrome/browser/ui/autofill/autofill_popup_controller.h
    Line 27, Patchset 16 (Latest): using SuggestionFilter = std::variant<std::u16string, Suggestion::TabIndex>;
    Vinny Persky . unresolved

    Sorry for the back and forth.. I think actually having the alias here would be better. Can we please go back to that?

    File components/autofill/core/browser/suggestions/suggestion.h
    Line 499, Patchset 13: // The index of the tab that the suggestion is shown in.
    Vinny Persky . resolved

    Can we please add more description here? I.e. what "tab" is, mention why this is needed (in the tabbed pane case), common use cases for the tabbed pane, and that it is not always shown?

    Yishui Liu

    member description updated to include more details.

    Vinny Persky

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Wilson Low
    • Yishui Liu
    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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
      Gerrit-Change-Number: 7609367
      Gerrit-PatchSet: 16
      Gerrit-Owner: Yishui Liu <yis...@google.com>
      Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
      Gerrit-Reviewer: Wilson Low <wils...@google.com>
      Gerrit-Reviewer: Yishui Liu <yis...@google.com>
      Gerrit-Attention: Wilson Low <wils...@google.com>
      Gerrit-Attention: Yishui Liu <yis...@google.com>
      Gerrit-Comment-Date: Wed, 04 Mar 2026 07:05:03 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Vinny Persky <vinny...@google.com>
      Comment-In-Reply-To: Yishui Liu <yis...@google.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Wilson Low (Gerrit)

      unread,
      Mar 4, 2026, 1:52:08 PMMar 4
      to Yishui Liu, Bruno Braga, Slobodan Pejic, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
      Attention needed from Bruno Braga, Slobodan Pejic and Yishui Liu

      Wilson Low voted and added 2 comments

      Votes added by Wilson Low

      Code-Review+1

      2 comments

      Patchset-level comments
      File-level comment, Patchset 16 (Latest):
      Wilson Low . resolved

      lgtm + adding Bruno and Slobo to the review, PTAL thanks!

      File components/autofill/core/browser/payments/constants.h
      Line 62, Patchset 13:// The index of the default suggestion tab which shows all suggestions except
      // Pay Later ones.
      Wilson Low . resolved

      Remove for now? (after moving to suggestion.h)

      Yishui Liu

      Updated the description and not mentioning pay now pay later tab.

      Wilson Low

      Thanks!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Bruno Braga
      • Slobodan Pejic
      • Yishui Liu
      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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
      Gerrit-Change-Number: 7609367
      Gerrit-PatchSet: 16
      Gerrit-Owner: Yishui Liu <yis...@google.com>
      Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
      Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
      Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
      Gerrit-Reviewer: Wilson Low <wils...@google.com>
      Gerrit-Reviewer: Yishui Liu <yis...@google.com>
      Gerrit-Attention: Slobodan Pejic <slob...@chromium.org>
      Gerrit-Attention: Yishui Liu <yis...@google.com>
      Gerrit-Attention: Bruno Braga <bruno...@google.com>
      Gerrit-Comment-Date: Wed, 04 Mar 2026 18:51:58 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Wilson Low <wils...@google.com>
      Comment-In-Reply-To: Yishui Liu <yis...@google.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yishui Liu (Gerrit)

      unread,
      Mar 4, 2026, 2:30:56 PMMar 4
      to Bruno Braga, Slobodan Pejic, Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
      Attention needed from Bruno Braga, Slobodan Pejic, Vinny Persky and Wilson Low

      Yishui Liu added 1 comment

      File chrome/browser/ui/autofill/autofill_popup_controller.h
      Line 27, Patchset 16: using SuggestionFilter = std::variant<std::u16string, Suggestion::TabIndex>;
      Vinny Persky . resolved

      Sorry for the back and forth.. I think actually having the alias here would be better. Can we please go back to that?

      Yishui Liu

      Changed back to use strong alias for string filters

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Bruno Braga
      • Slobodan Pejic
      • Vinny Persky
      • Wilson Low
      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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
        Gerrit-Change-Number: 7609367
        Gerrit-PatchSet: 17
        Gerrit-Owner: Yishui Liu <yis...@google.com>
        Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
        Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
        Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
        Gerrit-Reviewer: Wilson Low <wils...@google.com>
        Gerrit-Reviewer: Yishui Liu <yis...@google.com>
        Gerrit-Attention: Vinny Persky <vinny...@google.com>
        Gerrit-Attention: Wilson Low <wils...@google.com>
        Gerrit-Attention: Slobodan Pejic <slob...@chromium.org>
        Gerrit-Attention: Bruno Braga <bruno...@google.com>
        Gerrit-Comment-Date: Wed, 04 Mar 2026 19:30:47 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Slobodan Pejic (Gerrit)

        unread,
        Mar 4, 2026, 2:46:03 PMMar 4
        to Yishui Liu, Bruno Braga, Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
        Attention needed from Bruno Braga, Vinny Persky, Wilson Low and Yishui Liu

        Slobodan Pejic added 6 comments

        File chrome/browser/ui/autofill/autofill_popup_controller.h
        Line 27, Patchset 16: using SuggestionFilter = std::variant<std::u16string, Suggestion::TabIndex>;
        Vinny Persky . unresolved

        Sorry for the back and forth.. I think actually having the alias here would be better. Can we please go back to that?

        Slobodan Pejic

        I would lean toward keeping the alias as well.

        File chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
        Line 88, Patchset 16: for (const Suggestion& suggestion : suggestions) {
        if (suggestion.filtration_policy ==
        Suggestion::FiltrationPolicy::kPresentOnlyWithoutFilter) {
        continue;
        } else if (suggestion.filtration_policy ==
        Suggestion::FiltrationPolicy::kStatic) {
        result.first.push_back(suggestion);
        result.second.emplace_back();
        } else if (std::holds_alternative<std::u16string>(filter)) {
        std::u16string string_filter = std::get<std::u16string>(filter);
        size_t pos = base::i18n::ToLower(suggestion.main_text.value)
        .find(base::i18n::ToLower(string_filter));
        if (pos != std::u16string::npos) {
        result.first.push_back(suggestion);
        result.second.push_back(AutofillPopupController::SuggestionFilterMatch{
        .main_text_match = {pos, pos + string_filter.size()}});
        }
        }
        }
        Slobodan Pejic . unresolved

        nit: Avoid lowercasing the string_filter inside the loop. Could this store the lowered filter into an optional<std::string> before the loop?

        Something like:
        ```
        std::optional<std::u16string> lower_string_filter =
        std::holds_alternative<std::u16string>(filter)
        ? base::i18n::ToLower(std::get<std::u16string>(filter))
        : std::nullopt;
        ```
        File components/autofill/core/browser/suggestions/suggestion.h
        Line 507, Patchset 16: // for example, the "Pay Now Pay Later" tab.
        Slobodan Pejic . unresolved

        This is two tabs, right?

        ```suggestion
        // for example, the "Pay Now"/"Pay Later" tabs.
        ```
        Line 415, Patchset 16: using TabIndex = base::StrongAlias<struct TabIndexTag, int>;
        Slobodan Pejic . unresolved

        nit: Consider if we want this to be unsigned to prevent us needing to consider negative tab indicies.

        Line 37, Patchset 16:inline constexpr int kDefaultSuggestionTabIndex = 0;
        Slobodan Pejic . unresolved

        The [StrongAlias(T) constructor](https://source.chromium.org/chromium/chromium/src/+/main:base/types/strong_alias.h;l=83;drc=7c96e75b1ecd4d673eefbb4bdd11286d462aa7ee) is constexpr: Can we just have this be a TabIndex?
        ```suggestion
        inline constexpr TabIndex kDefaultSuggestionTabIndex(0);
        ```


        Then below:
        ```
        -- TabIndex tab_index = TabIndex(kDefaultSuggestionTabIndex);
        ++ TabIndex tab_index = kDefaultSuggestionTabIndex;
        ```

        Line 36, Patchset 16:// displayed in if not specified.
        Slobodan Pejic . unresolved

        ```suggestion
        // displayed in unless specified otherwise in Suggestion::tab_index.
        ```

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Bruno Braga
        • Vinny Persky
        • Wilson Low
        • Yishui Liu
        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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
          Gerrit-Change-Number: 7609367
          Gerrit-PatchSet: 17
          Gerrit-Owner: Yishui Liu <yis...@google.com>
          Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
          Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
          Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
          Gerrit-Reviewer: Wilson Low <wils...@google.com>
          Gerrit-Reviewer: Yishui Liu <yis...@google.com>
          Gerrit-Attention: Vinny Persky <vinny...@google.com>
          Gerrit-Attention: Wilson Low <wils...@google.com>
          Gerrit-Attention: Yishui Liu <yis...@google.com>
          Gerrit-Attention: Bruno Braga <bruno...@google.com>
          Gerrit-Comment-Date: Wed, 04 Mar 2026 19:45:57 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Yishui Liu (Gerrit)

          unread,
          Mar 4, 2026, 5:52:36 PMMar 4
          to Bruno Braga, Slobodan Pejic, Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
          Attention needed from Bruno Braga, Slobodan Pejic, Vinny Persky and Wilson Low

          Yishui Liu added 6 comments

          File chrome/browser/ui/autofill/autofill_popup_controller.h
          Line 27, Patchset 16: using SuggestionFilter = std::variant<std::u16string, Suggestion::TabIndex>;
          Vinny Persky . resolved

          Sorry for the back and forth.. I think actually having the alias here would be better. Can we please go back to that?

          Slobodan Pejic

          I would lean toward keeping the alias as well.

          Yishui Liu

          Already changed back to strong alias.

          File chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
          Line 88, Patchset 16: for (const Suggestion& suggestion : suggestions) {
          if (suggestion.filtration_policy ==
          Suggestion::FiltrationPolicy::kPresentOnlyWithoutFilter) {
          continue;
          } else if (suggestion.filtration_policy ==
          Suggestion::FiltrationPolicy::kStatic) {
          result.first.push_back(suggestion);
          result.second.emplace_back();
          } else if (std::holds_alternative<std::u16string>(filter)) {
          std::u16string string_filter = std::get<std::u16string>(filter);
          size_t pos = base::i18n::ToLower(suggestion.main_text.value)
          .find(base::i18n::ToLower(string_filter));
          if (pos != std::u16string::npos) {
          result.first.push_back(suggestion);
          result.second.push_back(AutofillPopupController::SuggestionFilterMatch{
          .main_text_match = {pos, pos + string_filter.size()}});
          }
          }
          }
          Slobodan Pejic . resolved

          nit: Avoid lowercasing the string_filter inside the loop. Could this store the lowered filter into an optional<std::string> before the loop?

          Something like:
          ```
          std::optional<std::u16string> lower_string_filter =
          std::holds_alternative<std::u16string>(filter)
          ? base::i18n::ToLower(std::get<std::u16string>(filter))
          : std::nullopt;
          ```
          Yishui Liu

          moved the string filter conversion out from the loop.

          File components/autofill/core/browser/suggestions/suggestion.h
          Line 507, Patchset 16: // for example, the "Pay Now Pay Later" tab.
          Slobodan Pejic . resolved

          This is two tabs, right?

          ```suggestion
          // for example, the "Pay Now"/"Pay Later" tabs.
          ```
          Yishui Liu

          That's correct. Comments updated.

          Line 415, Patchset 16: using TabIndex = base::StrongAlias<struct TabIndexTag, int>;
          Slobodan Pejic . unresolved

          nit: Consider if we want this to be unsigned to prevent us needing to consider negative tab indicies.

          Yishui Liu

          This index filter will be called by [TabbedPaneListener::TabSelectedAt](https://source.chromium.org/chromium/chromium/src/+/main:ui/views/controls/tabbed_pane/tabbed_pane_listener.h;bpv=1;bpt=1;l=17?q=tabbedpaneli&ss=chromium%2Fchromium%2Fsrc&gsn=TabSelectedAt&gs=KYTHE%3A%2F%2Fkythe%3A%2F%2Fchromium.googlesource.com%2Fcodesearch%2Fchromium%2Fsrc%2F%2Fmain%3Flang%3Dc%252B%252B%3Fpath%3Dui%2Fviews%2Fcontrols%2Ftabbed_pane%2Ftabbed_pane_listener.h%23EjnUb3Kt1vNmnvBD93jcf0kCOlTn5GAirvz1F1EnVkc) implementation which takes an int index value.
          We will need to cast the value if we want to use unsigned int here, which may be unnecessary.
          Besides, a negative index filter will just lead to empty suggestion list if we do not add any suggestion with negative tab index.

          Line 37, Patchset 16:inline constexpr int kDefaultSuggestionTabIndex = 0;
          Slobodan Pejic . unresolved

          The [StrongAlias(T) constructor](https://source.chromium.org/chromium/chromium/src/+/main:base/types/strong_alias.h;l=83;drc=7c96e75b1ecd4d673eefbb4bdd11286d462aa7ee) is constexpr: Can we just have this be a TabIndex?
          ```suggestion
          inline constexpr TabIndex kDefaultSuggestionTabIndex(0);
          ```


          Then below:
          ```
          -- TabIndex tab_index = TabIndex(kDefaultSuggestionTabIndex);
          ++ TabIndex tab_index = kDefaultSuggestionTabIndex;
          ```

          Yishui Liu

          Renamed `TabIndex` to `SuggestionTabIndex` since it needs to moved to autofill scope for this and defined the constant as `SuggestionTabIndex` directly.

          Line 36, Patchset 16:// displayed in if not specified.
          Slobodan Pejic . resolved

          ```suggestion
          // displayed in unless specified otherwise in Suggestion::tab_index.
          ```

          Yishui Liu

          comment updated.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Bruno Braga
          • Slobodan Pejic
          • Vinny Persky
          • Wilson Low
          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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
          Gerrit-Change-Number: 7609367
          Gerrit-PatchSet: 19
          Gerrit-Owner: Yishui Liu <yis...@google.com>
          Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
          Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
          Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
          Gerrit-Reviewer: Wilson Low <wils...@google.com>
          Gerrit-Reviewer: Yishui Liu <yis...@google.com>
          Gerrit-Attention: Vinny Persky <vinny...@google.com>
          Gerrit-Attention: Wilson Low <wils...@google.com>
          Gerrit-Attention: Slobodan Pejic <slob...@chromium.org>
          Gerrit-Attention: Bruno Braga <bruno...@google.com>
          Gerrit-Comment-Date: Wed, 04 Mar 2026 22:52:26 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Vinny Persky <vinny...@google.com>
          Comment-In-Reply-To: Slobodan Pejic <slob...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Slobodan Pejic (Gerrit)

          unread,
          Mar 5, 2026, 9:43:59 AMMar 5
          to Yishui Liu, Bruno Braga, Wilson Low, Vinny Persky, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
          Attention needed from Bruno Braga, Vinny Persky, Wilson Low and Yishui Liu

          Slobodan Pejic voted and added 2 comments

          Votes added by Slobodan Pejic

          Code-Review+1

          2 comments

          File components/autofill/core/browser/suggestions/suggestion.h
          Line 415, Patchset 16: using TabIndex = base::StrongAlias<struct TabIndexTag, int>;
          Slobodan Pejic . resolved

          nit: Consider if we want this to be unsigned to prevent us needing to consider negative tab indicies.

          Yishui Liu

          This index filter will be called by [TabbedPaneListener::TabSelectedAt](https://source.chromium.org/chromium/chromium/src/+/main:ui/views/controls/tabbed_pane/tabbed_pane_listener.h;bpv=1;bpt=1;l=17?q=tabbedpaneli&ss=chromium%2Fchromium%2Fsrc&gsn=TabSelectedAt&gs=KYTHE%3A%2F%2Fkythe%3A%2F%2Fchromium.googlesource.com%2Fcodesearch%2Fchromium%2Fsrc%2F%2Fmain%3Flang%3Dc%252B%252B%3Fpath%3Dui%2Fviews%2Fcontrols%2Ftabbed_pane%2Ftabbed_pane_listener.h%23EjnUb3Kt1vNmnvBD93jcf0kCOlTn5GAirvz1F1EnVkc) implementation which takes an int index value.
          We will need to cast the value if we want to use unsigned int here, which may be unnecessary.
          Besides, a negative index filter will just lead to empty suggestion list if we do not add any suggestion with negative tab index.

          Slobodan Pejic

          Ack. Let's keep it consistent with TabSelectedAt.

          Line 37, Patchset 16:inline constexpr int kDefaultSuggestionTabIndex = 0;
          Slobodan Pejic . resolved

          The [StrongAlias(T) constructor](https://source.chromium.org/chromium/chromium/src/+/main:base/types/strong_alias.h;l=83;drc=7c96e75b1ecd4d673eefbb4bdd11286d462aa7ee) is constexpr: Can we just have this be a TabIndex?
          ```suggestion
          inline constexpr TabIndex kDefaultSuggestionTabIndex(0);
          ```


          Then below:
          ```
          -- TabIndex tab_index = TabIndex(kDefaultSuggestionTabIndex);
          ++ TabIndex tab_index = kDefaultSuggestionTabIndex;
          ```

          Yishui Liu

          Renamed `TabIndex` to `SuggestionTabIndex` since it needs to moved to autofill scope for this and defined the constant as `SuggestionTabIndex` directly.

          Slobodan Pejic

          Thanks.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Bruno Braga
          • Vinny Persky
          • Wilson Low
          • Yishui Liu
            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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
              Gerrit-Change-Number: 7609367
              Gerrit-PatchSet: 19
              Gerrit-Owner: Yishui Liu <yis...@google.com>
              Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
              Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
              Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
              Gerrit-Reviewer: Wilson Low <wils...@google.com>
              Gerrit-Reviewer: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Vinny Persky <vinny...@google.com>
              Gerrit-Attention: Wilson Low <wils...@google.com>
              Gerrit-Attention: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Bruno Braga <bruno...@google.com>
              Gerrit-Comment-Date: Thu, 05 Mar 2026 14:43:52 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: Yes
              Comment-In-Reply-To: Slobodan Pejic <slob...@chromium.org>
              Comment-In-Reply-To: Yishui Liu <yis...@google.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Vinny Persky (Gerrit)

              unread,
              Mar 5, 2026, 10:42:15 AMMar 5
              to Yishui Liu, Slobodan Pejic, Bruno Braga, Wilson Low, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
              Attention needed from Bruno Braga, Wilson Low and Yishui Liu

              Vinny Persky voted Code-Review+1

              Code-Review+1
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Bruno Braga
              • Wilson Low
              • Yishui Liu
              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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
              Gerrit-Change-Number: 7609367
              Gerrit-PatchSet: 19
              Gerrit-Owner: Yishui Liu <yis...@google.com>
              Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
              Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
              Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
              Gerrit-Reviewer: Wilson Low <wils...@google.com>
              Gerrit-Reviewer: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Wilson Low <wils...@google.com>
              Gerrit-Attention: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Bruno Braga <bruno...@google.com>
              Gerrit-Comment-Date: Thu, 05 Mar 2026 15:42:04 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Wilson Low (Gerrit)

              unread,
              Mar 5, 2026, 1:58:45 PMMar 5
              to Yishui Liu, Vinny Persky, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
              Attention needed from Bruno Braga and Yishui Liu

              Wilson Low voted Code-Review+1

              Code-Review+1
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Bruno Braga
              • Yishui Liu
              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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
              Gerrit-Change-Number: 7609367
              Gerrit-PatchSet: 19
              Gerrit-Owner: Yishui Liu <yis...@google.com>
              Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
              Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
              Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
              Gerrit-Reviewer: Wilson Low <wils...@google.com>
              Gerrit-Reviewer: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Bruno Braga <bruno...@google.com>
              Gerrit-Comment-Date: Thu, 05 Mar 2026 18:58:34 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Wilson Low (Gerrit)

              unread,
              Mar 5, 2026, 1:59:47 PMMar 5
              to Yishui Liu, Stephen McGruer, Vinny Persky, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
              Attention needed from Bruno Braga, Stephen McGruer and Yishui Liu

              Wilson Low added 1 comment

              Patchset-level comments
              File-level comment, Patchset 19 (Latest):
              Wilson Low . resolved

              Adding Stephen to the review, PTAL thanks!

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Bruno Braga
              • Stephen McGruer
              • Yishui Liu
              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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
              Gerrit-Change-Number: 7609367
              Gerrit-PatchSet: 19
              Gerrit-Owner: Yishui Liu <yis...@google.com>
              Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
              Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
              Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
              Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
              Gerrit-Reviewer: Wilson Low <wils...@google.com>
              Gerrit-Reviewer: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Stephen McGruer <smcg...@chromium.org>
              Gerrit-Attention: Yishui Liu <yis...@google.com>
              Gerrit-Attention: Bruno Braga <bruno...@google.com>
              Gerrit-Comment-Date: Thu, 05 Mar 2026 18:59:37 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Stephen McGruer (Gerrit)

              unread,
              Mar 9, 2026, 5:14:41 PMMar 9
              to Yishui Liu, Stephen McGruer, Wilson Low, Vinny Persky, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
              Attention needed from Bruno Braga and Yishui Liu

              Stephen McGruer added 9 comments

              Patchset-level comments
              Stephen McGruer . resolved

              While I am generally a proponent of small CLs, I actually think this CL does too little. Without the context of *how* this new integer tab index concept is going to be used in practice, it is hard to consider whether this "works" in terms of good architectural shape for Autofill or not. In any case, I do have some concepts, in comments below.

              Commit Message
              Line 9, Patchset 19 (Latest):This CL add a int member to `Suggestion` to filter suggestion for
              Stephen McGruer . unresolved

              Super-nit: 'an', albeit I'm not sure you really need 'int' here and therefore could keep it as 'adds a member to...'

              Line 9, Patchset 19 (Latest):This CL add a int member to `Suggestion` to filter suggestion for
              Stephen McGruer . unresolved

              Super-nit: 'suggestions' (plural)

              Line 9, Patchset 19 (Latest):This CL add a int member to `Suggestion` to filter suggestion for
              Stephen McGruer . unresolved

              Super-nit: 'adds'

              Line 10, Patchset 19 (Latest):different tab.
              Stephen McGruer . unresolved

              It is not clear to a reader what a 'tab' is. Immediately I thought of a browser tab, because that is the most common 'tab' concept in our world. Please update this to be clear that it refers to a tab on the autofill pop-up dialog.

              Line 15, Patchset 19 (Latest):Filtering logic for tab index will be added in the next CL.
              Stephen McGruer . unresolved

              Super-nit: 'for the tab index'

              File chrome/browser/ui/autofill/autofill_popup_controller.h
              Line 30, Patchset 19 (Latest): using SuggestionFilter = std::variant<StringFilter, SuggestionTabIndex>;
              Stephen McGruer . unresolved

              Architecturally this feels like it is combining disparate use-cases to me. One case is actually *filtering* the set of suggestions based on the user input. The other instead is a UI question of indicating/*selecting which UI surface* a particular suggestion should be displayed on. It seems entirely reasonable for both to be present at the same time, thus we shouldn't have an either/or relationship?

              I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

              I think these should be different concepts at the code level, albeit I am interested to know what brunobraga@'s opinion is.

              File components/autofill/core/browser/suggestions/suggestion.h
              Line 505, Patchset 19 (Latest): // Note: Suggestions typically appear in a single popup bubble.
              Stephen McGruer . unresolved

              This sentence isn't true, Suggestions appear in many different ways of which one is a popup bubble.

              Line 35, Patchset 19 (Latest):// The index of the tab that the suggestion will be shown in.
              Stephen McGruer . unresolved

              Again I am hit with this concept of "we are saying tab without a reader necessarily having any clue what that is". I think we need to find the right "central" place to define this (maybe here, maybe its at the tab_index member point) and explain what a tab is in this context.

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Bruno Braga
              • Yishui Liu
              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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                Gerrit-Change-Number: 7609367
                Gerrit-PatchSet: 19
                Gerrit-Owner: Yishui Liu <yis...@google.com>
                Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                Gerrit-Reviewer: Wilson Low <wils...@google.com>
                Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                Gerrit-Attention: Yishui Liu <yis...@google.com>
                Gerrit-Attention: Bruno Braga <bruno...@google.com>
                Gerrit-Comment-Date: Mon, 09 Mar 2026 21:14:35 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Vinny Persky (Gerrit)

                unread,
                Mar 9, 2026, 5:25:58 PMMar 9
                to Yishui Liu, Stephen McGruer, Wilson Low, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
                Attention needed from Bruno Braga and Yishui Liu

                Vinny Persky added 1 comment

                File chrome/browser/ui/autofill/autofill_popup_controller.h
                Line 30, Patchset 19 (Latest): using SuggestionFilter = std::variant<StringFilter, SuggestionTabIndex>;
                Stephen McGruer . unresolved

                Architecturally this feels like it is combining disparate use-cases to me. One case is actually *filtering* the set of suggestions based on the user input. The other instead is a UI question of indicating/*selecting which UI surface* a particular suggestion should be displayed on. It seems entirely reasonable for both to be present at the same time, thus we shouldn't have an either/or relationship?

                I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                I think these should be different concepts at the code level, albeit I am interested to know what brunobraga@'s opinion is.

                Vinny Persky

                I can also see the case for them being similar - based on a user input/action, change which suggestions we are showing to the user. Clicking a tab or typing in a string can both be lumped together as user actions.

                Agreed, it's not highly unreasonable for them to be together in the future. But for practical purposes, we had an infrastructure where, based on X user action, we can filter which suggestions to show the user, which lined up nicely with what we were looking to do for this project and lets us build on an existing infra rather than building something new. I don't think lumping these together since they're both user actions is unreasonable either.

                In the future, if we wanted them both to coexist, it would take a bit of extending this infrastructure but I don't think it would be a huge amount of work. I'd rather not build something new to handle a case that might never exist, especially when we can re-use.

                >I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                Yes but we still need to do this at the popup controller level because it's a UI click that the user makes to change which suggestions to display.

                If people want to go in a different direction, I'm not opposed, but since this approach has been aligned (between Slobo, Bruno and I, as well as Jan when I ran this approach by him before he went OOO), and is very close to being implemented (and isn't a huge lift in the codebase), can we go ahead with this as we re-align and figure out what is preferred? This CL is blocking a lot of the future CLs for this project

                Gerrit-Comment-Date: Mon, 09 Mar 2026 21:25:51 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Stephen McGruer <smcg...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Vinny Persky (Gerrit)

                unread,
                Mar 9, 2026, 5:31:01 PMMar 9
                to Yishui Liu, Stephen McGruer, Wilson Low, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
                Attention needed from Bruno Braga and Yishui Liu

                Vinny Persky added 1 comment

                File chrome/browser/ui/autofill/autofill_popup_controller.h
                Line 30, Patchset 19 (Latest): using SuggestionFilter = std::variant<StringFilter, SuggestionTabIndex>;
                Stephen McGruer . unresolved

                Architecturally this feels like it is combining disparate use-cases to me. One case is actually *filtering* the set of suggestions based on the user input. The other instead is a UI question of indicating/*selecting which UI surface* a particular suggestion should be displayed on. It seems entirely reasonable for both to be present at the same time, thus we shouldn't have an either/or relationship?

                I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                I think these should be different concepts at the code level, albeit I am interested to know what brunobraga@'s opinion is.

                Vinny Persky

                I can also see the case for them being similar - based on a user input/action, change which suggestions we are showing to the user. Clicking a tab or typing in a string can both be lumped together as user actions.

                Agreed, it's not highly unreasonable for them to be together in the future. But for practical purposes, we had an infrastructure where, based on X user action, we can filter which suggestions to show the user, which lined up nicely with what we were looking to do for this project and lets us build on an existing infra rather than building something new. I don't think lumping these together since they're both user actions is unreasonable either.

                In the future, if we wanted them both to coexist, it would take a bit of extending this infrastructure but I don't think it would be a huge amount of work. I'd rather not build something new to handle a case that might never exist, especially when we can re-use.

                >I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                Yes but we still need to do this at the popup controller level because it's a UI click that the user makes to change which suggestions to display.

                If people want to go in a different direction, I'm not opposed, but since this approach has been aligned (between Slobo, Bruno and I, as well as Jan when I ran this approach by him before he went OOO), and is very close to being implemented (and isn't a huge lift in the codebase), can we go ahead with this as we re-align and figure out what is preferred? This CL is blocking a lot of the future CLs for this project

                Vinny Persky

                Though FWIW, I have a preference for this approach so we don't end up with two different ways of changing which suggestions are shown to users.

                Gerrit-Comment-Date: Mon, 09 Mar 2026 21:30:52 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Vinny Persky <vinny...@google.com>
                Comment-In-Reply-To: Stephen McGruer <smcg...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Yishui Liu (Gerrit)

                unread,
                Mar 9, 2026, 6:53:28 PMMar 9
                to Stephen McGruer, Wilson Low, Vinny Persky, Slobodan Pejic, Bruno Braga, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
                Attention needed from Bruno Braga and Stephen McGruer

                Yishui Liu added 8 comments

                Patchset-level comments
                Stephen McGruer . resolved

                While I am generally a proponent of small CLs, I actually think this CL does too little. Without the context of *how* this new integer tab index concept is going to be used in practice, it is hard to consider whether this "works" in terms of good architectural shape for Autofill or not. In any case, I do have some concepts, in comments below.

                Yishui Liu

                I meant to have this CL more like a refactoring to only adds the support for taking int value as suggestion filter without changing the current flow, and the next CL adding the logic for handling the new filter.

                Commit Message
                Line 9, Patchset 19:This CL add a int member to `Suggestion` to filter suggestion for
                Stephen McGruer . resolved

                Super-nit: 'adds'

                Yishui Liu

                Description updated.

                Line 9, Patchset 19:This CL add a int member to `Suggestion` to filter suggestion for
                Stephen McGruer . resolved

                Super-nit: 'suggestions' (plural)

                Yishui Liu

                Description updated.

                Line 9, Patchset 19:This CL add a int member to `Suggestion` to filter suggestion for
                Stephen McGruer . resolved

                Super-nit: 'an', albeit I'm not sure you really need 'int' here and therefore could keep it as 'adds a member to...'

                Yishui Liu

                Description updated.

                Line 10, Patchset 19:different tab.
                Stephen McGruer . resolved

                It is not clear to a reader what a 'tab' is. Immediately I thought of a browser tab, because that is the most common 'tab' concept in our world. Please update this to be clear that it refers to a tab on the autofill pop-up dialog.

                Yishui Liu

                Added more detail about where the tabs locate

                Line 15, Patchset 19:Filtering logic for tab index will be added in the next CL.
                Stephen McGruer . resolved

                Super-nit: 'for the tab index'

                Yishui Liu

                description updated.

                File components/autofill/core/browser/suggestions/suggestion.h
                Line 505, Patchset 19: // Note: Suggestions typically appear in a single popup bubble.
                Stephen McGruer . resolved

                This sentence isn't true, Suggestions appear in many different ways of which one is a popup bubble.

                Yishui Liu

                Updated the comment to only mention suggestions are normally shown in the same list.

                Line 35, Patchset 19:// The index of the tab that the suggestion will be shown in.
                Stephen McGruer . unresolved

                Again I am hit with this concept of "we are saying tab without a reader necessarily having any clue what that is". I think we need to find the right "central" place to define this (maybe here, maybe its at the tab_index member point) and explain what a tab is in this context.

                Yishui Liu

                I move this line here so that we can define the default index constant directly in the strong alias type. We can move this line down with the `tab_index` member, but then the constant will need to be defined as int, and we will need to convert it to the alias type when we use it.
                Added more detail about the index type. Please let me know if you still think moving this line with the `tab_index` member is more readable.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Bruno Braga
                • Stephen McGruer
                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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                Gerrit-Change-Number: 7609367
                Gerrit-PatchSet: 26
                Gerrit-Owner: Yishui Liu <yis...@google.com>
                Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                Gerrit-Reviewer: Wilson Low <wils...@google.com>
                Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                Gerrit-Attention: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Attention: Bruno Braga <bruno...@google.com>
                Gerrit-Comment-Date: Mon, 09 Mar 2026 22:53:14 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Stephen McGruer <smcg...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Bruno Braga (Gerrit)

                unread,
                Mar 10, 2026, 9:57:58 AMMar 10
                to Yishui Liu, Stephen McGruer, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
                Attention needed from Stephen McGruer and Yishui Liu

                Bruno Braga voted and added 1 comment

                Votes added by Bruno Braga

                Code-Review+1

                1 comment

                File chrome/browser/ui/autofill/autofill_popup_controller.h
                Line 30, Patchset 19: using SuggestionFilter = std::variant<StringFilter, SuggestionTabIndex>;
                Stephen McGruer . unresolved

                Architecturally this feels like it is combining disparate use-cases to me. One case is actually *filtering* the set of suggestions based on the user input. The other instead is a UI question of indicating/*selecting which UI surface* a particular suggestion should be displayed on. It seems entirely reasonable for both to be present at the same time, thus we shouldn't have an either/or relationship?

                I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                I think these should be different concepts at the code level, albeit I am interested to know what brunobraga@'s opinion is.

                Vinny Persky

                I can also see the case for them being similar - based on a user input/action, change which suggestions we are showing to the user. Clicking a tab or typing in a string can both be lumped together as user actions.

                Agreed, it's not highly unreasonable for them to be together in the future. But for practical purposes, we had an infrastructure where, based on X user action, we can filter which suggestions to show the user, which lined up nicely with what we were looking to do for this project and lets us build on an existing infra rather than building something new. I don't think lumping these together since they're both user actions is unreasonable either.

                In the future, if we wanted them both to coexist, it would take a bit of extending this infrastructure but I don't think it would be a huge amount of work. I'd rather not build something new to handle a case that might never exist, especially when we can re-use.

                >I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                Yes but we still need to do this at the popup controller level because it's a UI click that the user makes to change which suggestions to display.

                If people want to go in a different direction, I'm not opposed, but since this approach has been aligned (between Slobo, Bruno and I, as well as Jan when I ran this approach by him before he went OOO), and is very close to being implemented (and isn't a huge lift in the codebase), can we go ahead with this as we re-align and figure out what is preferred? This CL is blocking a lot of the future CLs for this project

                Vinny Persky

                Though FWIW, I have a preference for this approach so we don't end up with two different ways of changing which suggestions are shown to users.

                Bruno Braga

                I prefer not coding with the expectation that both filtering options will coexist, instead only making this change if/when the feature requirements exists.

                To me the current approach is a good solution that builds upon what we have and does not add much complexity to the code, being also pretty self contained.

                The SuggestionTabIndex being a filter or not is more of a semantics choice I think, concretely thought we will be displaying a set of suggestions based on a user's decision (or filtering choice).

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Stephen McGruer
                • Yishui Liu
                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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                Gerrit-Change-Number: 7609367
                Gerrit-PatchSet: 28
                Gerrit-Owner: Yishui Liu <yis...@google.com>
                Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                Gerrit-Reviewer: Wilson Low <wils...@google.com>
                Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                Gerrit-Attention: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Attention: Yishui Liu <yis...@google.com>
                Gerrit-Comment-Date: Tue, 10 Mar 2026 13:57:51 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Stephen McGruer (Gerrit)

                unread,
                Mar 10, 2026, 1:10:12 PMMar 10
                to Yishui Liu, Stephen McGruer, Bruno Braga, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org
                Attention needed from Yishui Liu

                Stephen McGruer voted and added 1 comment

                Votes added by Stephen McGruer

                Code-Review+1

                1 comment

                File chrome/browser/ui/autofill/autofill_popup_controller.h
                Line 30, Patchset 19: using SuggestionFilter = std::variant<StringFilter, SuggestionTabIndex>;
                Stephen McGruer . resolved

                Architecturally this feels like it is combining disparate use-cases to me. One case is actually *filtering* the set of suggestions based on the user input. The other instead is a UI question of indicating/*selecting which UI surface* a particular suggestion should be displayed on. It seems entirely reasonable for both to be present at the same time, thus we shouldn't have an either/or relationship?

                I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                I think these should be different concepts at the code level, albeit I am interested to know what brunobraga@'s opinion is.

                Vinny Persky

                I can also see the case for them being similar - based on a user input/action, change which suggestions we are showing to the user. Clicking a tab or typing in a string can both be lumped together as user actions.

                Agreed, it's not highly unreasonable for them to be together in the future. But for practical purposes, we had an infrastructure where, based on X user action, we can filter which suggestions to show the user, which lined up nicely with what we were looking to do for this project and lets us build on an existing infra rather than building something new. I don't think lumping these together since they're both user actions is unreasonable either.

                In the future, if we wanted them both to coexist, it would take a bit of extending this infrastructure but I don't think it would be a huge amount of work. I'd rather not build something new to handle a case that might never exist, especially when we can re-use.

                >I'm actually surprised that the existing filtering happens at the AutofillPopupControllerImpl level and not in the original Suggestion generation. I assume this is to allow it to react as more characters are typed without requiring re-generation of Suggestions? If that is the reason, then it feels like even more reason that the SuggestionTabIndex concept is not a filter (or at least not the same either/or filter as the string one), and instead is a static UI concept of where a Suggestion should be visually displayed.

                Yes but we still need to do this at the popup controller level because it's a UI click that the user makes to change which suggestions to display.

                If people want to go in a different direction, I'm not opposed, but since this approach has been aligned (between Slobo, Bruno and I, as well as Jan when I ran this approach by him before he went OOO), and is very close to being implemented (and isn't a huge lift in the codebase), can we go ahead with this as we re-align and figure out what is preferred? This CL is blocking a lot of the future CLs for this project

                Vinny Persky

                Though FWIW, I have a preference for this approach so we don't end up with two different ways of changing which suggestions are shown to users.

                Bruno Braga

                I prefer not coding with the expectation that both filtering options will coexist, instead only making this change if/when the feature requirements exists.

                To me the current approach is a good solution that builds upon what we have and does not add much complexity to the code, being also pretty self contained.

                The SuggestionTabIndex being a filter or not is more of a semantics choice I think, concretely thought we will be displaying a set of suggestions based on a user's decision (or filtering choice).

                Stephen McGruer

                Ack, sounds good to me. Thanks both for your thoughts 😊.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Yishui Liu
                Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement 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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                Gerrit-Change-Number: 7609367
                Gerrit-PatchSet: 28
                Gerrit-Owner: Yishui Liu <yis...@google.com>
                Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                Gerrit-Reviewer: Wilson Low <wils...@google.com>
                Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                Gerrit-Attention: Yishui Liu <yis...@google.com>
                Gerrit-Comment-Date: Tue, 10 Mar 2026 17:09:59 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                Comment-In-Reply-To: Vinny Persky <vinny...@google.com>
                Comment-In-Reply-To: Stephen McGruer <smcg...@chromium.org>
                Comment-In-Reply-To: Bruno Braga <bruno...@google.com>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Yishui Liu (Gerrit)

                unread,
                Mar 10, 2026, 1:39:32 PMMar 10
                to Stephen McGruer, Bruno Braga, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org

                Yishui Liu added 1 comment

                File components/autofill/core/browser/suggestions/suggestion.h
                Line 35, Patchset 19:// The index of the tab that the suggestion will be shown in.
                Stephen McGruer . resolved

                Again I am hit with this concept of "we are saying tab without a reader necessarily having any clue what that is". I think we need to find the right "central" place to define this (maybe here, maybe its at the tab_index member point) and explain what a tab is in this context.

                Yishui Liu

                I move this line here so that we can define the default index constant directly in the strong alias type. We can move this line down with the `tab_index` member, but then the constant will need to be defined as int, and we will need to convert it to the alias type when we use it.
                Added more detail about the index type. Please let me know if you still think moving this line with the `tab_index` member is more readable.

                Yishui Liu

                Resolving this comment as the change is reviewed. Please let us know if you have any further questions.

                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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                  Gerrit-Change-Number: 7609367
                  Gerrit-PatchSet: 29
                  Gerrit-Owner: Yishui Liu <yis...@google.com>
                  Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                  Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                  Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                  Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                  Gerrit-Reviewer: Wilson Low <wils...@google.com>
                  Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                  Gerrit-Comment-Date: Tue, 10 Mar 2026 17:39:20 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  Comment-In-Reply-To: Stephen McGruer <smcg...@chromium.org>
                  Comment-In-Reply-To: Yishui Liu <yis...@google.com>
                  satisfied_requirement
                  open
                  diffy

                  Yishui Liu (Gerrit)

                  unread,
                  Mar 10, 2026, 1:40:09 PMMar 10
                  to Stephen McGruer, Bruno Braga, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org

                  Yishui Liu added 1 comment

                  Patchset-level comments
                  File-level comment, Patchset 29 (Latest):
                  Yishui Liu . resolved

                  Only resolved merge conflict since latest approved change.

                  Gerrit-Comment-Date: Tue, 10 Mar 2026 17:39:57 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  open
                  diffy

                  Yishui Liu (Gerrit)

                  unread,
                  Mar 10, 2026, 3:52:47 PMMar 10
                  to Stephen McGruer, Bruno Braga, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org

                  Yishui Liu 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
                  • 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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                  Gerrit-Change-Number: 7609367
                  Gerrit-PatchSet: 30
                  Gerrit-Owner: Yishui Liu <yis...@google.com>
                  Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                  Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                  Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                  Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                  Gerrit-Reviewer: Wilson Low <wils...@google.com>
                  Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                  Gerrit-Comment-Date: Tue, 10 Mar 2026 19:52:35 +0000
                  Gerrit-HasComments: No
                  Gerrit-Has-Labels: Yes
                  satisfied_requirement
                  open
                  diffy

                  Chromium LUCI CQ (Gerrit)

                  unread,
                  Mar 10, 2026, 3:55:44 PMMar 10
                  to Yishui Liu, Stephen McGruer, Bruno Braga, Wilson Low, Vinny Persky, Slobodan Pejic, AyeAye, chromium...@chromium.org, vinnypersky+...@google.com, siashah+au...@chromium.org, osaul+aut...@google.com, shgar+aut...@google.com, siyua+aut...@chromium.org, armalhotra+a...@google.com, browser-comp...@chromium.org

                  Chromium LUCI CQ submitted the change with unreviewed changes

                  Unreviewed changes

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

                  ```
                  The name of the file: chrome/browser/ui/autofill/autofill_popup_controller_impl_unittest.cc
                  Insertions: 30, Deletions: 0.

                  The diff is too large to show. Please review the diff.
                  ```

                  Change information

                  Commit message:
                  [BNPL][PNPL] Add TabIndex to Suggestion and SuggestionFilter

                  This CL adds an int member to `Suggestion` to filter suggestions in the
                  autofill popup for showing them in tabbed panes instead of all in the
                  same list.

                  `AutofillPopupController` is also updated to take string or int as
                  suggestion filter.

                  Filtering logic for the tab index will be added in the next CL.

                  Design doc: go/chrome_bnpl_pay_now_pay_later_tabs
                  Bug: 477689220
                  Change-Id: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                  Reviewed-by: Stephen McGruer <smcg...@chromium.org>
                  Reviewed-by: Wilson Low <wils...@google.com>
                  Commit-Queue: Yishui Liu <yis...@google.com>
                  Reviewed-by: Slobodan Pejic <slob...@chromium.org>
                  Reviewed-by: Vinny Persky <vinny...@google.com>
                  Reviewed-by: Bruno Braga <bruno...@google.com>
                  Cr-Commit-Position: refs/heads/main@{#1597259}
                  Files:
                  • M chrome/browser/ui/autofill/autofill_popup_controller.h
                  • M chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
                  • M chrome/browser/ui/autofill/autofill_popup_controller_impl_unittest.cc
                  • M chrome/browser/ui/views/autofill/popup/popup_view_views.cc
                  • M chrome/browser/ui/views/autofill/popup/popup_view_views_unittest.cc
                  • M components/autofill/core/browser/suggestions/suggestion.h
                  Change size: M
                  Delta: 6 files changed, 62 insertions(+), 34 deletions(-)
                  Branch: refs/heads/main
                  Submit Requirements:
                  • requirement satisfiedCode-Review: +1 by Wilson Low, +1 by Stephen McGruer, +1 by Vinny Persky, +1 by Bruno Braga, +1 by Slobodan Pejic
                  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: I2e9d23bcddcd8ad15e1834af629adac48f90ab83
                  Gerrit-Change-Number: 7609367
                  Gerrit-PatchSet: 31
                  Gerrit-Owner: Yishui Liu <yis...@google.com>
                  Gerrit-Reviewer: Bruno Braga <bruno...@google.com>
                  Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                  Gerrit-Reviewer: Slobodan Pejic <slob...@chromium.org>
                  Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                  Gerrit-Reviewer: Vinny Persky <vinny...@google.com>
                  Gerrit-Reviewer: Wilson Low <wils...@google.com>
                  Gerrit-Reviewer: Yishui Liu <yis...@google.com>
                  open
                  diffy
                  satisfied_requirement
                  Reply all
                  Reply to author
                  Forward
                  0 new messages