Implement an assist mechanism to facilitate credit card filling. Targeting mobile (Android).
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
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
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
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
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
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
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
Comment 1 by bugdroid1@chromium.org
, Aug 4 2016