Wallet passes: Deep-link private passes from desktop Autofill settings [chromium/src : main]

0 views
Skip to first unread message

Florian Leimgruber (Gerrit)

unread,
Mar 10, 2026, 6:24:18 AM (2 days ago) Mar 10
to Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Norge Vizcay

Florian Leimgruber voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Norge Vizcay
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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
Gerrit-Change-Number: 7649092
Gerrit-PatchSet: 9
Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
Gerrit-Attention: Norge Vizcay <viz...@google.com>
Gerrit-Comment-Date: Tue, 10 Mar 2026 10:24:05 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Norge Vizcay (Gerrit)

unread,
Mar 10, 2026, 12:32:58 PM (2 days ago) Mar 10
to Florian Leimgruber, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Florian Leimgruber

Norge Vizcay added 1 comment

File components/autofill/core/common/autofill_features.cc
Line 318, Patchset 9 (Latest): kAutofillAiWalletPrivatePassesDeepLink,
Norge Vizcay . unresolved

Do we want to make this a param of `kAutofillAiWalletPrivatePasses` or its own flag to decouple both launches?

Open in Gerrit

Related details

Attention is currently required from:
  • Florian Leimgruber
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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
    Gerrit-Change-Number: 7649092
    Gerrit-PatchSet: 9
    Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
    Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
    Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
    Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
    Gerrit-Comment-Date: Tue, 10 Mar 2026 16:32:23 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Florian Leimgruber (Gerrit)

    unread,
    Mar 10, 2026, 12:55:21 PM (2 days ago) Mar 10
    to Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
    Attention needed from Norge Vizcay

    Florian Leimgruber voted and added 1 comment

    Votes added by Florian Leimgruber

    Commit-Queue+1

    1 comment

    File components/autofill/core/common/autofill_features.cc
    Line 318, Patchset 9: kAutofillAiWalletPrivatePassesDeepLink,
    Norge Vizcay . resolved

    Do we want to make this a param of `kAutofillAiWalletPrivatePasses` or its own flag to decouple both launches?

    Florian Leimgruber

    Good point. Made it a separate flag.

    That said, Brady just [confirmed](http://shortn/_a1o068AurX) that he is ok with rolling out the deep link for private passes before the deep link for public passes.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Norge Vizcay
    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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
      Gerrit-Change-Number: 7649092
      Gerrit-PatchSet: 11
      Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
      Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
      Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
      Gerrit-Attention: Norge Vizcay <viz...@google.com>
      Gerrit-Comment-Date: Tue, 10 Mar 2026 16:55:08 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Norge Vizcay <viz...@google.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Norge Vizcay (Gerrit)

      unread,
      Mar 10, 2026, 1:15:09 PM (2 days ago) Mar 10
      to Florian Leimgruber, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
      Attention needed from Florian Leimgruber

      Norge Vizcay voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Florian Leimgruber
      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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
        Gerrit-Change-Number: 7649092
        Gerrit-PatchSet: 11
        Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
        Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
        Gerrit-Comment-Date: Tue, 10 Mar 2026 17:14:35 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Florian Leimgruber (Gerrit)

        unread,
        Mar 10, 2026, 1:23:18 PM (2 days ago) Mar 10
        to Demetrios Papadopoulos, Tim, Mohamed Amir Yosef, Side YILMAZ, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
        Attention needed from Demetrios Papadopoulos, Mohamed Amir Yosef, Side YILMAZ and Tim

        Florian Leimgruber added 1 comment

        Patchset-level comments
        File-level comment, Patchset 11 (Latest):
        Florian Leimgruber . resolved

        PTAL at:

        • dpapad: autofill_private.d.ts
        • Tim: autofill_private.idl
        • Mohamed: autofill_ai_entries_list.ts
        • Side: settings_localized_strings_provider.cc

        The changes in these files are all straightfoward, but unfortunately a separate owner is required for each of them.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Demetrios Papadopoulos
        • Mohamed Amir Yosef
        • Side YILMAZ
        • Tim
        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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
        Gerrit-Change-Number: 7649092
        Gerrit-PatchSet: 11
        Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
        Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Mohamed Amir Yosef <ma...@chromium.org>
        Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
        Gerrit-Reviewer: Side YILMAZ <sidey...@chromium.org>
        Gerrit-Reviewer: Tim <tjud...@chromium.org>
        Gerrit-Attention: Tim <tjud...@chromium.org>
        Gerrit-Attention: Demetrios Papadopoulos <dpa...@chromium.org>
        Gerrit-Attention: Mohamed Amir Yosef <ma...@chromium.org>
        Gerrit-Attention: Side YILMAZ <sidey...@chromium.org>
        Gerrit-Comment-Date: Tue, 10 Mar 2026 17:23:04 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Florian Leimgruber (Gerrit)

        unread,
        Mar 10, 2026, 1:24:22 PM (2 days ago) Mar 10
        to Demetrios Papadopoulos, Tim, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
        Attention needed from Demetrios Papadopoulos and Tim

        Florian Leimgruber added 1 comment

        Patchset-level comments
        Florian Leimgruber . resolved

        PTAL at:

        • dpapad: autofill_private.d.ts
        • Tim: autofill_private.idl
        • Mohamed: autofill_ai_entries_list.ts
        • Side: settings_localized_strings_provider.cc

        The changes in these files are all straightfoward, but unfortunately a separate owner is required for each of them.

        Florian Leimgruber

        Nevermind, turns out dpapad also owns autofill_ai_entries_list.ts and settings_localized_strings_provider.cc. PTAL at those files too, then. Thanks!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Demetrios Papadopoulos
        • Tim
        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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
        Gerrit-Change-Number: 7649092
        Gerrit-PatchSet: 11
        Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
        Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
        Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
        Gerrit-Reviewer: Tim <tjud...@chromium.org>
        Gerrit-Attention: Tim <tjud...@chromium.org>
        Gerrit-Attention: Demetrios Papadopoulos <dpa...@chromium.org>
        Gerrit-Comment-Date: Tue, 10 Mar 2026 17:24:06 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Florian Leimgruber <fleim...@google.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Demetrios Papadopoulos (Gerrit)

        unread,
        Mar 10, 2026, 4:34:26 PM (2 days ago) Mar 10
        to Florian Leimgruber, Tim, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
        Attention needed from Florian Leimgruber and Tim

        Demetrios Papadopoulos added 2 comments

        File chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.ts
        Line 448, Patchset 11 (Latest): OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
        Demetrios Papadopoulos . unresolved

        Is this line exercised by any of the tests? If not, should there be a new test case for it?

        Line 448, Patchset 11 (Latest): OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
        Demetrios Papadopoulos . unresolved

        Why is this safe to do? In other words what guarantees that this field even though marked as optional is always populated in this case?

        For example if this is always populated for a certain type of EntityType, can you add an assertion to make that explicit?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Florian Leimgruber
        • Tim
        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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
          Gerrit-Change-Number: 7649092
          Gerrit-PatchSet: 11
          Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
          Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
          Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
          Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
          Gerrit-Reviewer: Tim <tjud...@chromium.org>
          Gerrit-Attention: Tim <tjud...@chromium.org>
          Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
          Gerrit-Comment-Date: Tue, 10 Mar 2026 20:34:13 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Tim (Gerrit)

          unread,
          Mar 10, 2026, 6:03:27 PM (2 days ago) Mar 10
          to Florian Leimgruber, Demetrios Papadopoulos, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from Florian Leimgruber

          Tim added 3 comments

          Patchset-level comments
          Tim . resolved

          Thanks Florian. The IDL and api_util changes are mostly looking good, just some questions around adding tests.

          File chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc
          Line 67, Patchset 11 (Latest): return chrome::kWalletPassesPageURL;
          Tim . unresolved

          Do we want a test case to cover this as well just for completeness? It's currently unreached by tests.

          Line 69, Patchset 11 (Latest): return base::StringPrintf(
          chrome::kWalletPrivatePassPageURL,
          base::EscapeQueryParamValue(entity.guid().value(), /*use_plus=*/false));
          Tim . unresolved

          I'm not seeing a test-case that seems to cover what this ends up looking like (but the line does seem to be hit by tests, so there's probably an existing case we can add to for verifying).

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Florian Leimgruber
          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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
          Gerrit-Change-Number: 7649092
          Gerrit-PatchSet: 11
          Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
          Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
          Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
          Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
          Gerrit-Reviewer: Tim <tjud...@chromium.org>
          Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
          Gerrit-Comment-Date: Tue, 10 Mar 2026 22:03:20 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Vidhan Jain (Gerrit)

          unread,
          Mar 11, 2026, 9:42:29 AM (yesterday) Mar 11
          to Florian Leimgruber, Demetrios Papadopoulos, Tim, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from Florian Leimgruber

          Vidhan Jain added 1 comment

          Commit Message
          Line 26, Patchset 11 (Latest):easier to move in the future.
          Vidhan Jain . unresolved

          Could we add `GetWalletURL` to the EntityInstance data model, then it would be easier to reuse for other platforms?

          Gerrit-CC: Vidhan Jain <vid...@google.com>
          Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
          Gerrit-Comment-Date: Wed, 11 Mar 2026 13:42:10 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Florian Leimgruber (Gerrit)

          unread,
          Mar 11, 2026, 11:59:49 AM (yesterday) Mar 11
          to Vidhan Jain, Demetrios Papadopoulos, Tim, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
          Attention needed from Demetrios Papadopoulos, Norge Vizcay, Tim and Vidhan Jain

          Florian Leimgruber voted and added 5 comments

          Votes added by Florian Leimgruber

          Commit-Queue+1

          5 comments

          Commit Message
          Line 26, Patchset 11:easier to move in the future.
          Vidhan Jain . unresolved

          Could we add `GetWalletURL` to the EntityInstance data model, then it would be easier to reuse for other platforms?

          Florian Leimgruber

          I was initially hesitant, because URLs are defined in `chrome/common/url_constants.h` and components/ cannot depend on chrome/.

          In the end, I decided to move the logic go components/ after all, so it can be reused across platforms.

          • kWalletPassesPageURL is temporarily duplicated there, until we launch deeps links for all pass types.
          • kWalletPrivatePassPageURL is not part of the url_constants file and is not needed there.

          Note that some Wallet and Autofill desktop saving UI still depends on `chrome::kWalletPassesPageURL`. The Autofill UI could be migrated to the new components/ constants, but for the Wallet one, I'm not sure what the right move it, since it probably shouldn't depend on Autofill.

          File chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc
          Line 67, Patchset 11: return chrome::kWalletPassesPageURL;
          Tim . resolved

          Do we want a test case to cover this as well just for completeness? It's currently unreached by tests.

          Florian Leimgruber

          Done. As mentioned in the other comment, I moved the logic somewhere else. The tests are in autofill_ai_wallet_utils_unittest.cc.

          Line 69, Patchset 11: return base::StringPrintf(

          chrome::kWalletPrivatePassPageURL,
          base::EscapeQueryParamValue(entity.guid().value(), /*use_plus=*/false));
          Tim . resolved

          I'm not seeing a test-case that seems to cover what this ends up looking like (but the line does seem to be hit by tests, so there's probably an existing case we can add to for verifying).

          Florian Leimgruber

          Done. As mentioned in the other comment, I moved the logic somewhere else. The tests are in autofill_ai_wallet_utils_unittest.cc.

          File chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.ts
          Line 448, Patchset 11: OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
          Demetrios Papadopoulos . resolved

          Is this line exercised by any of the tests? If not, should there be a new test case for it?

          Florian Leimgruber

          Is this line exercised by any of the tests?

          It seems like `onRemoteWalletPassesLinkClick_()` isn't tested at all right now. It was added without tests as `onGoToWalletClick_()` [here](https://chromium-review.git.corp.google.com/c/chromium/src/+/6968624) ([reland](https://chromium-review.git.corp.google.com/c/chromium/src/+/7002760)) and later moved/renamed to `onRemoteWalletPassesLinkClick_()` [here](https://chromium-review.git.corp.google.com/c/chromium/src/+/7032102).

          If not, should there be a new test case for it?

          Modified an existing test to assert the button's behavior.

          Line 448, Patchset 11: OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
          Demetrios Papadopoulos . unresolved

          Why is this safe to do? In other words what guarantees that this field even though marked as optional is always populated in this case?

          For example if this is always populated for a certain type of EntityType, can you add an assertion to make that explicit?

          Florian Leimgruber

          Why is this safe to do? In other words what guarantees that this field even though marked as optional is always populated in this case?

          As documented in the idl file:
          > If the entity is `storedInWallet`, this string contains the URL to the management page of the pass on the Wallet website.

          Looking at the [HTML file](https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.html;l=67-73;drc=b7409c8b043d83040608be9855552e4f1ccf36be) (which my CL doesn't modify), `onRemoteWalletPassesLinkClick_()` is only called if `storedInWallet`:
          ```
          <template is="dom-if" if="[[item.storedInWallet]]" restamp>
          <cr-icon-button class="icon-external" id="remoteWalletPassesLink"
          title="$i18n{remoteWalletPassesLinkLabel}" role="link"
          on-click="onRemoteWalletPassesLinkClick_"
          aria-description="$i18n{opensInNewTab}">
          </cr-icon-button>
          </template>
          ```

          The function name "RemoteWalletPasses" also indicates this.

          For example if this is always populated for a certain type of EntityType, can you add an assertion to make that explicit?

          Good point, added an assert for `storedInWallet`.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Demetrios Papadopoulos
          • Norge Vizcay
          • Tim
          • Vidhan Jain
          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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
            Gerrit-Change-Number: 7649092
            Gerrit-PatchSet: 14
            Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
            Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
            Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
            Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
            Gerrit-Reviewer: Tim <tjud...@chromium.org>
            Gerrit-CC: Vidhan Jain <vid...@google.com>
            Gerrit-Attention: Vidhan Jain <vid...@google.com>
            Gerrit-Attention: Tim <tjud...@chromium.org>
            Gerrit-Attention: Demetrios Papadopoulos <dpa...@chromium.org>
            Gerrit-Attention: Norge Vizcay <viz...@google.com>
            Gerrit-Comment-Date: Wed, 11 Mar 2026 15:59:31 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            Comment-In-Reply-To: Vidhan Jain <vid...@google.com>
            Comment-In-Reply-To: Tim <tjud...@chromium.org>
            Comment-In-Reply-To: Demetrios Papadopoulos <dpa...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Tim (Gerrit)

            unread,
            Mar 11, 2026, 2:13:41 PM (22 hours ago) Mar 11
            to Florian Leimgruber, Vidhan Jain, Demetrios Papadopoulos, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
            Attention needed from Demetrios Papadopoulos, Florian Leimgruber, Norge Vizcay and Vidhan Jain

            Tim voted and added 1 comment

            Votes added by Tim

            Code-Review+1

            1 comment

            Patchset-level comments
            File-level comment, Patchset 15 (Latest):
            Tim . resolved

            Thanks for adding the extra coverage in and I like that this was able to be slid into /components! IDL and extension API side LGTM!

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Demetrios Papadopoulos
            • Florian Leimgruber
            • Norge Vizcay
            • Vidhan Jain
            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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
              Gerrit-Change-Number: 7649092
              Gerrit-PatchSet: 15
              Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
              Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
              Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
              Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
              Gerrit-Reviewer: Tim <tjud...@chromium.org>
              Gerrit-CC: Vidhan Jain <vid...@google.com>
              Gerrit-Attention: Vidhan Jain <vid...@google.com>
              Gerrit-Attention: Demetrios Papadopoulos <dpa...@chromium.org>
              Gerrit-Attention: Norge Vizcay <viz...@google.com>
              Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
              Gerrit-Comment-Date: Wed, 11 Mar 2026 18:13:34 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Demetrios Papadopoulos (Gerrit)

              unread,
              Mar 11, 2026, 5:14:51 PM (19 hours ago) Mar 11
              to Florian Leimgruber, Tim, Vidhan Jain, Norge Vizcay, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
              Attention needed from Florian Leimgruber, Norge Vizcay and Vidhan Jain

              Demetrios Papadopoulos added 1 comment

              File chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.ts
              Line 448, Patchset 11: OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
              Demetrios Papadopoulos . unresolved

              Why is this safe to do? In other words what guarantees that this field even though marked as optional is always populated in this case?

              For example if this is always populated for a certain type of EntityType, can you add an assertion to make that explicit?

              Florian Leimgruber

              Why is this safe to do? In other words what guarantees that this field even though marked as optional is always populated in this case?

              As documented in the idl file:
              > If the entity is `storedInWallet`, this string contains the URL to the management page of the pass on the Wallet website.

              Looking at the [HTML file](https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.html;l=67-73;drc=b7409c8b043d83040608be9855552e4f1ccf36be) (which my CL doesn't modify), `onRemoteWalletPassesLinkClick_()` is only called if `storedInWallet`:
              ```
              <template is="dom-if" if="[[item.storedInWallet]]" restamp>
              <cr-icon-button class="icon-external" id="remoteWalletPassesLink"
              title="$i18n{remoteWalletPassesLinkLabel}" role="link"
              on-click="onRemoteWalletPassesLinkClick_"
              aria-description="$i18n{opensInNewTab}">
              </cr-icon-button>
              </template>
              ```

              The function name "RemoteWalletPasses" also indicates this.

              For example if this is always populated for a certain type of EntityType, can you add an assertion to make that explicit?

              Good point, added an assert for `storedInWallet`.

              Demetrios Papadopoulos

              Good point, added an assert for storedInWallet.

              Where was this added? I don't seet in in latest patch 15. Can you double check?
              Once you add the assertion there should no longer be a need for the `!` cast. And more specifically this code makes an assumption about `walletEntityUrl` so the assertion should be about that, and not about `storedInWallet`. You can add both if that makes sense.

              ```suggestion
              assert(e.model.item.storedInWallet);
              assert(e.model.item.walletEntityUrl);
              OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl);
              ```
              Open in Gerrit

              Related details

              Attention is currently required from:
              Gerrit-Attention: Norge Vizcay <viz...@google.com>
              Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
              Gerrit-Comment-Date: Wed, 11 Mar 2026 21:14:41 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Demetrios Papadopoulos <dpa...@chromium.org>
              Comment-In-Reply-To: Florian Leimgruber <fleim...@google.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Norge Vizcay (Gerrit)

              unread,
              4:03 AM (8 hours ago) 4:03 AM
              to Florian Leimgruber, Tim, Vidhan Jain, Demetrios Papadopoulos, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
              Attention needed from Florian Leimgruber and Vidhan Jain

              Norge Vizcay voted Code-Review+1

              Code-Review+1
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Florian Leimgruber
              • Vidhan Jain
              Gerrit-Attention: Florian Leimgruber <fleim...@google.com>
              Gerrit-Comment-Date: Thu, 12 Mar 2026 08:02:53 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Florian Leimgruber (Gerrit)

              unread,
              4:40 AM (8 hours ago) 4:40 AM
              to Norge Vizcay, Tim, Vidhan Jain, Demetrios Papadopoulos, Chromium LUCI CQ, AyeAye, chromium...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
              Attention needed from Demetrios Papadopoulos and Vidhan Jain

              Florian Leimgruber voted and added 1 comment

              Votes added by Florian Leimgruber

              Commit-Queue+1

              1 comment

              File chrome/browser/resources/settings/autofill_page/autofill_ai_entries_list.ts
              Line 448, Patchset 11: OpenWindowProxyImpl.getInstance().openUrl(e.model.item.walletEntityUrl!);
              Demetrios Papadopoulos . resolved
              Florian Leimgruber

              Where was this added? I don't seet in in latest patch 15. Can you double check?

              I'm sorry, it must have gotten lost while I was working on the test.

              Once you add the assertion there should no longer be a need for the ! cast. And more specifically this code makes an assumption about walletEntityUrl so the assertion should be about that, and not about storedInWallet. You can add both if that makes sense.

              Done

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Demetrios Papadopoulos
              • Vidhan Jain
              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: I17cdb4f93053e29c37658e49d7feacdd3bb8da56
              Gerrit-Change-Number: 7649092
              Gerrit-PatchSet: 16
              Gerrit-Owner: Florian Leimgruber <fleim...@google.com>
              Gerrit-Reviewer: Demetrios Papadopoulos <dpa...@chromium.org>
              Gerrit-Reviewer: Florian Leimgruber <fleim...@google.com>
              Gerrit-Reviewer: Norge Vizcay <viz...@google.com>
              Gerrit-Reviewer: Tim <tjud...@chromium.org>
              Gerrit-CC: Vidhan Jain <vid...@google.com>
              Gerrit-Attention: Vidhan Jain <vid...@google.com>
              Gerrit-Attention: Demetrios Papadopoulos <dpa...@chromium.org>
              Gerrit-Comment-Date: Thu, 12 Mar 2026 08:40:18 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy
              Reply all
              Reply to author
              Forward
              0 new messages