This is a tracking bug for the implementation of logic which filters and deduplicates profiles. An implementation exists on Android; this code will replace/incorporate the Android logic with a more robust solution which is shared across platforms.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f0912b87c3814ad7a4891f428e8a5b84d477e69 commit 5f0912b87c3814ad7a4891f428e8a5b84d477e69 Author: tmartino <tmartino@chromium.org> Date: Thu Mar 30 03:20:52 2017 Creating PaymentOptionsProvider, a Mojo-less interface for providing PaymentOptions, suitable for use in components/core. This will allow forthcoming profile filtering and deduplication options (and anything else which depends on these values) to be written cross-platform, and reduces the bleeding of Mojo into views logic that doesn't really need to know about it. Usage details: - Desktop: This CL changes PaymentRequestSpec to implement this interface. It removes the options() accessor, which is no longer necessary. - iOS: the iOS version of payment_request.h already has a PaymentOptions class which corresponds to, and can be trivially modified to implement, this interface. - Android: A small utility class implementing this interface is forthcoming. The needed data is present as accessible members of PaymentRequestImpl. See also crrev.com/2775553004 for further context. That CL will be updated to pass PaymentOptionsProvider instead of PaymentRequestSpec. BUG= 706117 Review-Url: https://codereview.chromium.org/2774233005 Cr-Commit-Position: refs/heads/master@{#460639} [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/chrome/browser/ui/views/payments/payment_request_views_util.cc [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/chrome/browser/ui/views/payments/payment_request_views_util.h [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/chrome/browser/ui/views/payments/payment_sheet_view_controller.cc [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/chrome/browser/ui/views/payments/profile_list_view_controller.cc [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/chrome/browser/ui/views/payments/shipping_option_view_controller.cc [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/components/payments/content/payment_request_spec.cc [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/components/payments/content/payment_request_spec.h [modify] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/components/payments/core/BUILD.gn [add] https://crrev.com/5f0912b87c3814ad7a4891f428e8a5b84d477e69/components/payments/core/payment_options_provider.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a6eb22f51aa4a79ecfd8e61527280658aef1e089 commit a6eb22f51aa4a79ecfd8e61527280658aef1e089 Author: tmartino <tmartino@chromium.org> Date: Thu Apr 06 20:16:24 2017 [WebPayments] Implementing Profile filter and dedupe logic in components Still to-do: - Backport this logic to Android in a forthcoming CL - Consider filtering shipping addresses BUG= 706117 Review-Url: https://codereview.chromium.org/2775553004 Cr-Commit-Position: refs/heads/master@{#462603} [modify] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/autofill/core/browser/form_group.cc [modify] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/autofill/core/browser/form_group.h [add] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/README [modify] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/content/payment_request_state.cc [modify] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/core/BUILD.gn [add] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/core/profile_util.cc [add] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/core/profile_util.h [add] https://crrev.com/a6eb22f51aa4a79ecfd8e61527280658aef1e089/components/payments/core/profile_util_unittest.cc
Comment 1 by bugdroid1@chromium.org
, Mar 30 2017