Remove Form Card Matching In Mandatory Reauth Opt-In Flow (CL 1 of 3)

The old behavior here was that if the user autofilled a card via non-
interactive authentication (green path), and then deleted the card in
the form and manually typed in a different card, we would do a matching
check to make sure that the card in the form matched the most recently
filled card before we offer re-auth opt-in.

With this CL, we will remove the matching check. Instead, with this CL,
we will offer re-auth opt-in if the user's most recent autofill moment
was a non-interactive authentication (green path).

The difference in functionality with this CL will be that in the case
where a user green paths a card, then deletes the card and manually
types in a different card in the form, we will now offer re-auth opt-in.
Before this CL, in this scenario, we would not offer re-auth opt-in.

After discussing this case within engineering and with product, we
realized that it is an extremely rare edge cased based on the UMA data.
Handling it adds a lot of complexity in the code, and not offering re-
auth opt-in might actually not be the ideal user journey from a product
perspective. It is possible if a user went through non-interactive
authentication but then manually typed in a different card, they
actually disliked the non-interactive authentication and wanted to use a
different card. Offering to always authenticate can actually make a lot
of sense in this use-case.

CL #2 in this chain will update the associated histograms and enums to
match this refactor.

CL #3 in this chain will move the class variable that denotes the most
recent payments autofill was a non-interactive authentication into
CreditCardAccessManager.

Bug: 1478907
Change-Id: I6e1fbf35487335290086964b410e8de4bdf01283
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4836921
Reviewed-by: Dominic Battre <battre@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Olivia Saul <jsaul@google.com>
Commit-Queue: Vinny Persky <vinnypersky@google.com>
Cr-Commit-Position: refs/heads/main@{#1193935}
9 files changed
tree: 8eb2cc65b88dd7953d119736aa7a177d3ba0c113
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. webkit/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gitmodules
  59. .gn
  60. .mailmap
  61. .rustfmt.toml
  62. .vpython3
  63. .yapfignore
  64. ATL_OWNERS
  65. AUTHORS
  66. BUILD.gn
  67. CODE_OF_CONDUCT.md
  68. codereview.settings
  69. DEPS
  70. DIR_METADATA
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.