New issue
Advanced search Search tips

Issue 630656 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , iOS
Pri: 2
Type: Bug



Sign in to add a comment

[Autofill] Implement Credit Card Assist Feature

Project Member Reported by ma...@chromium.org, Jul 22 2016

Issue description

Implement an assist mechanism to facilitate credit card filling.

Targeting mobile (Android).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e

commit f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e
Author: mathp <mathp@chromium.org>
Date: Thu Aug 04 18:28:23 2016

Initial implementation of the credit card assisted filling infobar.

On page load, this will prompt the user for automatic credit card filling. When user accepts the prompt, the credit card form is filled with their credit card data.

Several big TODOs:
* Opening a dialog to get the CVC (hoping to reuse PaymentRequest code)
* Only proposing the assist when the form is in the viewport.
* Offering more than 1 card in the infobar.

Mocks (internal): https://folio.googleplex.com/chrome-ux/mocks/304-payments-zero-integration/ZI_V2_Exploration/autofill-ahead-infobar#%2F06.png%3Fc=show

Video (public): https://drive.google.com/file/d/0B3xzZ-vFr2LRMW1yUkZDYWR4Um8/view?usp=sharing

BUG=630656
TEST=AssistManagerTest,AutofillCreditCardFillingInfoBarDelegateMobileTest

Review-Url: https://codereview.chromium.org/2026353002
Cr-Commit-Position: refs/heads/master@{#409841}

[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/android_webview/native/aw_autofill_client.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/android_webview/native/aw_autofill_client.h
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/android/java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/android/java/src/org/chromium/chrome/browser/infobar/AutofillSaveCardInfoBar.java
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/android/java/src/org/chromium/chrome/browser/infobar/CardDetail.java
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/android/java_sources.gni
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/app/generated_resources.grd
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/about_flags.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/android/chrome_jni_registrar.cc
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/autofill/autofill_credit_card_filling_infobar_delegate_mobile_unittest.cc
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/android/infobars/autofill_credit_card_filling_infobar.cc
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/android/infobars/autofill_credit_card_filling_infobar.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/autofill/chrome_autofill_client.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/autofill/chrome_autofill_client.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/cocoa/autofill/save_card_bubble_view_bridge.mm
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/chrome_browser.gypi
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/chrome_browser_ui.gypi
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/chrome/chrome_tests_unit.gypi
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill.gypi
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/content/renderer/autofill_agent.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/BUILD.gn
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_assistant.cc
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_assistant.h
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_assistant_unittest.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_client.h
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_credit_card_filling_infobar_delegate_mobile.cc
[add] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_credit_card_filling_infobar_delegate_mobile.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_experiments.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_experiments.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_manager.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_metrics.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_metrics.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/form_structure.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/form_structure.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/form_structure_unittest.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/test_autofill_client.cc
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/browser/test_autofill_client.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill/core/common/autofill_constants.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/autofill_strings.grdp
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/components_strings.grd
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/components_tests.gyp
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/components/infobars/core/infobar_delegate.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/ios/chrome/browser/ui/autofill/autofill_client_ios.h
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/ios/chrome/browser/ui/autofill/autofill_client_ios.mm
[modify] https://crrev.com/f43ced4ebf836fa29f4d4fada46b6f9e924a8d6e/tools/metrics/histograms/histograms.xml

Comment 2 by ma...@chromium.org, Aug 4 2016

Labels: OS-iOS
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 5 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/961b6198a592e44723171b0fa9167ddf65b4771d

commit 961b6198a592e44723171b0fa9167ddf65b4771d
Author: mathp <mathp@google.com>
Date: Fri Aug 05 18:59:12 2016

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/10834e66e7e67bf2e00b1c913bd4acd0330f0433

commit 10834e66e7e67bf2e00b1c913bd4acd0330f0433
Author: mathp <mathp@chromium.org>
Date: Fri Aug 05 21:44:31 2016

[Autofill] Implement Autofill Assistant infobar for iOS

Reuses the infobar for the "save card" feature on iOS, which doesn't contain the credit card details so these have been put in the title of the infobar.

Screenshot: https://drive.google.com/file/d/0B3xzZ-vFr2LRRDYzVUdiNTBKSWM/view?usp=sharing

BUG=630656

Review-Url: https://codereview.chromium.org/2212063002
Cr-Commit-Position: refs/heads/master@{#410170}

[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/autofill_assistant.cc
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/autofill_credit_card_filling_infobar_delegate_mobile.cc
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/autofill_experiments.cc
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/autofill_manager.h
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/credit_card.cc
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill/core/browser/credit_card.h
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/components/autofill_strings.grdp
[modify] https://crrev.com/10834e66e7e67bf2e00b1c913bd4acd0330f0433/ios/chrome/browser/ui/autofill/autofill_client_ios.mm

cvc.mp4
7.6 MB View Download
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc8c9e6315aee20ab680eb4223a824d397aac02c

commit bc8c9e6315aee20ab680eb4223a824d397aac02c
Author: rogerm <rogerm@chromium.org>
Date: Tue Aug 23 23:08:46 2016

Only show the credit card assist feature in secure contexts.

BUG=630656
TEST=TEST=AutofillAssistantTest.CanShowCreditCardAssist_FeatureOn_NotSecure

Review-Url: https://codereview.chromium.org/2253343003
Cr-Commit-Position: refs/heads/master@{#413887}

[modify] https://crrev.com/bc8c9e6315aee20ab680eb4223a824d397aac02c/components/autofill/core/browser/autofill_assistant.cc
[modify] https://crrev.com/bc8c9e6315aee20ab680eb4223a824d397aac02c/components/autofill/core/browser/autofill_assistant_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e88a650a960017660d951f925129a492c61619f8

commit e88a650a960017660d951f925129a492c61619f8
Author: rouslan <rouslan@chromium.org>
Date: Tue Aug 30 05:23:50 2016

Prompt for CVC in credit card assist.

BUG=630656

Review-Url: https://codereview.chromium.org/2254353002
Cr-Commit-Position: refs/heads/master@{#415151}

[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/chrome/browser/autofill/android/personal_data_manager_android.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/autofill_assistant.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/autofill_assistant.h
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/autofill_assistant_unittest.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/autofill_manager.h
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/payments/full_card_request.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/payments/full_card_request.h
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/payments/full_card_request_unittest.cc
[modify] https://crrev.com/e88a650a960017660d951f925129a492c61619f8/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d34769d95e75355f0a01b7989d218e7325d6cbfe

commit d34769d95e75355f0a01b7989d218e7325d6cbfe
Author: mathp <mathp@chromium.org>
Date: Mon Oct 17 15:19:51 2016

[Autofill] Do not offer autofill suggestions on insecure forms

The issue was that we would offer CC suggestions on forms that were in secure contexts, but that would POST to insecure URLs. We know require a secure context for the current page + an HTTPS scheme check on the form action.

BUG=652334, 630656
TEST=AutofillManagerTest, AutofillAssistantTest

Review-Url: https://codereview.chromium.org/2419853002
Cr-Commit-Position: refs/heads/master@{#425683}

[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/autofill_assistant.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/autofill_assistant_unittest.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/autofill_manager_unittest.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/autofill_metrics_unittest.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/test_autofill_client.cc
[modify] https://crrev.com/d34769d95e75355f0a01b7989d218e7325d6cbfe/components/autofill/core/browser/test_autofill_client.h

Comment 9 by ma...@chromium.org, Dec 16 2016

Status: Assigned (was: Started)
Status: Untriaged (was: Assigned)
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment