New issue
Advanced search Search tips

Issue 602666 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Feature

Blocked on:
issue 728639
issue 604780
issue 734442
issue 734571

Blocking:
issue 587995
issue 734604



Sign in to add a comment

Implement PaymentRequest on iOS

Project Member Reported by rouslan@chromium.org, Apr 12 2016

Issue description

iOS UI for PaymentRequest
 
Showing comments 149 - 248 of 248 Older
Project Member

Comment 150 by bugdroid1@chromium.org, Jun 22 2017

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

commit 4d58aeadd4163aeffc41543ccfe7122c1107a536
Author: mahmadi <mahmadi@chromium.org>
Date: Thu Jun 22 15:46:17 2017

[Payment Request] Fixes the behavior of selector coordinators in edit mode.

When the selector view controller is in editing mode, the coordinator
should not inform its delegate of completion of an edit.

BUG=602666

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

[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/billing_address_selection_coordinator.mm
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h
[modify] https://crrev.com/4d58aeadd4163aeffc41543ccfe7122c1107a536/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm

Project Member

Comment 151 by bugdroid1@chromium.org, Jun 22 2017

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

commit ab23cd8b9fec6eadd178c5f232358d48f90119e6
Author: mahmadi <mahmadi@chromium.org>
Date: Thu Jun 22 17:21:43 2017

[Payment Request] keyboardType, autoCapitalizationType, etc for text fields

BUG=602666

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

[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/autofill/cells/autofill_edit_item.h
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/autofill/cells/autofill_edit_item.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/address_edit_mediator.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/contact_info_edit_mediator.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/payment_request_editor_field.h
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/payments/payment_request_editor_field.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/settings/autofill_credit_card_edit_collection_view_controller.mm
[modify] https://crrev.com/ab23cd8b9fec6eadd178c5f232358d48f90119e6/ios/chrome/browser/ui/settings/autofill_profile_edit_collection_view_controller.mm

Project Member

Comment 152 by bugdroid1@chromium.org, Jun 22 2017

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

commit a67b4766719c64c99ea1aba6ec801f3f9cb32c36
Author: Randall Raymond <rayraymond@google.com>
Date: Thu Jun 22 21:20:28 2017

[Payment Request] Determines when an address is incomplete.

This checks to see if an editable address item in the UI is complete. If it
is not then the address editor will be shown. If it is complete the address
will be selected whether its for billing or shipping.

Address fields incomplete: http://imgur.com/a/1hEVK
Filling out first card: http://imgur.com/a/Eupai
Second card leads to editor: http://imgur.com/a/OFNHi

Bug: 602666
Change-Id: Ic9c1e731b6c989b289cde4e47ed36543df734a20
Reviewed-on: https://chromium-review.googlesource.com/534673
Commit-Queue: Randall Raymond <rayraymond@google.com>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Louis Romero <lpromero@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481665}
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/components/autofill/core/browser/autofill_test_utils.cc
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/components/autofill/core/browser/autofill_test_utils.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/payments/payment_request_util.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/billing_address_selection_coordinator.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/billing_address_selection_mediator.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/billing_address_selection_mediator_unittest.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/BUILD.gn
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/autofill_profile_item.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/autofill_profile_item.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payment_method_item.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payment_method_item.mm
[rename] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payments_is_selectable.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payments_selector_edit_item.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payments_selector_edit_item.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payments_text_item.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/payments_text_item.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/price_item.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/cells/price_item.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm
[modify] https://crrev.com/a67b4766719c64c99ea1aba6ec801f3f9cb32c36/ios/showcase/payments/sc_payments_selector_coordinator.mm

Components: -UI>Browser>Autofill>Payments UI>Browser>Payments
Project Member

Comment 154 by bugdroid1@chromium.org, Jun 27 2017

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

commit 43f2fb2e67d2d50f5134301a2a78d9d890bb6c61
Author: mahmadi <mahmadi@chromium.org>
Date: Tue Jun 27 15:16:13 2017

[Payment Request] Makes sure only complete credit cards can be selected.

- Checks the credit cards for completeness before setting the default
  selected credit card.
- Allows selection of complete credit cards only.

BUG=602666, 714768

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

[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/payments/payment_request_util.h
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/43f2fb2e67d2d50f5134301a2a78d9d890bb6c61/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm

Project Member

Comment 156 by bugdroid1@chromium.org, Jun 28 2017

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

commit 151692a9bc022761b878dff04e514dc364f3ac62
Author: mahmadi <mahmadi@chromium.org>
Date: Wed Jun 28 07:52:18 2017

[Autofill] Fixes a bug with the CardUnmaskPromptViewController.

Checks whether _CVCItem exists in the model before querying its IndexPath.

BUG=602666

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

[modify] https://crrev.com/151692a9bc022761b878dff04e514dc364f3ac62/ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.mm

Project Member

Comment 159 by bugdroid1@chromium.org, Jun 28 2017

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

commit 183005c160c4adb0e30e0f3797f637bf3b5e8097
Author: Randall Raymond <rayraymond@google.com>
Date: Wed Jun 28 17:36:55 2017

[Payment Request] PaymentRequest implements PaymentRequestBaseDelegate

This CL is the first step of a much larger refactor. The goal of the
refactor is so that on iOS all forms of payment will be abstracted
away as "Payment Methods" versus being used as credit cards. What this
CL does is allow PaymentRequest to implement PaymentRequestBaseDelegate
which is a new delegate that is needed in order to create an instantiation of
an AutofillPaymentInstrument object. We will be reusing this
AutofillPaymentInstrument class (a subclass of PaymentInstrument) as an
abstraction for credit cards. Note that given that this does not complete
the refactor there will be some code that still needs to be done however
this first step of the refactor shows the foundation of the refactor
that is later to come.

Bug: 602666
Change-Id: I4ec80652e81fc51f44a2f23e6876baf5a2078c5c
Reviewed-on: https://chromium-review.googlesource.com/540697
Commit-Queue: Randall Raymond <rayraymond@google.com>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483049}
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/BUILD.gn
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/address_normalization_manager.cc
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/address_normalization_manager.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/address_normalization_manager_unittest.cc
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/autofill_payment_instrument.h
[add] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/payment_request_base_delegate.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/components/payments/core/payment_request_delegate.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/address_edit_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/billing_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/billing_address_selection_mediator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/contact_info_edit_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/contact_info_selection_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/contact_info_selection_mediator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/183005c160c4adb0e30e0f3797f637bf3b5e8097/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm

Project Member

Comment 161 by bugdroid1@chromium.org, Jun 28 2017

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

commit e890d879c5d52e4776bf102d63476f3fbee6e9ae
Author: mahmadi <mahmadi@chromium.org>
Date: Wed Jun 28 19:17:34 2017

[Payment Request] Invalidates the update Payment Summary item timer on stop

If the timer is not invalidated on PaymentRequestCoordinator's -stop,
it may try to update the item well after the payment has succeeded.

BUG=602666

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

[modify] https://crrev.com/e890d879c5d52e4776bf102d63476f3fbee6e9ae/ios/chrome/browser/ui/payments/payment_request_coordinator.mm

Project Member

Comment 162 by bugdroid1@chromium.org, Jun 29 2017

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

commit bb6441a2d4301c1048836c560a3f83e3b68df2c8
Author: mahmadi <mahmadi@chromium.org>
Date: Thu Jun 29 03:17:49 2017

[Payment Request] Simplifies VC's logic to decide if an item is selectable

* The decision is made in the coordinator instead by return a boolean from
  -paymentRequestSelectorViewController:didSelectItemAtIndex: indicating
  whether selection can actually be made.
* Also fixes a bug where editing an item from the selector screen, in edit
  mode, without any previosuly selected items was causing a crash.

BUG=602666

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

[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/billing_address_selection_coordinator.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/billing_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/contact_info_selection_coordinator_unittest.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.h
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm
[modify] https://crrev.com/bb6441a2d4301c1048836c560a3f83e3b68df2c8/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm

Project Member

Comment 163 by bugdroid1@chromium.org, Jun 29 2017

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

commit ddcb0e62092b24450849e7ada579025cb8f1bdc9
Author: mahmadi <mahmadi@chromium.org>
Date: Thu Jun 29 20:20:04 2017

[Payment Request] CanMakePayment

BUG=602666

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

[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/BUILD.gn
[add] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/ios_can_make_payment_query_factory.cc
[add] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/ios_can_make_payment_query_factory.h
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/ddcb0e62092b24450849e7ada579025cb8f1bdc9/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 164 by bugdroid1@chromium.org, Jun 30 2017

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

Project Member

Comment 165 by bugdroid1@chromium.org, Jul 4 2017

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

commit da011c94bf6f1f8b75970518b4223f2251e26825
Author: mahmadi <mahmadi@chromium.org>
Date: Tue Jul 04 13:56:02 2017

[Payment Request] Create billing address directly from credit card editor

User should be able to create a billing address directly from the credit
card editor if there are no billing addresses to choose from.

https://drive.google.com/file/d/0B-GXJsF3pXyjN2pFWldOMlhMTVE/view?usp=sharing

BUG=602666

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

[modify] https://crrev.com/da011c94bf6f1f8b75970518b4223f2251e26825/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h
[modify] https://crrev.com/da011c94bf6f1f8b75970518b4223f2251e26825/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm

Project Member

Comment 166 by bugdroid1@chromium.org, Jul 4 2017

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

commit ad87709594ecb626423d4281db46a41d60735f8a
Author: mahmadi <mahmadi@chromium.org>
Date: Tue Jul 04 16:14:10 2017

[Payment Request] Populates country field if country code/name is valid.

Compares autofill profile's country against available country codes and
country names. This is similar to what is being done for regions and should
make selecting the value for the country field more resilient to changes in
autofill's backend.

BUG=602666

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

[modify] https://crrev.com/ad87709594ecb626423d4281db46a41d60735f8a/ios/chrome/browser/ui/payments/address_edit_mediator.mm

Project Member

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

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

commit e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916
Author: mahmadi <mahmadi@chromium.org>
Date: Wed Jul 05 17:16:15 2017

[Payment Request] Displays appropriate footer if first transation completed

TBR=gab@

BUG=602666

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

[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/autofill/core/browser/autofill_test_utils.cc
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/autofill/core/browser/autofill_test_utils.h
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/payments/core/BUILD.gn
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/payments/core/DEPS
[add] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/payments/core/payments_test_util.cc
[add] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/components/payments/core/payments_test_util.h
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/payments/test_payment_request.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/prefs/BUILD.gn
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/prefs/browser_prefs.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_mediator.h
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/e3b1c5a95d41bb37d5d3cace150c45a7ab2c4916/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm

Project Member

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

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

commit c15ceba2cc5ba38de8e02fad777edb7778d96e12
Author: Randall Raymond <rayraymond@google.com>
Date: Wed Jul 05 21:43:17 2017

[Payment Request] Completes refactor of abstracting away all credit cards

This CL completes the refactoring of Payment Request on iOS such that all
credit card objects (not including the one used in the card editor) are now
represented as PaymentInstrument objects. This paves the way for introducing
alternative forms of payment methods such as iOS Native Applications. Note
that a result delegate created in the AutofillPaymentInstrument class within
the components folder is now being used as the result delegate for
FullCardRequester. In the future we can remove more code from iOS to rely
more heavily on some of the processes that are taken care of in that
delegate (such as address normalization) however for this CL I wanted to
keep the flow for grabbing payment method details as similar as possible
while still abstracting away the credit cards.

Bug: 602666
Change-Id: I920684c924fb111d769dfabce212b96b006ac94d
Reviewed-on: https://chromium-review.googlesource.com/546918
Commit-Queue: Randall Raymond <rayraymond@google.com>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#484357}
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/payment_request_util.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/payments/test_payment_request.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/full_card_requester.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/full_card_requester.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/full_card_requester_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_items_display_coordinator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/web/payments/payment_request.cc
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/c15ceba2cc5ba38de8e02fad777edb7778d96e12/ios/web/public/payments/payment_request.h

Project Member

Comment 170 by bugdroid1@chromium.org, Jul 6 2017

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

commit cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57
Author: mahmadi <mahmadi@chromium.org>
Date: Thu Jul 06 03:40:34 2017

[Payment Request] Moves PaymentRequest into the payments namespace

This fixes the 'lldb reference to PaymentRequest is ambiguous' problem

BUG=602666'

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

[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/payment_request_util.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/payments/test_payment_request.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/address_edit_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/address_edit_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/address_edit_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/address_edit_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/billing_address_selection_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/billing_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/billing_address_selection_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/billing_address_selection_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/billing_address_selection_mediator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_edit_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_edit_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_edit_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_edit_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_selection_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_selection_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_selection_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/contact_info_selection_mediator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/credit_card_edit_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_items_display_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_items_display_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_method_selection_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.h
[modify] https://crrev.com/cfe26b9f7e85e11d1eafe09d78ba0b2e201eea57/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm

Blockedon: 734571
Project Member

Comment 172 by bugdroid1@chromium.org, Jul 7 2017

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

commit eb98fc5f18248d7c2f109d3d12d8e4210e22579a
Author: mahmadi <mahmadi@chromium.org>
Date: Fri Jul 07 16:50:05 2017

[Payment Request] Adds a JourneyLogger instance to the PaymentRequest

BUG=602666

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

[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/address_edit_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/billing_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/billing_address_selection_mediator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/contact_info_edit_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/contact_info_edit_mediator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/contact_info_selection_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/contact_info_selection_mediator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/credit_card_edit_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/full_card_requester_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_items_display_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_items_display_view_controller_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_method_selection_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/payment_request_view_controller_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator_unittest.mm
[modify] https://crrev.com/eb98fc5f18248d7c2f109d3d12d8e4210e22579a/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm

Project Member

Comment 173 by bugdroid1@chromium.org, Jul 7 2017

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

commit 807879a191895d9acc2a9230c3fadfc5273cfd38
Author: mahmadi <mahmadi@chromium.org>
Date: Fri Jul 07 20:54:43 2017

[Payment Request] Queries application locale from payments::PaymentRequest

Gets rid of cases in which the application locale was being queried from
the global ApplicationContext instance.

BUG=602666

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

[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/address_edit_coordinator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/address_edit_coordinator_unittest.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/address_edit_mediator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/billing_address_selection_mediator_unittest.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/contact_info_edit_coordinator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/contact_info_edit_coordinator_unittest.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/contact_info_edit_mediator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/807879a191895d9acc2a9230c3fadfc5273cfd38/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

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

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

commit 108c8fff772187dadcaef99798ff109123795f49
Author: Randall Raymond <rayraymond@google.com>
Date: Sat Jul 08 01:11:44 2017

[Payment Request] Add classes to fetch information on native apps from iTunes

These two new files are mostly a copy of json_response_fetcher.cc and
json_response_fetcher.h from chrome/browser/ui/app_list/search/common/ 
(https://cs.chromium.org/chromium/src/chrome/browser/ui/app_list/search/common/?q=chrome/browser/ui/app_list/search/common&sq=package:chromium&dr).
The main differences are that 1) The namespace is changed from app_list to
payment_request_util 2) Instead of using SafeJsonParser, a basic parser is used
instead since iOS does not currently support SafeJsonParser.

Bug: 602666
Change-Id: Ibf619f1c53a32eb53654e00959fbcba61720c8a5
Reviewed-on: https://chromium-review.googlesource.com/562581
Commit-Queue: Randall Raymond <rayraymond@google.com>
Reviewed-by: Jean-François Geyelin <jif@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485122}
[modify] https://crrev.com/108c8fff772187dadcaef99798ff109123795f49/ios/chrome/browser/payments/BUILD.gn
[add] https://crrev.com/108c8fff772187dadcaef99798ff109123795f49/ios/chrome/browser/payments/itunes_json_request.cc
[add] https://crrev.com/108c8fff772187dadcaef99798ff109123795f49/ios/chrome/browser/payments/itunes_json_request.h

Project Member

Comment 175 by bugdroid1@chromium.org, Jul 10 2017

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

commit dc4e7f524afa9d60d6996ab76a6b84b66951ede0
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Jul 10 20:52:24 2017

[Payment Request] Fixes a bug with the serialized PaymentResponse.details

PaymentResponse.details was being JSON-escaped twice.

Bug: 602666
Change-Id: I0b574654353b25ed16d3baf143ac12ac14526953
Reviewed-on: https://chromium-review.googlesource.com/565008
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485373}
[modify] https://crrev.com/dc4e7f524afa9d60d6996ab76a6b84b66951ede0/ios/web/payments/payment_request.cc
[modify] https://crrev.com/dc4e7f524afa9d60d6996ab76a6b84b66951ede0/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/dc4e7f524afa9d60d6996ab76a6b84b66951ede0/ios/web/public/payments/payment_request.h

Project Member

Comment 176 by bugdroid1@chromium.org, Jul 12 2017

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

commit 8cf5716792a541d83bd51c901b839a8fe9f8e834
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Wed Jul 12 15:36:14 2017

[Payment Request] Prompt the user for missing Contact Info data.

R=mahmadi@chromium.org

Bug: 602666
Change-Id: I6187cd19555843736763abf61f8465c8c73ec1bb
Reviewed-on: https://chromium-review.googlesource.com/555830
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485964}
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/components/payments/core/autofill_payment_instrument.h
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/components/payments/core/payment_instrument.h
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/payments/payment_request_util.h
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/ui/payments/contact_info_selection_coordinator_unittest.mm
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/ui/payments/contact_info_selection_mediator.mm
[modify] https://crrev.com/8cf5716792a541d83bd51c901b839a8fe9f8e834/ios/chrome/browser/ui/payments/contact_info_selection_mediator_unittest.mm

Project Member

Comment 177 by bugdroid1@chromium.org, Jul 12 2017

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

commit b789d5d5b73cdf5d7afd99eaa19dac801811d296
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Jul 12 15:49:44 2017

[Payment Request] Removes addressed TODOS in payments::PaymentRequest

Also removes two method calls from AddAutofillPaymentInstrument() and
AddAutofillProfile() methods for more efficiency.

Bug: 602666
Change-Id: Ia8fb22bc74ea8226f921981ff88febe7253beccf
Reviewed-on: https://chromium-review.googlesource.com/568260
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485973}
[modify] https://crrev.com/b789d5d5b73cdf5d7afd99eaa19dac801811d296/ios/chrome/browser/payments/payment_request.mm

Project Member

Comment 178 by bugdroid1@chromium.org, Jul 13 2017

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

commit 38d333d060245ee5fda5c3a76254e3cf6bea1fe5
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Jul 13 00:09:28 2017

[Payment Request] Makes PaymentDetails.total property optional for updates.

In PaymentDetailsUpdate which is used to update the payment request using
updateWith(), total is an optional field. On the other hand, in
PaymentDetailsInit which is used in the construction of the payment request,
total is a required field. This CL allows for that distinction.

Bug: 602666
Change-Id: I2109a1b5af1bad881d6e3bb63590448ac16aabd0
Reviewed-on: https://chromium-review.googlesource.com/568286
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486170}
[modify] https://crrev.com/38d333d060245ee5fda5c3a76254e3cf6bea1fe5/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/38d333d060245ee5fda5c3a76254e3cf6bea1fe5/ios/web/payments/payment_request.cc
[modify] https://crrev.com/38d333d060245ee5fda5c3a76254e3cf6bea1fe5/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/38d333d060245ee5fda5c3a76254e3cf6bea1fe5/ios/web/public/payments/payment_request.h

Project Member

Comment 179 by bugdroid1@chromium.org, Jul 13 2017

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

commit 4ec4e22309f16e9d46410e03f65445d848eb8541
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Jul 13 04:19:24 2017

[Payment Request] Uses PaymentRequest's id property to identify it

Uses the id property of the PaymentDetails provided to PaymentRequest's
constructor or generate a UUID to uniquely identify the PaymentRequest
in order to allow multiple PaymentRequest objects to coexist.

BUG=602666

Change-Id: I420e9fba0314cc9683b274fea71e0118b31e572e
Reviewed-on: https://chromium-review.googlesource.com/565056
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486265}
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/chrome/browser/web/resources/payment_request.js
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/web/payments/payment_request.cc
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/4ec4e22309f16e9d46410e03f65445d848eb8541/ios/web/public/payments/payment_request.h

Project Member

Comment 180 by bugdroid1@chromium.org, Jul 14 2017

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

commit ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4
Author: Randall Raymond <rayraymond@google.com>
Date: Fri Jul 14 01:30:45 2017

[Payment Request] Adds functionality for parsing payent apps from Payment Method Data

Bug: 602666
Change-Id: I7d21288a1ec457267d213aad8c0b0c0d001203e5
Reviewed-on: https://chromium-review.googlesource.com/567438
Reviewed-by: mahmadi <mahmadi@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Commit-Queue: Randall Raymond <rayraymond@google.com>
Cr-Commit-Position: refs/heads/master@{#486605}
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/android/java_sources.gni
[rename] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPaymentMethodIdentifierTest.java
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/browser/ui/views/payments/payment_request_browsertest.cc
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/browser/ui/views/payments/payment_request_can_make_payment_browsertest.cc
[rename] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/test/data/payments/payment_method_identifier.js
[rename] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/chrome/test/data/payments/payment_request_payment_method_identifier_test.html
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/components/payments/content/payment_request_spec.cc
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/components/payments/content/payment_request_spec.h
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/components/payments/core/payment_request_data_util.h
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/ec4e08597c90aefe46e3fc1e6ecbd00fd71e29d4/ios/chrome/browser/payments/payment_request.mm

Project Member

Comment 181 by bugdroid1@chromium.org, Jul 14 2017

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

commit 22a933236c97ecff1e07119222e9fdcc6f1ed593
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Fri Jul 14 17:21:34 2017

[Payment Request] Moves title logic out of the coordinators.

The titles for the PaymentRequestEditViewController and for the
PaymentRequestSelectorViewController are now computed in the mediators
instead of being set from the coordinators.

R=mahmadi

Bug: 602666
Change-Id: I6cabdd0920854db1f06a4d6b99952ce49f396b91
Reviewed-on: https://chromium-review.googlesource.com/568264
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: Louis Romero <lpromero@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486790}
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/address_edit_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/address_edit_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/billing_address_selection_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/billing_address_selection_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/contact_info_edit_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/contact_info_edit_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/contact_info_selection_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/credit_card_edit_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_method_selection_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_data_source.h
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_edit_view_controller_unittest.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_data_source.h
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/payment_request_selector_view_controller_unittest.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/shipping_address_selection_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.h
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/shipping_address_selection_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/showcase/payments/sc_payments_editor_coordinator.mm
[modify] https://crrev.com/22a933236c97ecff1e07119222e9fdcc6f1ed593/ios/showcase/payments/sc_payments_selector_coordinator.mm

Project Member

Comment 182 by bugdroid1@chromium.org, Jul 17 2017

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

commit 8a8892f7f86a82d1562f2b2325a304df632ddaff
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Jul 17 16:10:22 2017

[Payment Request] Correctly validates and deduplicates URL-based methods.

- Correctly validates and deduplicates the URL-based payment methods
  according to the specs:
  https://www.w3.org/TR/payment-method-id/#dfn-validate-a-url-based-payment-method-identifier
- Also captures the canonical text of the URL instead.

Bug: 602666
Change-Id: I3ba0a8684be1e2e4f769ca551f9cbbf82e3eed36
Reviewed-on: https://chromium-review.googlesource.com/572853
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487101}
[modify] https://crrev.com/8a8892f7f86a82d1562f2b2325a304df632ddaff/chrome/browser/ui/views/payments/payment_request_browsertest.cc
[modify] https://crrev.com/8a8892f7f86a82d1562f2b2325a304df632ddaff/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/8a8892f7f86a82d1562f2b2325a304df632ddaff/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/8a8892f7f86a82d1562f2b2325a304df632ddaff/ios/chrome/browser/payments/payment_request_unittest.mm

Project Member

Comment 184 by bugdroid1@chromium.org, Jul 18 2017

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

commit 2b45276fe24d69dcec42feb02def660defb8d45c
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Tue Jul 18 23:17:15 2017

[Payment Request] Moves Payment Request test data to components for iOS use

chrome/test/data/payments/* -> components/test/data/payments/*
which allows iOS to use the Payment Request test data
Also:
- Fixes ESLint errors in the resource files.
- Removes a rule from the .eslintrc.js because it was being checked by the
  js_checker.py for JS style errors:
  https://cs.chromium.org/chromium/src/tools/web_dev_style/js_checker.py?l=43
- Replaces arrow functions with regular functions (e.g., ()=>{} to function(){})
  because they don't work in iOS9:
  https://chromium.googlesource.com/chromium/src/+/master/docs/es6_chromium.md#Arrow-Functions
- Replaces instances of let with var as let is not supported in iOS9.

Bug: 602666
Change-Id: I0354c969661359581630893a3e43561b7fc916c9
Reviewed-on: https://chromium-review.googlesource.com/572104
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487658}
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/WATCHLISTS
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/android/BUILD.gn
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestCommon.java
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/browser/payments/site_per_process_payments_browsertest.cc
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/browser/ui/views/payments/payment_request_browsertest_base.cc
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/browser/ui/views/payments/payment_request_browsertest_base.h
[modify] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/chrome/test/BUILD.gn
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/blob_url.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/bobpay_ui_skip_preload.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/contact_details_and_free_shipping.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/debit.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/email_and_free_shipping.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/long_id.js
[delete] https://crrev.com/01f386bfb5e4de91a53f06fdae37d62415ee874e/chrome/test/data/payments/metrics.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/.eslintrc.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/PRESUBMIT.py
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/abort.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/alicepay_bobpay_charliepay_and_cards.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/app.json
[add] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/blob_url.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay_and_basic_card_with_basic_card_modifiers.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay_and_basic_card_with_modifiers.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay_and_cards.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay_ui_skip.js
[add] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/bobpay_ui_skip_preload.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/can_make_payment_metrics.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/can_make_payment_query.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/can_make_payment_query_bobpay.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/can_make_payment_query_cc.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/contact_details.js
[copy] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/contact_details_and_free_shipping.js
[add] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/debit.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/dynamic_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/email.js
[copy] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/email_and_free_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/email_and_phone.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/extra_shipping_options.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/fail_complete.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/free_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/initiated.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/initiated_test.html
[add] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/long_id.js
[add] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/metrics.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/modifier.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/multiple_show.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/name.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/name_and_free_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/no_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment-manifest.json
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_method_identifier.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_abort_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_alicepay_bobpay_charliepay_and_cards_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_blob_url_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_and_basic_card_with_basic_card_modifiers_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_and_basic_card_with_modifiers_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_and_cards_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_ui_skip_preload_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_bobpay_ui_skip_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_can_make_payment_metrics_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_can_make_payment_query_bobpay_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_can_make_payment_query_cc_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_can_make_payment_query_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_contact_details_and_free_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_contact_details_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_debit_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_dynamic_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_email_and_free_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_email_and_phone_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_email_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_extra_shipping_options_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_fail_complete_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_free_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_id.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_id_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_iframe.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_long_id_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_main.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_metrics_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_modifier_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_multiple_requests.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_multiple_show_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_name_and_free_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_name_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_no_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_payment_method_identifier_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_phone_and_free_shipping_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_phone_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_shipping_address_change_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/payment_request_show_twice_test.html
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/phone.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/phone_and_free_shipping.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/shipping_address_change.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/show_twice.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/style.css
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/util.js
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/webpay
[rename] https://crrev.com/2b45276fe24d69dcec42feb02def660defb8d45c/components/test/data/payments/webpay.mock-http-headers

Project Member

Comment 185 by bugdroid1@chromium.org, Jul 19 2017

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

commit 836ebc050905bbc26736493ab029161b86f583b7
Author: mahmadi <mahmadi@google.com>
Date: Wed Jul 19 16:31:30 2017

Project Member

Comment 186 by bugdroid1@chromium.org, Jul 19 2017

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

commit 9b907f97a1216cf5a066f3d327094dad74dece94
Author: mahmadi <mahmadi@google.com>
Date: Wed Jul 19 16:41:31 2017

Project Member

Comment 187 by bugdroid1@chromium.org, Jul 19 2017

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

commit 8dbd81a8fea6b6926feada028433218bf483b1b5
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Jul 19 17:51:54 2017

[Payment Request] PaymentRequestCache, a map of WebState to PaymentRequests

- Creates a PaymentRequestCache class as KeyedService along with its
  factory to ensure only one instance of it exists per BrowserState.
- PaymentRequestCache maintains a map of web::WebState to a list of
  payments::PaymentRequest instances maintained for that WebState.
- The PaymentRequestCache instance can be accessed in browser tests via
  the instance of BrowserState in order to verify the correct creation
  and state of payments::PaymentRequest objects.

BUG=602666

Change-Id: I4aef5be49ab93261bcbebd6f742378bcca59938e
Reviewed-on: https://chromium-review.googlesource.com/577379
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487909}
[modify] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/payments/BUILD.gn
[add] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/payments/ios_payment_request_cache_factory.h
[add] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/payments/ios_payment_request_cache_factory.mm
[add] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/payments/payment_request_cache.h
[add] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/payments/payment_request_cache.mm
[modify] https://crrev.com/8dbd81a8fea6b6926feada028433218bf483b1b5/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

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

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

commit 7cde380bbded234d30016469065284c8703bb6b3
Author: Randall Raymond <rayraymond@google.com>
Date: Tue Jul 25 21:31:28 2017

[PaymentRequest] Adds iOSPaymentInstrument object

This class is a type of Payment Instrument that represents third party
iOS native apps.
Bug: 602666
Change-Id: I69190b6438bd6299e03836ac686ad68aa57b4d7a

TBR=@jif@google.com

Change-Id: I69190b6438bd6299e03836ac686ad68aa57b4d7a
Reviewed-on: https://chromium-review.googlesource.com/572208
Commit-Queue: Randall Raymond <rayraymond@google.com>
Reviewed-by: Jean-François Geyelin <jif@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489441}
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/chrome/browser/ui/views/payments/payment_method_view_controller.cc
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/components/payments/core/payment_instrument.h
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/payments/BUILD.gn
[add] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/payments/ios_payment_instrument.h
[add] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/payments/ios_payment_instrument.mm
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/7cde380bbded234d30016469065284c8703bb6b3/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 189 by bugdroid1@chromium.org, Jul 26 2017

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

commit 18e771816e1d529d30824f45da45c1cc64690761
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Jul 26 01:33:26 2017

[Payment Request] Payment Response Helper

Creates a PaymentResponseHelper class that receives the payment instrument
details (is payments::PaymentInstrument::Delegate), normalizes the
shipping address and the contact info, if applicabale, and creates the
payment response. It helps:
- Move the logic for normalization of shipping address and contact info
  outside of the PaymentRequestUserManager to make the class leaner and
  the logic more testable.
- Keep track of the payment app invocations.

Bug: 602666
Change-Id: I2cb0526ef090d0eb8cf0f0fc5301598798915b57
Reviewed-on: https://chromium-review.googlesource.com/584946
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489515}
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/BUILD.gn
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/payment_request.mm
[add] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/payment_response_helper.h
[add] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/payment_response_helper.mm
[add] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/payment_response_helper_unittest.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/payments/test_payment_request.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/full_card_requester.h
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/full_card_requester.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/full_card_requester_unittest.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/18e771816e1d529d30824f45da45c1cc64690761/ios/web/public/payments/payment_request.h

Project Member

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

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

commit 116aaa92af3239ac014245a09ffa996fc1e8eb64
Author: rayraymond <rayraymond@google.com>
Date: Thu Jul 27 02:02:34 2017

Project Member

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

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

commit f9478363142b2796c7418801651ba9094cdfd712
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Jul 27 16:46:09 2017

[Payment Request] PaymentRequestEGTestBase and EG tests for PR.

- Creates a base class for various Payment Request related EarlGrey tests.
- Adds a utility method to check for a text in WebView.
- Converts an existing class to use the base test class.
- Adds a couple of test classes.

Bug: 602666
Change-Id: Id33178ff63766d9f439795cf932d38c3ee3c3006
Reviewed-on: https://chromium-review.googlesource.com/580570
Reviewed-by: Mike Baxley <baxley@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489976}
[modify] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.h
[modify] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.mm
[modify] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/autofill/cells/cvc_item.mm
[modify] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/BUILD.gn
[rename] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/payment_request_accessibility_egtest.mm
[add] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/payment_request_cancel_pay_abort_egtest.mm
[add] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/payment_request_egtest_base.h
[add] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/payment_request_egtest_base.mm
[add] https://crrev.com/f9478363142b2796c7418801651ba9094cdfd712/ios/chrome/browser/ui/payments/payment_request_misc_egtest.mm

Project Member

Comment 192 by bugdroid1@chromium.org, Jul 28 2017

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

commit 622110f203d0b05260321bdca4d5864539e7efcc
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Jul 28 21:45:33 2017

[Payment Request] Simplifies the PaymentRequestManager's logic

- Simplifies the logic to enable/disable the Payment Request and the active
  WebState by removing extraneous function calls and reorganizing the code.

Bug: 602666
Change-Id: I540bf5c717fae07fe4990997377ad75c59c7beb9
Reviewed-on: https://chromium-review.googlesource.com/591702
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Commit-Queue: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490519}
[modify] https://crrev.com/622110f203d0b05260321bdca4d5864539e7efcc/ios/chrome/browser/ui/payments/payment_request_manager.h
[modify] https://crrev.com/622110f203d0b05260321bdca4d5864539e7efcc/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 193 by bugdroid1@chromium.org, Jul 31 2017

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

commit e468bd4e2190dcd315c57c61efe90dd52882887e
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Jul 31 14:45:16 2017

[Payment Request] Moves the check for secure context into a helper class

Also fixes a bug where non cryptographic URLs with a secure origin (e.g.,
Data URI) were being deemed as local and were not being caught.

Bug: 602666
Change-Id: I1d017e47253ac3c60f3a9a178f5f3c525e801abb
Reviewed-on: https://chromium-review.googlesource.com/590698
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490761}
[modify] https://crrev.com/e468bd4e2190dcd315c57c61efe90dd52882887e/ios/chrome/browser/payments/BUILD.gn
[add] https://crrev.com/e468bd4e2190dcd315c57c61efe90dd52882887e/ios/chrome/browser/payments/origin_security_checker.h
[add] https://crrev.com/e468bd4e2190dcd315c57c61efe90dd52882887e/ios/chrome/browser/payments/origin_security_checker.mm
[modify] https://crrev.com/e468bd4e2190dcd315c57c61efe90dd52882887e/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 194 by bugdroid1@chromium.org, Aug 8 2017

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

commit 8c7b598d06909d2fa6e62bb39608dd22743b9dcc
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Tue Aug 08 04:36:29 2017

[Payment Request] Payment Method Identifiers and Payment Response EG tests

- Adds EG tests for Payment Method Identifiers and Payment Response.
- Fixes the web::PaymentResponse so that the missing shipping/contact
  information have a value of null in the response json.

Bug: 602666
Change-Id: I4891686dffbc76efde5dfa6fd0d171cedf2a1f29
Reviewed-on: https://chromium-review.googlesource.com/592389
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Mike Baxley <baxley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492534}
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/components/test/data/payments/no_shipping.js
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/payments/payment_response_helper.mm
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/payments/payment_response_helper_unittest.mm
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/ui/payments/payment_request_cancel_pay_abort_egtest.mm
[add] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/ui/payments/payment_request_payment_method_identifier_egtest.mm
[add] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/chrome/browser/ui/payments/payment_request_payment_response_egtest.mm
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/web/payments/payment_request.cc
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/8c7b598d06909d2fa6e62bb39608dd22743b9dcc/ios/web/public/payments/payment_request.h

Project Member

Comment 196 by bugdroid1@chromium.org, Aug 10 2017

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

commit 4769a142e668eef25d2d3378777e97c0ea0e08c0
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 10 12:53:09 2017

[Payment Request] Correctly rejects show() and canMakePayment() promises.

- Rejects the promises returned by show() and canMakePayment() with the
  appropriate error names and messages.
- Modify the tests when the promise returned by show() is rejected.
- Adds tests for canMakePayment().

Bug: 602666
Change-Id: Ie54157fa4d6f404ba9e7144f9e42585a6f59df9a
Reviewed-on: https://chromium-review.googlesource.com/583428
Commit-Queue: mahmadi <mahmadi@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493367}
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/components/test/data/payments/abort.js
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/payments/origin_security_checker.h
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/payments/origin_security_checker.mm
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[add] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/payment_request_can_make_payment_egtest.mm
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/payment_request_cancel_pay_abort_egtest.mm
[add] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/payment_request_data_url_egtest.mm
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/payment_request_manager.h
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/4769a142e668eef25d2d3378777e97c0ea0e08c0/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 197 by bugdroid1@chromium.org, Aug 10 2017

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

commit 022669833bb233a842d935c8774b39456007643f
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 10 15:12:41 2017

[Payment Request] EG tests for use stats of autofill cards and profiles

- Adds tests to validate that the use stats for the autofill cards and
  profiles used in a Payment Request are properly updated upon completion.

Bug: 602666
Change-Id: I01e42a6dbcd728bcc3111237e4579b5b5f1b5aa2
Reviewed-on: https://chromium-review.googlesource.com/606680
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Commit-Queue: mahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493391}
[modify] https://crrev.com/022669833bb233a842d935c8774b39456007643f/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/022669833bb233a842d935c8774b39456007643f/ios/chrome/browser/ui/payments/payment_request_egtest_base.h
[modify] https://crrev.com/022669833bb233a842d935c8774b39456007643f/ios/chrome/browser/ui/payments/payment_request_egtest_base.mm
[add] https://crrev.com/022669833bb233a842d935c8774b39456007643f/ios/chrome/browser/ui/payments/payment_request_use_stats_egtest.mm

Project Member

Comment 198 by bugdroid1@chromium.org, Aug 11 2017

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

commit aab40c504b2d1a138798735fa01fda725796bbb8
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Aug 11 11:15:56 2017

[Payment Request] Disables PaymentRequest EG tests that break on iOS < 10.3

Disables those EG tests that depends on DOMExcepion to exist in the JS
environment for iOS versions below 10.3.

Bug: 602666
Change-Id: I6c9ac070ef605dab807909da0920d9c7bc0ececa
Reviewed-on: https://chromium-review.googlesource.com/611121
Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Commit-Queue: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493699}
[modify] https://crrev.com/aab40c504b2d1a138798735fa01fda725796bbb8/ios/chrome/browser/ui/payments/payment_request_can_make_payment_egtest.mm
[modify] https://crrev.com/aab40c504b2d1a138798735fa01fda725796bbb8/ios/chrome/browser/ui/payments/payment_request_cancel_pay_abort_egtest.mm
[modify] https://crrev.com/aab40c504b2d1a138798735fa01fda725796bbb8/ios/chrome/browser/ui/payments/payment_request_data_url_egtest.mm

Project Member

Comment 199 by bugdroid1@chromium.org, Aug 11 2017

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

commit f2e31edf3427a370e55773df215823bd05175c8f
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Aug 11 13:53:47 2017

[Payment Request] Fixes some visual issues with the card unmask prompt.

- Removes the width constraint on the CVC textfield.
- Makes the title's font size match that of the default MDCNavigationBar.
- Takes the inset into account when calculating the status cell height.

before: https://drive.google.com/open?id=0B-GXJsF3pXyjam5FNG5fMWdKWXM
after: https://drive.google.com/open?id=0B-GXJsF3pXyjWE5XSVM4c29QMVU

Bug: 602666, 753064
Change-Id: I635659b2b5035e2ef44fe4f42e640a88a81fd6f4
Reviewed-on: https://chromium-review.googlesource.com/608901
Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493715}
[modify] https://crrev.com/f2e31edf3427a370e55773df215823bd05175c8f/ios/chrome/browser/ui/autofill/card_unmask_prompt_view_bridge.mm
[modify] https://crrev.com/f2e31edf3427a370e55773df215823bd05175c8f/ios/chrome/browser/ui/autofill/cells/cvc_item.mm

Project Member

Comment 200 by bugdroid1@chromium.org, Aug 11 2017

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

commit 5e914834eb49066f1c16bb7e7d70718f98369fd5
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Fri Aug 11 15:08:24 2017

[Payment Request] Editor title for shipping address.

Bug: 602666
Change-Id: Iaea5678b0008a050691cdc0d9287e7dd76976a0e
Reviewed-on: https://chromium-review.googlesource.com/611018
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493743}
[modify] https://crrev.com/5e914834eb49066f1c16bb7e7d70718f98369fd5/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/5e914834eb49066f1c16bb7e7d70718f98369fd5/ios/chrome/browser/ui/payments/address_edit_mediator.mm
[add] https://crrev.com/5e914834eb49066f1c16bb7e7d70718f98369fd5/ios/chrome/browser/ui/payments/address_edit_mediator_unittest.mm

Project Member

Comment 202 by bugdroid1@chromium.org, Aug 11 2017

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

commit f7766a5f31a01f70872050be1635c51b874628ce
Author: rayraymond <rayraymond@google.com>
Date: Fri Aug 11 20:00:43 2017

Project Member

Comment 203 by bugdroid1@chromium.org, Aug 14 2017

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

commit 81e5e627ca227cd8c152640ee3a6207ac664315a
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Mon Aug 14 17:08:25 2017

[Payment Request] Editor title for the credit card edit dialog.

The logic for the GetCardEditDialogTitleString function is the same as this:
https://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java?type=cs&l=317

Bug: 602666
Change-Id: I5b8268538f648a0b488519f3b0d31a1c77d79f0b
Reviewed-on: https://chromium-review.googlesource.com/612365
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494081}
[modify] https://crrev.com/81e5e627ca227cd8c152640ee3a6207ac664315a/components/autofill/core/browser/validation.cc
[modify] https://crrev.com/81e5e627ca227cd8c152640ee3a6207ac664315a/components/autofill/core/browser/validation.h
[modify] https://crrev.com/81e5e627ca227cd8c152640ee3a6207ac664315a/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/81e5e627ca227cd8c152640ee3a6207ac664315a/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[add] https://crrev.com/81e5e627ca227cd8c152640ee3a6207ac664315a/ios/chrome/browser/ui/payments/credit_card_edit_mediator_unittest.mm

Project Member

Comment 206 by bugdroid1@chromium.org, Aug 15 2017

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

commit f4d90f1e136d6def1ea88f0cc8e3c8eb4c924927
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Tue Aug 15 16:45:28 2017

[Payment Request] Fixes the black background bug for the MDC buttons.

- The documentation for the MDCButton states that if the backgroundColor
  is unset, it gets a "blue" default background color. The implementation
  was later updated to use "black" without updating the documentation:
  https://github.com/material-components/material-components-ios/pull/1609

Bug: 602666
Change-Id: Idbe07388591541c692a630371ac40c1608f349f0
Reviewed-on: https://chromium-review.googlesource.com/614581
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494412}
[modify] https://crrev.com/f4d90f1e136d6def1ea88f0cc8e3c8eb4c924927/ios/chrome/browser/ui/payments/payment_items_display_view_controller.mm
[modify] https://crrev.com/f4d90f1e136d6def1ea88f0cc8e3c8eb4c924927/ios/chrome/browser/ui/payments/payment_request_view_controller.mm

Project Member

Comment 207 by bugdroid1@chromium.org, Aug 16 2017

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

commit 0984bd3a49d6d118e3c61ed5bff5490f6db1834a
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Wed Aug 16 17:16:23 2017

[Payment Request] Adds some EG tests to validate a11y of 'add' dialogs.

Bug: 602666
Change-Id: I10359bc4ffd44dbc359ef8dddcd9af6c266d3882
Reviewed-on: https://chromium-review.googlesource.com/616819
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494839}
[modify] https://crrev.com/0984bd3a49d6d118e3c61ed5bff5490f6db1834a/ios/chrome/browser/ui/payments/payment_request_accessibility_egtest.mm

Project Member

Comment 208 by bugdroid1@chromium.org, Aug 16 2017

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

commit f3536c6161bf81979a5da0c497b59821010e41fd
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Aug 16 17:42:04 2017

[Payment Request] Fixes platform test failures in Payment Request (part 1)

- Fixes some of the failures in:
  https://w3c-test.org/payment-request/interfaces.https.html
- Modifies how PaymentRequest and PaymentResponse types are defined by
  removing the "window." prefix, using named functions as constructors,
  fixing prototype definitions, adding properties to the prototypes, etc.
- Properly rejects the show(), abort(), and canMakePayment() promises
  in an invalid state.

Bug: 602666
Change-Id: Ia5a3310d66dd2b600d58e41c949b441800f9ad41
Reviewed-on: https://chromium-review.googlesource.com/617262
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494844}
[modify] https://crrev.com/f3536c6161bf81979a5da0c497b59821010e41fd/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 209 by bugdroid1@chromium.org, Aug 17 2017

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

commit d3b2b7a1132a57ec4a058017ed4c6936358799d0
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Thu Aug 17 19:53:54 2017

[Payment Request] Adds a11y EG test for the card unmask prompt.

Bug: 602666
Change-Id: If77d6d65ed81a9d1ffee22d78004bbe7bce5c499
Reviewed-on: https://chromium-review.googlesource.com/619040
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495287}
[modify] https://crrev.com/d3b2b7a1132a57ec4a058017ed4c6936358799d0/ios/chrome/browser/ui/payments/payment_request_accessibility_egtest.mm

Project Member

Comment 210 by bugdroid1@chromium.org, Aug 17 2017

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

commit 25f8e45097c78da4357826bf2b4d3b9f281eef25
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Thu Aug 17 20:31:18 2017

[Payment Request] Verifies a11y on a few more pages.

Also:
- fixes selectors to have 'button' accessibility traits;
- merges test cases to avoid repeating the code and actions (which
are time-consuming due to animations).

Bug: 602666
Change-Id: Ia2ffe0cc9a132a8ac24e1f9e0910f4cbc6a5c489
Reviewed-on: https://chromium-review.googlesource.com/619037
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495305}
[modify] https://crrev.com/25f8e45097c78da4357826bf2b4d3b9f281eef25/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/25f8e45097c78da4357826bf2b4d3b9f281eef25/ios/chrome/browser/ui/payments/payment_request_accessibility_egtest.mm
[modify] https://crrev.com/25f8e45097c78da4357826bf2b4d3b9f281eef25/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm

Project Member

Comment 211 by bugdroid1@chromium.org, Aug 18 2017

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

commit 3f1701383fef384c600667ce4ccc377e68529d90
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Aug 18 14:56:44 2017

[Payment Request] Make sure the UI is dismissed before informing merchant.

This change introduces a callback argument to the Payment Request
coordinator's -stop method which is invoked once the UI is dismissed.
This helps ensure that the control is handed off to the merchant only
when the UI is no longer showing. Otherwise merchant can call show()
immediately after the show() promise is rejected or the response promise
is resolved, which attempts to present the UI again while it hasn't yet
been dismissed.

Bug: 602666
Change-Id: Ib07d7d3cb9a27ceedbe6da5118f31c017350bbdd
Reviewed-on: https://chromium-review.googlesource.com/617477
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495550}
[modify] https://crrev.com/3f1701383fef384c600667ce4ccc377e68529d90/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/3f1701383fef384c600667ce4ccc377e68529d90/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/3f1701383fef384c600667ce4ccc377e68529d90/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 212 by bugdroid1@chromium.org, Aug 21 2017

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

commit e8e86350bdeace853f546c7040555c1fd1701029
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Mon Aug 21 18:18:24 2017

[Payment Request] Removes "null" from the a11y labels.

Bug: 602666
Change-Id: Iae0c39d9cd5b7c215c63479a63ac099d63504fea
Reviewed-on: https://chromium-review.googlesource.com/621778
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495992}
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/BUILD.gn
[add] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/accessibility_util.h
[add] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/accessibility_util.mm
[add] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/accessibility_util_unittest.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/autofill_profile_item.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/page_info_item.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/payment_method_item.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/payments_text_item.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/cells/price_item.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/payment_request_accessibility_egtest.mm
[modify] https://crrev.com/e8e86350bdeace853f546c7040555c1fd1701029/ios/chrome/browser/ui/payments/payment_request_debit_egtest.mm

Project Member

Comment 213 by bugdroid1@chromium.org, Aug 21 2017

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

commit 48375e5d5454fefadd15f81ea87cb83b19e47e2b
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Aug 21 23:00:33 2017

[Payment Request] Accepts string value for supportedMethods

This is according to the latest spec changes:
https://www.w3.org/TR/payment-request/#dom-paymentmethoddata-supportedmethods

Bug: 602666
Change-Id: I7fb3d267e3b0478f68d4132f33d804341cb4400f
Reviewed-on: https://chromium-review.googlesource.com/617645
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496104}
[modify] https://crrev.com/48375e5d5454fefadd15f81ea87cb83b19e47e2b/components/payments/core/payment_method_data.cc
[modify] https://crrev.com/48375e5d5454fefadd15f81ea87cb83b19e47e2b/components/payments/core/payment_method_data_unittest.cc

Project Member

Comment 214 by bugdroid1@chromium.org, Aug 23 2017

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

commit 9de57af4acd3e74cde57e62dd48e58290eeb1481
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Aug 23 18:57:27 2017

[Payment Request] Fixes platform test failures in Payment Request (part 2)

Adds client side JS validation.

Bug: 602666
Change-Id: Ie81833d27a2abb091262836195f35528ef1573e6
Reviewed-on: https://chromium-review.googlesource.com/626363
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496758}
[modify] https://crrev.com/9de57af4acd3e74cde57e62dd48e58290eeb1481/ios/chrome/browser/ui/payments/payment_request_payment_method_identifier_egtest.mm
[modify] https://crrev.com/9de57af4acd3e74cde57e62dd48e58290eeb1481/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 215 by bugdroid1@chromium.org, Aug 23 2017

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

commit 03a6608c93862c07856233750afcf695102d9c3a
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Aug 23 19:23:49 2017

[Payment Request] Fixes platform test failures in Payment Request (part 3)

-Implements the PaymentRequest state transitions and properly handles
 invalid operations in different states.

Bug: 602666
Change-Id: I71e084519d1459a7b4bfbdca480c5fc83aab8644
Reviewed-on: https://chromium-review.googlesource.com/628820
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496765}
[modify] https://crrev.com/03a6608c93862c07856233750afcf695102d9c3a/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/03a6608c93862c07856233750afcf695102d9c3a/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/03a6608c93862c07856233750afcf695102d9c3a/ios/chrome/browser/ui/payments/payment_request_manager.h
[modify] https://crrev.com/03a6608c93862c07856233750afcf695102d9c3a/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/03a6608c93862c07856233750afcf695102d9c3a/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 216 by bugdroid1@chromium.org, Aug 25 2017

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

commit 4785560c08555bad8d195b6366c30f50d319636a
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Aug 25 14:30:44 2017

[Payment Request] Fixes platform test failures in Payment Request (part 4)

Adds validation for the update algorithm.

Bug: 602666
Change-Id: Icd5a0eed2cb081a3d6ef2cedd127596fab695b74
Reviewed-on: https://chromium-review.googlesource.com/634213
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497402}
[modify] https://crrev.com/4785560c08555bad8d195b6366c30f50d319636a/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/4785560c08555bad8d195b6366c30f50d319636a/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/4785560c08555bad8d195b6366c30f50d319636a/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/4785560c08555bad8d195b6366c30f50d319636a/ios/chrome/browser/web/resources/payment_request.js

Project Member

Comment 217 by bugdroid1@chromium.org, Aug 25 2017

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

commit 0514236cfbd6083113f5ec0fefd8a1a3eb46f217
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Aug 25 18:22:23 2017

[Payment Request] Moves payments_validators.* from content/ to core/

This patch moves common payments validators from
//components/payments/content to //components/payments/core to be
used in iOS. The shipping address validator is removed, because it's
not used in the browser and has a dependency on mojo, which is not
allowed on iOS.

TBR=tfarina@ for third_party/re2 dependency

Bug: 602666
Change-Id: Ifb8a22aab8d1ad1a79883bf93fa04281458ae5f5
Reviewed-on: https://chromium-review.googlesource.com/634640
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497468}
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/content/BUILD.gn
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/content/DEPS
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/content/payment_details_validation.cc
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/content/payment_response_helper.cc
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/core/BUILD.gn
[modify] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/core/DEPS
[rename] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/core/payments_validators.cc
[rename] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/core/payments_validators.h
[rename] https://crrev.com/0514236cfbd6083113f5ec0fefd8a1a3eb46f217/components/payments/core/payments_validators_unittest.cc

Project Member

Comment 218 by bugdroid1@chromium.org, Aug 29 2017

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

commit 2ca6b5587ccabaf299ba40019bfffb49550cd9b3
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Tue Aug 29 20:58:26 2017

[Payment Request] Moves PaymentDetails et al from ios/ to components/

Moves PaymentDetails, PaymentItem, PaymentCurrencyAmount,
PaymentShippingOption, and PaymentDetailsModifiers from
ios/web/public/payments/ to components/payments/core in order to have
a validator that can be shared accross platforms.

The final code structure for Payment Request on iOS is as follows:
ios/chrome/browser/ui/payments: coordinators, view controllers, cells,
and UI helper classes.
ios/chrome/browser/payments: non-UI iOS specific classes for Payment
Request. E.g., payment request state, helpers, utilities, payment
app finder/launcher, and the files in ios/web/public/payments/
once the TODO in the CL is addressed.

Bug: 602666
Change-Id: I2c22246c58687a98fc263da88d5dbd14bb18c550
Reviewed-on: https://chromium-review.googlesource.com/636464
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498224}
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/BUILD.gn
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_address.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_address_unittest.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_currency_amount.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_currency_amount.h
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_currency_amount_unittest.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details.h
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details_modifier.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details_modifier.h
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details_modifier_unittest.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_details_unittest.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_item.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_item.h
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_item_unittest.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_shipping_option.cc
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_shipping_option.h
[add] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/components/payments/core/payment_shipping_option_unittest.cc
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/ios_payment_instrument_launcher.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/ios_payment_instrument_launcher.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/payment_response_helper.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/payments/test_payment_request.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/js_payment_request_manager.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/payment_request_mediator_unittest.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.h
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/shipping_option_selection_coordinator_unittest.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/web/payments/payment_request.cc
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/2ca6b5587ccabaf299ba40019bfffb49550cd9b3/ios/web/public/payments/payment_request.h

Project Member

Comment 220 by bugdroid1@chromium.org, Aug 30 2017

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

commit d7834ed41b46c358c51feadf0bfe8ac941a7b617
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Aug 30 14:22:06 2017

[Payment Request] Make sure the UI is dismissed before informing merchant.

This change introduces a -paymentRequestCoordinatorDidStop: method to the
PaymentRequestCoordinatorDelegate which is invoked once the view controller
is dismissed. This mechanism replaces -stopWithCallback: which was a
layering violation and potentially problematic with memory management.

Bug: 602666
Change-Id: I2ebafe88f4a9b8602dfe03bbbda8da53397f8dcf
Reviewed-on: https://chromium-review.googlesource.com/621410
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498454}
[modify] https://crrev.com/d7834ed41b46c358c51feadf0bfe8ac941a7b617/ios/chrome/browser/ui/payments/payment_request_coordinator.h
[modify] https://crrev.com/d7834ed41b46c358c51feadf0bfe8ac941a7b617/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/d7834ed41b46c358c51feadf0bfe8ac941a7b617/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/d7834ed41b46c358c51feadf0bfe8ac941a7b617/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 221 by bugdroid1@chromium.org, Aug 30 2017

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

commit dad9a7ec094f4055f690baeffcb50e4e7ee71ded
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Aug 30 20:34:21 2017

[Payment Request] Avoid use of base::string16 in Payment Request

In order to be consistent with the mojo implementation of the payment
request, this CL changes types of strings in multiple places from
base::string16 to std::string.
https://cs.chromium.org/chromium/src/out/Debug/gen/third_party/WebKit/public/platform/modules/payments/payment_request.mojom.h

Bug: 602666
Change-Id: I1612cae8e50a5067eab863838e6db32e55c12e86
Reviewed-on: https://chromium-review.googlesource.com/644127
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498593}
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_currency_amount.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_currency_amount.h
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_currency_amount_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_details.h
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_details_modifier.h
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_details_modifier_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_details_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_item.h
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_item_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_shipping_option.h
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/components/payments/core/payment_shipping_option_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/payments/payment_request_util.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/ui/payments/js_payment_request_manager.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/ui/payments/payment_request_coordinator_unittest.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/chrome/browser/ui/payments/shipping_option_selection_mediator.mm
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/web/payments/payment_request.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/web/payments/payment_request_unittest.cc
[modify] https://crrev.com/dad9a7ec094f4055f690baeffcb50e4e7ee71ded/ios/web/public/payments/payment_request.h

Project Member

Comment 222 by bugdroid1@chromium.org, Aug 31 2017

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

commit 9fe88eca736dd44c8c61275eea710d27eb7f5939
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 31 02:15:26 2017

[Payment Request] Fixed broken ios_chrome_unittest

using the Ivar _weakSelf inside the block causes the block to retain |self|

Bug: 602666
Change-Id: Ia538fffeef14ceab67f0ad4418b17deeccd67f45
Reviewed-on: https://chromium-review.googlesource.com/644619
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498726}
[modify] https://crrev.com/9fe88eca736dd44c8c61275eea710d27eb7f5939/ios/chrome/browser/ui/payments/payment_request_coordinator.mm

Project Member

Comment 223 by bugdroid1@chromium.org, Aug 31 2017

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

commit 9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 31 13:36:54 2017

[Payment Request] Makes PaymentDetails.total nullable

This CL changes PaymentDetails.total to a nullable field to more correctly
represent the payment details dictionaries in the Payment Request API:
https://w3c.github.io/payment-request/#payment-details-dictionaries


Bug: 602666
Change-Id: Ieb2005788d50b54dc27d2637d2943ea357642428
Reviewed-on: https://chromium-review.googlesource.com/644123
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498846}
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/components/payments/core/payment_details.cc
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/components/payments/core/payment_details.h
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/components/payments/core/payment_details_unittest.cc
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/payments/ios_payment_instrument_launcher.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/payments/ios_payment_instrument_launcher_unittest.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/payments/payment_request_test_util.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/payments/payment_request_unittest.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/ui/payments/payment_items_display_mediator.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/chrome/browser/ui/payments/payment_request_mediator.mm
[modify] https://crrev.com/9269ae9d5180c2c6dfc40f0f4be2d4ca152c616a/ios/web/payments/payment_request_unittest.cc

Project Member

Comment 224 by bugdroid1@chromium.org, Aug 31 2017

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

commit de674d50e5bbc51e54c3b5b04e5ce47a2f2244be
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 31 14:38:57 2017

[Payment Request] Better checks when terminating a Payment Request

Bug: 602666
Change-Id: Icf3c94e8a4ce29518084aa0b4f66009fd15bc512
Reviewed-on: https://chromium-review.googlesource.com/646068
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498859}
[modify] https://crrev.com/de674d50e5bbc51e54c3b5b04e5ce47a2f2244be/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 225 by bugdroid1@chromium.org, Aug 31 2017

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

commit 9894df8dffc7f54b2098a2218df8887811804f7f
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Thu Aug 31 15:05:44 2017

[Payment Request] Adds a few more JourneyLogger tests.

Also records some information in the PaymentRequest constructor, as that information should always be recorded, regardless of whether the UI is shown or not.

Bug: 602666
Change-Id: Ic91612b8a9e0cb7a5f75ef1e7b737aff06eb4623
Reviewed-on: https://chromium-review.googlesource.com/644121
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498869}
[modify] https://crrev.com/9894df8dffc7f54b2098a2218df8887811804f7f/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/9894df8dffc7f54b2098a2218df8887811804f7f/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/9894df8dffc7f54b2098a2218df8887811804f7f/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/9894df8dffc7f54b2098a2218df8887811804f7f/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 226 by bugdroid1@chromium.org, Aug 31 2017

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

commit 7dd93182e97f95c85d9ac9d193c9efa5f11dc9dc
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Thu Aug 31 17:20:34 2017

[Payment Request] More Journey Logger tests on iOS.

Also uses the correct HistogramTester for iOS tests.

Bug: 602666
Change-Id: Ie87205aae89ca9877ad72f7d32612c0a5b4bbd07
Reviewed-on: https://chromium-review.googlesource.com/646288
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498902}
[modify] https://crrev.com/7dd93182e97f95c85d9ac9d193c9efa5f11dc9dc/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm

Project Member

Comment 227 by bugdroid1@chromium.org, Aug 31 2017

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

commit a4bdee3b5a2d7559d39acbcbe79e7be11da56536
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Aug 31 17:35:07 2017

[Payment Request] Makes PaymentDetailsModifier.total nullable

This CL makes PaymentDetailsModifier.total field nullable in order to
more closely match the spec:
https://w3c.github.io/payment-request/#paymentdetailsmodifier-dictionary

Bug: 602666
Change-Id: Ie612656e6dffb68da2feead38c735605125dbf73
Reviewed-on: https://chromium-review.googlesource.com/644315
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498910}
[modify] https://crrev.com/a4bdee3b5a2d7559d39acbcbe79e7be11da56536/components/payments/core/payment_details_modifier.cc
[modify] https://crrev.com/a4bdee3b5a2d7559d39acbcbe79e7be11da56536/components/payments/core/payment_details_modifier.h
[modify] https://crrev.com/a4bdee3b5a2d7559d39acbcbe79e7be11da56536/components/payments/core/payment_details_modifier_unittest.cc
[modify] https://crrev.com/a4bdee3b5a2d7559d39acbcbe79e7be11da56536/components/payments/core/payment_details_unittest.cc

Project Member

Comment 228 by bugdroid1@chromium.org, Aug 31 2017

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

commit f3eaddc24877c31794527b11b10ef75738eee49e
Author: Marc-Antoine Courteau <macourteau@chromium.org>
Date: Thu Aug 31 22:02:53 2017

[Payment Request] Skip testOnlyBobpaySupported if < iOS 10.3.

Bug: 602666
Change-Id: If6fccd62a590ef8c47a73b0ba06267f0253bd966
Reviewed-on: https://chromium-review.googlesource.com/646490
Reviewed-by: mahmadi (Moe) <mahmadi@chromium.org>
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499031}
[modify] https://crrev.com/f3eaddc24877c31794527b11b10ef75738eee49e/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm

Project Member

Comment 229 by bugdroid1@chromium.org, Sep 1 2017

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

commit b3ec7c760f780d3b984814c0812e2e649de7426d
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Sep 01 00:44:35 2017

[Payment Request] Adds the remainder of journey logger tests

Bug: 602666
Change-Id: I3c6d6d9a38bd51f7bc787e8f6b42993fa4470ae6
Reviewed-on: https://chromium-review.googlesource.com/646284
Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499083}
[modify] https://crrev.com/b3ec7c760f780d3b984814c0812e2e649de7426d/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/b3ec7c760f780d3b984814c0812e2e649de7426d/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 230 by bugdroid1@chromium.org, Sep 1 2017

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

commit 04cb546ff469f08717aa96d974206642e1fbe2c0
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Sep 01 02:13:26 2017

Revert "[Payment Request] Adds the remainder of journey logger tests"

This reverts commit b3ec7c760f780d3b984814c0812e2e649de7426d.

Reason for revert: <INSERT REASONING HERE>

It's breaking the tree, for example:
https://build.chromium.org/p/chromium.fyi/builders/EarlGreyiOS/builds/31240

Original change's description:
> [Payment Request] Adds the remainder of journey logger tests
> 
> Bug: 602666
> Change-Id: I3c6d6d9a38bd51f7bc787e8f6b42993fa4470ae6
> Reviewed-on: https://chromium-review.googlesource.com/646284
> Commit-Queue: Marc-Antoine Courteau <macourteau@chromium.org>
> Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#499083}

TBR=macourteau@chromium.org,tmartino@chromium.org,mahmadi@chromium.org

Change-Id: I83635afe9920f20bc39bd295fbca6730012021eb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 602666
Reviewed-on: https://chromium-review.googlesource.com/646860
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499111}
[modify] https://crrev.com/04cb546ff469f08717aa96d974206642e1fbe2c0/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/04cb546ff469f08717aa96d974206642e1fbe2c0/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 231 by bugdroid1@chromium.org, Sep 1 2017

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

commit 81b057f734465e321da2ba8221d29605a34cba75
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Sep 01 20:50:44 2017

[Payment Request] Records metrics when request is aborted or page goes away

Refactors the abort logic and helper functions.
Records the appropriate journey logger metrics when the request is aborted.
Records the appropriate journey logger metrics when the page/tab goes away.
Adds the remainder of the journey logger tests.

Bug: 761357, 602666
Change-Id: I65a1196a530c2bded086e1edd94d915f3ff8acc8
Reviewed-on: https://chromium-review.googlesource.com/646877
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499287}
[modify] https://crrev.com/81b057f734465e321da2ba8221d29605a34cba75/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/81b057f734465e321da2ba8221d29605a34cba75/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 232 by bugdroid1@chromium.org, Sep 1 2017

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

commit f5544bb4a3fae467f0db56d0cfdd8544f5181917
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Sep 01 21:48:22 2017

[Payment Request] Moves payment_details_validation.* from content/ to core/

Bug: 602666
Change-Id: I617a9a78c77fcfa6cfc3f767db65fd5173740f5f
Reviewed-on: https://chromium-review.googlesource.com/643768
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499317}
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/BUILD.gn
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/android/BUILD.gn
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/android/java/src/org/chromium/components/payments/PaymentValidator.java
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/android/payment_details_validation_android.cc
[delete] https://crrev.com/e67f1c1a019cee2bac7fda422b8b222a5e7c9c88/components/payments/content/payment_details_validation.cc
[delete] https://crrev.com/e67f1c1a019cee2bac7fda422b8b222a5e7c9c88/components/payments/content/payment_details_validation.h
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/payment_request.cc
[add] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/payment_request_converter.cc
[add] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/payment_request_converter.h
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/content/payment_request_spec.cc
[modify] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/core/BUILD.gn
[add] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/core/payment_details_validation.cc
[add] https://crrev.com/f5544bb4a3fae467f0db56d0cfdd8544f5181917/components/payments/core/payment_details_validation.h

Project Member

Comment 233 by bugdroid1@chromium.org, Sep 2 2017

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

commit be4a3d8e45af697dcdf31f14ffd1e4384ffe31c9
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Sep 01 23:59:41 2017

[Payment Request] Validates PaymentDetails on iOS

Bug: 602666
Change-Id: I5393fedf521bf8201782aff7724f66cf12bd6a8e
Reviewed-on: https://chromium-review.googlesource.com/646598
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499347}
[modify] https://crrev.com/be4a3d8e45af697dcdf31f14ffd1e4384ffe31c9/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 234 by bugdroid1@chromium.org, Sep 6 2017

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

commit ba7f1536f75fc8ec711b5a2310157959a076da2c
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Wed Sep 06 16:48:52 2017

[Payment Request] Don't load validation rules in AddressNormalizationManager

Stops proactively loading validation rules in AddressNormalizationManager.
There's no guarantee that the default country code provided to the
AddressNormalizationManager is the same as the country code of the address
to be normalized, nor how much this proactive loading of the rules speeds
up the normalization. Therefore, this call is safe to remove.

Also this async operation can break tests, in which there is a blocking
call to base::Runloop::Run().

This CL also renames the payment instrument finder/launcher unit tests so
that they share the same prefix as other iOS Payment Request unit tests.

Bug: 602666
Change-Id: Ie9792faf33a6b826301519a0ace609cf4a18c9b9
Reviewed-on: https://chromium-review.googlesource.com/651168
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499990}
[modify] https://crrev.com/ba7f1536f75fc8ec711b5a2310157959a076da2c/components/payments/core/address_normalization_manager.cc
[modify] https://crrev.com/ba7f1536f75fc8ec711b5a2310157959a076da2c/ios/chrome/browser/payments/ios_payment_instrument_finder.h
[modify] https://crrev.com/ba7f1536f75fc8ec711b5a2310157959a076da2c/ios/chrome/browser/payments/ios_payment_instrument_finder_unittest.mm
[modify] https://crrev.com/ba7f1536f75fc8ec711b5a2310157959a076da2c/ios/chrome/browser/payments/ios_payment_instrument_launcher.h
[modify] https://crrev.com/ba7f1536f75fc8ec711b5a2310157959a076da2c/ios/chrome/browser/payments/ios_payment_instrument_launcher_unittest.mm

Project Member

Comment 235 by bugdroid1@chromium.org, Sep 8 2017

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

commit 1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Fri Sep 08 13:46:39 2017

[Payment Request] Enables Payment Request on iOS by default

- This CL sets PaymentRequestManager's active WebState to nullptr in BVC's
  shutdown method to make sure the active WebState is clean when BVC is
  shutting down.
- This CL adds a unit test to verify that the BVC shuts down cleanly with
  Payment Request enabled.
- This CL removes the calls to enable/disable the active WebState in the
  [PaymentRequestManager enablePaymentRequest:] and instead changes the
  behavior so that the script commands are ignored when the Payment Request
  is disabled. The reason for this change is that this method is called
  when the BVC is disabled before it shuts down. This could result in a
  second attempt to disable the active WebState when the BVC actually shuts
  down which is wrong.

Bug: 761358, 755799, 602666
Change-Id: I600927fd0bc00523552d2e5bb581583611c60dfb
Reviewed-on: https://chromium-review.googlesource.com/646654
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500580}
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/components/payments/core/features.cc
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 236 by bugdroid1@chromium.org, Sep 9 2017

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

commit 1a37acbe061a95db57555a737e429c831b82ff2f
Author: Mike Baxley <baxley@chromium.org>
Date: Sat Sep 09 04:13:52 2017

Revert "[Payment Request] Enables Payment Request on iOS by default"

This reverts commit 1ca550a89a7bf6c1a8e2b6fc21a8d399bf51f220.

Reason for revert: This is crashing in RecentTabsTableTestCase.testClosedTabAppearsInRecentTabsPanel

It reproduces locally and in the try job that was run.

Original change's description:
> [Payment Request] Enables Payment Request on iOS by default
> 
> - This CL sets PaymentRequestManager's active WebState to nullptr in BVC's
>   shutdown method to make sure the active WebState is clean when BVC is
>   shutting down.
> - This CL adds a unit test to verify that the BVC shuts down cleanly with
>   Payment Request enabled.
> - This CL removes the calls to enable/disable the active WebState in the
>   [PaymentRequestManager enablePaymentRequest:] and instead changes the
>   behavior so that the script commands are ignored when the Payment Request
>   is disabled. The reason for this change is that this method is called
>   when the BVC is disabled before it shuts down. This could result in a
>   second attempt to disable the active WebState when the BVC actually shuts
>   down which is wrong.
> 
> Bug: 761358, 755799, 602666
> Change-Id: I600927fd0bc00523552d2e5bb581583611c60dfb
> Reviewed-on: https://chromium-review.googlesource.com/646654
> Reviewed-by: Mark Cogan <marq@chromium.org>
> Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
> Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#500580}

TBR=rouslan@chromium.org,marq@chromium.org,mahmadi@chromium.org

Change-Id: I7ba85ae51cf465716d32fe2ceab4fc37b835e1a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 761358, 755799, 602666
Reviewed-on: https://chromium-review.googlesource.com/658777
Reviewed-by: Mike Baxley <baxley@chromium.org>
Commit-Queue: Mike Baxley <baxley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500788}
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/components/payments/core/features.cc
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/1a37acbe061a95db57555a737e429c831b82ff2f/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 237 by bugdroid1@chromium.org, Sep 11 2017

Labels: merge-merged-3202
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/81962dd0b997caed055fa5589c52f724aff342d2

commit 81962dd0b997caed055fa5589c52f724aff342d2
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Sep 11 17:49:11 2017

[Payment Request] Records metrics when request is aborted or page goes away

Refactors the abort logic and helper functions.
Records the appropriate journey logger metrics when the request is aborted.
Records the appropriate journey logger metrics when the page/tab goes away.
Adds the remainder of the journey logger tests.

TBR=mahmadi@chromium.org

(cherry picked from commit 81b057f734465e321da2ba8221d29605a34cba75)

Bug: 761357, 602666
Change-Id: I65a1196a530c2bded086e1edd94d915f3ff8acc8
Reviewed-on: https://chromium-review.googlesource.com/646877
Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499287}
Reviewed-on: https://chromium-review.googlesource.com/660400
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#132}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/81962dd0b997caed055fa5589c52f724aff342d2/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/81962dd0b997caed055fa5589c52f724aff342d2/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 238 by bugdroid1@chromium.org, Sep 12 2017

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

commit 0aa757d1ebc735a2533a8a77a11bd352f378a99e
Author: Sylvain Defresne <sdefresne@chromium.org>
Date: Tue Sep 12 16:23:56 2017

Revert "[Payment Request] Records metrics when request is aborted or page goes away"

This reverts commit 81962dd0b997caed055fa5589c52f724aff342d2.

Reason for revert: this CL depends on https://chromium-review.googlesource.com/c/chromium/src/+/646660 that has not been cherry-picked in branch 3202 thus breaking the build with the following error:

../../ios/chrome/browser/ui/payments/payment_request_manager.mm:1078:23: error: no member named 'IsRendererInitiated' in 'web::NavigationContext'
          navigation->IsRendererInitiated()
          ~~~~~~~~~~  ^
1 error generated.

Original change's description:
> [Payment Request] Records metrics when request is aborted or page goes away
> 
> Refactors the abort logic and helper functions.
> Records the appropriate journey logger metrics when the request is aborted.
> Records the appropriate journey logger metrics when the page/tab goes away.
> Adds the remainder of the journey logger tests.
> 
> TBR=mahmadi@chromium.org
> 
> (cherry picked from commit 81b057f734465e321da2ba8221d29605a34cba75)
> 
> Bug: 761357, 602666
> Change-Id: I65a1196a530c2bded086e1edd94d915f3ff8acc8
> Reviewed-on: https://chromium-review.googlesource.com/646877
> Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
> Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#499287}
> Reviewed-on: https://chromium-review.googlesource.com/660400
> Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3202@{#132}
> Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}

TBR=macourteau@chromium.org,mahmadi@chromium.org

Change-Id: Idca82702136652d17d07b2c315243a7c925db34e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 761357, 602666
Reviewed-on: https://chromium-review.googlesource.com/663540
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#168}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/0aa757d1ebc735a2533a8a77a11bd352f378a99e/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/0aa757d1ebc735a2533a8a77a11bd352f378a99e/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 239 by bugdroid1@chromium.org, Sep 12 2017

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

commit d2d189703dde91d6431ff952d31bbfa7f3dcb577
Author: Moe Ahmadi <mahmadi@chromium.org>
Date: Tue Sep 12 17:47:07 2017

Revert "Revert "[Payment Request] Records metrics when request is aborted or page goes away""

This reverts commit 0aa757d1ebc735a2533a8a77a11bd352f378a99e.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "[Payment Request] Records metrics when request is aborted or page goes away"
> 
> This reverts commit 81962dd0b997caed055fa5589c52f724aff342d2.
> 
> Reason for revert: this CL depends on https://chromium-review.googlesource.com/c/chromium/src/+/646660 that has not been cherry-picked in branch 3202 thus breaking the build with the following error:
> 
> ../../ios/chrome/browser/ui/payments/payment_request_manager.mm:1078:23: error: no member named 'IsRendererInitiated' in 'web::NavigationContext'
>           navigation->IsRendererInitiated()
>           ~~~~~~~~~~  ^
> 1 error generated.
> 
> Original change's description:
> > [Payment Request] Records metrics when request is aborted or page goes away
> > 
> > Refactors the abort logic and helper functions.
> > Records the appropriate journey logger metrics when the request is aborted.
> > Records the appropriate journey logger metrics when the page/tab goes away.
> > Adds the remainder of the journey logger tests.
> > 
> > TBR=mahmadi@chromium.org
> > 
> > (cherry picked from commit 81b057f734465e321da2ba8221d29605a34cba75)
> > 
> > Bug: 761357, 602666
> > Change-Id: I65a1196a530c2bded086e1edd94d915f3ff8acc8
> > Reviewed-on: https://chromium-review.googlesource.com/646877
> > Commit-Queue: mahmadi (Moe) <mahmadi@chromium.org>
> > Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
> > Cr-Original-Commit-Position: refs/heads/master@{#499287}
> > Reviewed-on: https://chromium-review.googlesource.com/660400
> > Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
> > Cr-Commit-Position: refs/branch-heads/3202@{#132}
> > Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
> 
> TBR=macourteau@chromium.org,mahmadi@chromium.org
> 
> Change-Id: Idca82702136652d17d07b2c315243a7c925db34e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 761357, 602666
> Reviewed-on: https://chromium-review.googlesource.com/663540
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3202@{#168}
> Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}

TBR=macourteau@chromium.org,sdefresne@chromium.org,mahmadi@chromium.org

Change-Id: I481de4fd41e4b83218283ffc8b4dbf29a7332f2d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 761357, 602666
Reviewed-on: https://chromium-review.googlesource.com/663565
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#174}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/d2d189703dde91d6431ff952d31bbfa7f3dcb577/ios/chrome/browser/ui/payments/payment_request_journey_logger_egtest.mm
[modify] https://crrev.com/d2d189703dde91d6431ff952d31bbfa7f3dcb577/ios/chrome/browser/ui/payments/payment_request_manager.mm

Project Member

Comment 240 by bugdroid1@chromium.org, Sep 12 2017

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

commit bec07eb12d64b84330e6a582ac7aa38a103a9e7d
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Tue Sep 12 19:38:46 2017

[Payment Request] Enables Payment Request on iOS by default

- Sets PaymentRequestManager's active WebState to nullptr in BVC's shutdown
  method to make sure the active WebState is clean when BVC shuts down.
- Adds a call to update PaymentRequestManager's active WebState in
  -tabModel:didReplaceTab:withTab:atIndex: in order to clean the the
  previously active WebState and enable PaymentRequest on the new one. This
  call happens when a recent tab is opened.
- This CL adds a unit test to verify that the BVC shuts down cleanly with
  Payment Request enabled.
- This CL removes the calls to enable/disable the active WebState in the
  [PaymentRequestManager enablePaymentRequest:] and instead changes the
  behavior so that the script commands are ignored when the Payment Request
  is disabled. The reason for this change is that this method is called
  when the BVC is disabled before it shuts down. This could result in a
  second attempt to disable the active WebState when the BVC actually shuts
  down which is wrong.

TBR=rouslan@

Bug: 761358, 755799, 602666
Change-Id: Id984aec77194993b23085448cb802ba9fe120379
Reviewed-on: https://chromium-review.googlesource.com/660480
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501363}
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/components/payments/core/features.cc
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/bec07eb12d64b84330e6a582ac7aa38a103a9e7d/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 241 by bugdroid1@chromium.org, Sep 14 2017

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

commit 033b8b51499ca5b4a000f6ea7a184956c1b391a7
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Thu Sep 14 16:17:32 2017

[Payment Request] Enables Payment Request on iOS by default

- Sets PaymentRequestManager's active WebState to nullptr in BVC's shutdown
  method to make sure the active WebState is clean when BVC shuts down.
- Adds a call to update PaymentRequestManager's active WebState in
  -tabModel:didReplaceTab:withTab:atIndex: in order to clean the the
  previously active WebState and enable PaymentRequest on the new one. This
  call happens when a recent tab is opened.
- This CL adds a unit test to verify that the BVC shuts down cleanly with
  Payment Request enabled.
- This CL removes the calls to enable/disable the active WebState in the
  [PaymentRequestManager enablePaymentRequest:] and instead changes the
  behavior so that the script commands are ignored when the Payment Request
  is disabled. The reason for this change is that this method is called
  when the BVC is disabled before it shuts down. This could result in a
  second attempt to disable the active WebState when the BVC actually shuts
  down which is wrong.

TBR=mahmadi@chromium.org, rouslan@

(cherry picked from commit bec07eb12d64b84330e6a582ac7aa38a103a9e7d)

Bug: 761358, 755799, 602666
Change-Id: Id984aec77194993b23085448cb802ba9fe120379
Reviewed-on: https://chromium-review.googlesource.com/660480
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#501363}
Reviewed-on: https://chromium-review.googlesource.com/667718
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#220}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/components/payments/core/features.cc
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/033b8b51499ca5b4a000f6ea7a184956c1b391a7/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 242 by bugdroid1@chromium.org, Sep 15 2017

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

commit 9d779b84f9c23e5b8d8887c70b691e7a70695df1
Author: Jean-François Geyelin <jif@chromium.org>
Date: Fri Sep 15 18:13:09 2017

Revert "[Payment Request] Enables Payment Request on iOS by default"

This reverts commit 033b8b51499ca5b4a000f6ea7a184956c1b391a7.

Reason for revert: Conflicts made some test not compile

Original change's description:
> [Payment Request] Enables Payment Request on iOS by default
> 
> - Sets PaymentRequestManager's active WebState to nullptr in BVC's shutdown
>   method to make sure the active WebState is clean when BVC shuts down.
> - Adds a call to update PaymentRequestManager's active WebState in
>   -tabModel:didReplaceTab:withTab:atIndex: in order to clean the the
>   previously active WebState and enable PaymentRequest on the new one. This
>   call happens when a recent tab is opened.
> - This CL adds a unit test to verify that the BVC shuts down cleanly with
>   Payment Request enabled.
> - This CL removes the calls to enable/disable the active WebState in the
>   [PaymentRequestManager enablePaymentRequest:] and instead changes the
>   behavior so that the script commands are ignored when the Payment Request
>   is disabled. The reason for this change is that this method is called
>   when the BVC is disabled before it shuts down. This could result in a
>   second attempt to disable the active WebState when the BVC actually shuts
>   down which is wrong.
> 
> TBR=mahmadi@chromium.org, rouslan@
> 
> (cherry picked from commit bec07eb12d64b84330e6a582ac7aa38a103a9e7d)
> 
> Bug: 761358, 755799, 602666
> Change-Id: Id984aec77194993b23085448cb802ba9fe120379
> Reviewed-on: https://chromium-review.googlesource.com/660480
> Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
> Reviewed-by: Mark Cogan <marq@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#501363}
> Reviewed-on: https://chromium-review.googlesource.com/667718
> Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3202@{#220}
> Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}

TBR=marq@chromium.org,mahmadi@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 761358, 755799, 602666
Change-Id: I016757f312ccbca44f8e5cee8349743aa3f19493
Reviewed-on: https://chromium-review.googlesource.com/668579
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#254}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/components/payments/core/features.cc
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/9d779b84f9c23e5b8d8887c70b691e7a70695df1/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 243 by bugdroid1@chromium.org, Sep 18 2017

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

commit 86051439669d2b221dc7e52f488b7afa43e3152b
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Sep 18 17:16:08 2017

[Payment Request] Enables Payment Request on iOS by default

- Sets PaymentRequestManager's active WebState to nullptr in BVC's shutdown
  method to make sure the active WebState is clean when BVC shuts down.
- Adds a call to update PaymentRequestManager's active WebState in
  -tabModel:didReplaceTab:withTab:atIndex: in order to clean the the
  previously active WebState and enable PaymentRequest on the new one. This
  call happens when a recent tab is opened.
- This CL adds a unit test to verify that the BVC shuts down cleanly with
  Payment Request enabled.
- This CL removes the calls to enable/disable the active WebState in the
  [PaymentRequestManager enablePaymentRequest:] and instead changes the
  behavior so that the script commands are ignored when the Payment Request
  is disabled. The reason for this change is that this method is called
  when the BVC is disabled before it shuts down. This could result in a
  second attempt to disable the active WebState when the BVC actually shuts
  down which is wrong.

TBR=mahmadi@chromium.org, rouslan@, marq@


(cherry picked from commit bec07eb12d64b84330e6a582ac7aa38a103a9e7d)

Bug: 761358, 755799, 602666
Change-Id: I3ad010dc08cde8aa58928f743197f7eea4a41ba2
Reviewed-on: https://chromium-review.googlesource.com/660480
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Original-Original-Commit-Position: refs/heads/master@{#501363}
Reviewed-on: https://chromium-review.googlesource.com/667718
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Cr-Original-Commit-Position: refs/branch-heads/3202@{#220}
Cr-Original-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
Reviewed-on: https://chromium-review.googlesource.com/671489
Cr-Commit-Position: refs/branch-heads/3202@{#292}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/components/payments/core/features.cc
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/ios/chrome/browser/ui/browser_view_controller_unittest.mm
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/ios/chrome/browser/ui/payments/payment_request_manager.mm
[modify] https://crrev.com/86051439669d2b221dc7e52f488b7afa43e3152b/ios/chrome/browser/web/chrome_web_client_unittest.mm

Project Member

Comment 244 by bugdroid1@chromium.org, Sep 18 2017

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

commit 1c44c76f260797fdd5deb79fb0deeae0b2217ce1
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Mon Sep 18 19:36:29 2017

[Payment Request] Fixes UI issues raised in UI review

- Splits some of Payments strings into sentence-case and title-case groups.
  in iOS, buttons, labels, and titles must be title-cased and full sentences
  must be sentence-cased.
- Adds leading margin to accepted cards section to align with other texts.
- Sets the text color of the Pay button to white when disabled.
- Sets the secondary text color of the shipping option item to its default.
- Uses the correct blue tint color for the "ADD" text for adding cards etc.
- Uses the correct blue tint color for the editor textfields.
- Makes the secondary text color of those editor fields that push a new VC
  (e.g., "Country/Region*"), light grey.

Screenshots:
https://drive.google.com/file/d/0B-GXJsF3pXyjWHB0RDhNSHFxQzQ/view?usp=sharing
https://drive.google.com/file/d/0B-GXJsF3pXyjYzF5S0M2YWNUZUE/view?usp=sharing
https://drive.google.com/file/d/0B-GXJsF3pXyjWnE4ZEpubVFId2s/view?usp=sharing
https://drive.google.com/file/d/0B-GXJsF3pXyjZm5QMmFHM1ZTYjQ/view?usp=sharing

Bug: 602666
Change-Id: If8eb619bce845037cee2e940b05519813f4d3a2d
Reviewed-on: https://chromium-review.googlesource.com/657803
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Tommy Martino <tmartino@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502642}
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/components/payments/core/strings_util_unittest.cc
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/components/payments_strings.grdp
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/cells/accepted_payment_methods_item.mm
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/cells/payments_selector_edit_item.mm
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/payment_items_display_view_controller.mm
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/payment_request_edit_view_controller.mm
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/payment_request_selector_view_controller.mm
[modify] https://crrev.com/1c44c76f260797fdd5deb79fb0deeae0b2217ce1/ios/chrome/browser/ui/payments/payment_request_view_controller.mm

Performed i18n testing for Payment Request API feature on 62.0.3202.30 beta.

We are still seeing some non-translated strings on Payment Request UI so waiting for the update to finish i18n testing.
Status: Fixed (was: Started)
Project Member

Comment 248 by bugdroid1@chromium.org, Oct 21 2017

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

commit 05c18dfd9688b3736184c9e2cf65606e345d42ce
Author: Mohamad Ahmadi <mahmadi@chromium.org>
Date: Sat Oct 21 03:26:57 2017

[PR] EG tests for the PaymentDetailsModifier

- Also adds the kWebPaymentsModifiers feature flag to
  PaymentRequest::GetApplicableModifier() in order to be able to disable
  the feature through Finch.

Bug: 602666
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I24ae607e32eac253a7e5aa3efca4b01a36dfda58
Reviewed-on: https://chromium-review.googlesource.com/726530
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Marc-Antoine Courteau <macourteau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510652}
[modify] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/ui/payments/BUILD.gn
[modify] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/ui/payments/payment_request_debit_egtest.mm
[modify] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/ui/payments/payment_request_egtest_base.h
[modify] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/ui/payments/payment_request_egtest_base.mm
[add] https://crrev.com/05c18dfd9688b3736184c9e2cf65606e345d42ce/ios/chrome/browser/ui/payments/payment_request_modifiers_egtest.mm

Showing comments 149 - 248 of 248 Older

Sign in to add a comment