Autofill support for specific card types, .e.g., "visa/debit"
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cb2e4909f9c62830cbebc0ad8e74899d35a7df00 commit cb2e4909f9c62830cbebc0ad8e74899d35a7df00 Author: jsaul <jsaul@google.com> Date: Wed Jan 18 20:10:15 2017 Add WalletCardClass to WalletMaskedCreditCard BUG= 602665 Review-Url: https://codereview.chromium.org/2634663002 Cr-Commit-Position: refs/heads/master@{#444453} [modify] https://crrev.com/cb2e4909f9c62830cbebc0ad8e74899d35a7df00/components/sync/protocol/autofill_specifics.proto [modify] https://crrev.com/cb2e4909f9c62830cbebc0ad8e74899d35a7df00/components/sync/protocol/proto_enum_conversions.cc [modify] https://crrev.com/cb2e4909f9c62830cbebc0ad8e74899d35a7df00/components/sync/protocol/proto_enum_conversions.h [modify] https://crrev.com/cb2e4909f9c62830cbebc0ad8e74899d35a7df00/components/sync/protocol/proto_visitors.h
Issue 708603 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f commit 4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f Author: rouslan <rouslan@chromium.org> Date: Mon May 01 17:49:16 2017 Rename card 'type' into 'issuer network.' Autofill and payments code is using the word 'type' to mean 'issuer network,' e.g., Visa, MasterCard, AmEx. In order to differentiate between credit/debit/prepaid card types in an upcoming patch, the current instances of the word 'type' need to be renamed to 'issuer network.' The changes are in: 1) Autofill table. 2) Method names. 3) Variable names. 4) Comments. The catalog of renames: ---------------------------------------------------------- | BEFORE | AFTER | ---------------------------------------------------------- | AcceptedCardTypes | AcceptedIssuerNetworks | | basic_card_payment_type | basic_card_issuer_network | | BasicCardPaymentType | BasicCardIssuerNetwork | | "card type" | "card issuer network" | | CardTypeInfo | CardIssuerNetwork | | card_type | issuer_network | | CardTypes | CardIssuerNetworks | | CreditCardType | CardNetwork | | CreditCard::type | CreditCard::network | | masked_credit_cards.type | masked_credit_cards.network | | TypeAndLastFourDigits | NetworkAndLastFourDigits | | TypeForDisplay | NetworkForDisplay | | TypeForFill | NetworkForFill | | TypeForMaskedCard | NetworkForMaskedCard | | CardTypeForBasicCardPaymentType | | | | IssuerNetworkForBasicCardIssuerNetwork | ---------------------------------------------------------- Bonus: * This patch has been run through `git cl lint` and `git cl format` to improve the code quality of the affected files. * autofill_sync_constants have been removed because they were not used anywhere. BUG= 602665 Review-Url: https://codereview.chromium.org/2844463004 Cr-Commit-Position: refs/heads/master@{#468350} [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/CreditCardNumberFormattingTextWatcher.java [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/autofill/android/personal_data_manager_android.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/autofill/android/personal_data_manager_android.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/cocoa/autofill/save_card_bubble_view_bridge.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/autofill/save_card_bubble_views.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/BUILD.gn [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_credit_card_filling_infobar_delegate_mobile.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_data_util.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_data_util.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_manager.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_manager_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_metrics_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc [delete] https://crrev.com/b85de8ac470aef12f8d666b881cd9888a8b2e645/components/autofill/core/browser/autofill_sync_constants.cc [delete] https://crrev.com/b85de8ac470aef12f8d666b881cd9888a8b2e645/components/autofill/core/browser/autofill_sync_constants.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_test_utils.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/validation.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/validation.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/ios/browser/credit_card_util.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/payments/content/payment_request_state.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/payments/core/autofill_payment_instrument.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/test/data/web_database/version_70.sql [add] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/test/data/web_database/version_71.sql [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/BUILD.gn [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database_migration_unittest.cc [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database_table.h [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/payments/payment_request.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_request_coordinator.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_request_view_controller.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/settings/autofill_credit_card_edit_collection_view_controller.mm [modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
Zach, check out the Android UI change in this video: https://drive.google.com/open?id=0BwnAxYoFTeYPdGJEVVpyR1p6TTA Is this what you had in mind? My profile in the video has one card of "unknown" card type.
Is it set up to only express constraints when they exist? So if I just have "basic-card", we don't show anything right?
Right.
We also don't show anything if your have supportedTypes:['debit','credit','prepaid'], because that's all of them.
This is really cool. What happens when, say, only Android Pay and Debit Cards are accepted?
> What happens when, say, only Android Pay and Debit Cards are accepted? The UI for Payments section would look like this: Debit cards are accepted. [Android Pay] [icon] [MasterCard...1234] [icon]
I think that's reasonable.
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/9d69e66cab58807f66f63b41e3f5cbeab6f0b5fb commit 9d69e66cab58807f66f63b41e3f5cbeab6f0b5fb Author: Rouslan Solomakhin <rouslan@google.com> Date: Wed Jun 07 14:31:37 2017
Issue 684549 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90b436d76ede289c1012e0d798457f4832c63bfd commit 90b436d76ede289c1012e0d798457f4832c63bfd Author: mahmadi <mahmadi@chromium.org> Date: Fri Jun 30 21:56:44 2017 [Payment Request] Displays accepted card types (credit, debit, etc) in iOS - Moves parsing of the accepted card types to data_util. - Displays accepted card types in the payment method selector and credit card editor. BUG= 602665 , 602666 screenshots: https://drive.google.com/file/d/0B-GXJsF3pXyjS2ZlZHoyODRfS2c/view?usp=sharing Review-Url: https://codereview.chromium.org/2963163002 Cr-Commit-Position: refs/heads/master@{#483836} [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/content/payment_request_spec.cc [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/core/payment_request_data_util.cc [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/core/payment_request_data_util.h [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/payments/payment_request.h [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/payments/payment_request.mm [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm [modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
Moe: Is this completely implemented on iOS now?
Off to Moe for verification that this works on iOS.
Is this required for v1 of PR on iOS? It seems like we just added to Android after being live for 6 months and no one complained.
v2 is OK.
This actually already works on iOS. Marking as fixed.
Comment 1 by rouslan@chromium.org
, Jun 6 2016