New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 748266 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

Using masked credit cards always offers upload save (if available)

Project Member Reported by jsaul@google.com, Jul 24 2017

Issue description

Chrome Version: M60
OS: Android, Linux, Mac, Windows, ChromeOS (aka not iOS because Upstream is not launched there)

Due to a logic bug, submitting a form with a card that matches a currently-masked card synced from Google Payments will always offer to upload the card to Google Payments (as long as the other upload requirements are met, i.e. address/CVC) even though the card already exists in Chrome and in Payments.

This affects:
 * People who enter the card number manually and have the same masked card in Chrome
 * People who encounter the card unmask dialog, reject it, and submit the card number manually
 * People who encounter the card unmask dialog, unmask the card, but decline to also save it locally

This does not affect:
 * People who encounter the card unmask dialog, unmask the card, and save it locally
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 25 2017

Comment 2 by jsaul@google.com, Jul 25 2017

Labels: Merge-Request-61
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 25 2017

Labels: Hotlist-Google
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61.
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 25 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978

commit 0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978
Author: Mathieu Perreault <mathp@chromium.org>
Date: Tue Jul 25 20:36:12 2017

Upstream should not be offered for masked cards when AutofillOfferLocalSaveIfServerCardManuallyEntered flag is off

TBR=jsaul@google.com

(cherry picked from commit c769b14ab56385059c72ddf31ec5988e57851280)

Bug:  748266 
Change-Id: Idc25a838cf21c6f51345cc2e9cb814c02e90861a
Reviewed-on: https://chromium-review.googlesource.com/584000
Commit-Queue: Jared Saul <jsaul@google.com>
Reviewed-by: Roger McFarlane <rogerm@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489203}
Reviewed-on: https://chromium-review.googlesource.com/585608
Cr-Commit-Position: refs/branch-heads/3163@{#36}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978/components/autofill/core/browser/autofill_manager_unittest.cc
[modify] https://crrev.com/0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978/components/autofill/core/browser/personal_data_manager.cc
[modify] https://crrev.com/0d8f3e4da6a7a5a13eb6a9c98194acfc08a3b978/components/autofill/core/browser/personal_data_manager_unittest.cc

Comment 6 by ma...@chromium.org, Jul 25 2017

Status: Fixed (was: Started)
Labels: Merge-Approved-60
Merge approved for M60 branch 3112 once local compilation / verification of the fix on that branch is complete.
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 27 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/675d104ab3941d0a73080bec36f737016cbc124b

commit 675d104ab3941d0a73080bec36f737016cbc124b
Author: Mathieu Perreault <mathp@chromium.org>
Date: Thu Jul 27 14:30:10 2017

[Merge M60] Upstream should not be offered for masked cards when AutofillOfferLocalSaveIfServerCardManuallyEntered flag is off

Bug:  748266 
Change-Id: I42c291dd7ea15787bcebe292a85993ff608d5a72
Reviewed-on: https://chromium-review.googlesource.com/587402
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: Roger McFarlane <rogerm@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#679}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/675d104ab3941d0a73080bec36f737016cbc124b/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/675d104ab3941d0a73080bec36f737016cbc124b/components/autofill/core/browser/autofill_manager_unittest.cc
[modify] https://crrev.com/675d104ab3941d0a73080bec36f737016cbc124b/components/autofill/core/browser/personal_data_manager.cc
[modify] https://crrev.com/675d104ab3941d0a73080bec36f737016cbc124b/components/autofill/core/browser/personal_data_manager_unittest.cc

Cc: krav...@chromium.org
+kravula to verify on Android
Cc: rbasuvula@chromium.org
Labels: Needs-Feedback
@jsaul: Could you please provide the sample test steps of the issue which would help us to verify the issue further.

Thanks in Advance.

Comment 11 by jsaul@google.com, Aug 2 2017

Sure, sample steps would be as follows:

== Setup:
1) Have a card in Google Payments, be it either payments.google.com or payments.sandbox.google.com.
2) If you're using sandbox, make sure you have BOTH the "Use Google Payments sandbox servers" and "Use Chrome Sync sandbox" flags enabled, THEN completely log out of Chrome and log back in to force the sandbox credit card sync.  If you're using prod, it should have synced automatically.
3) Ensure that if you go to chrome://settings/autofill, the card you plan to use is NOT locally saved (aka doesn't say "Copied to Chrome").  If it is, clear the copy.
4) For best results and avoiding false positives, delete all of your local autofill addresses.
== Testing:
5) Go to https://dump-truck.appspot.com/usecase-address_and_cc_on_same_page/address_and_cc.html and enter valid information in the form.  The address must be a real address and the name must match the cardholder name in the billing info portion.  Selecting the default address is okay as long as the names match.
6) For the billing info, either A) select the masked card, at which point it should ask you to confirm the CVC, or B) just enter the full card number manually.  (Choosing the card specifically from autofill is not important, what matters is that it's the same card number, so if the CVC check fails for some reason you can do option B.)
7) On form submit, with the fix, you should NOT be asked to save your card to Google.  (Before the fix, it would have asked to save even though the card was already known to Chrome.)

Thanks!
"Chrome on Android" -Verified in M60-60.0.3112.96 build using sandbox. 

Sign in to add a comment