| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| index 0ef2b3581aaacb534040e3b1bd67bf490e168dc3..ea340b145913ebe8599c4145455838a91babb557 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| @@ -541,15 +541,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| * @return True if the data is valid. False if the data is invalid.
|
| */
|
| private boolean parseAndValidateDetailsOrDisconnectFromClient(PaymentDetails details) {
|
| - if (details == null) {
|
| - disconnectFromClientWithDebugMessage("Payment details required");
|
| - recordAbortReasonHistogram(
|
| - PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| - return false;
|
| - }
|
| -
|
| - if (!hasAllPaymentItemFields(details.total)) {
|
| - disconnectFromClientWithDebugMessage("Invalid total");
|
| + if (!PaymentValidator.validatePaymentDetails(details)) {
|
| + disconnectFromClientWithDebugMessage("Invalid payment details");
|
| recordAbortReasonHistogram(
|
| PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| return false;
|
| @@ -559,21 +552,6 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| CurrencyStringFormatter formatter =
|
| new CurrencyStringFormatter(totalCurrency, Locale.getDefault());
|
|
|
| - if (!formatter.isValidAmountCurrencyCode(details.total.amount.currency)) {
|
| - disconnectFromClientWithDebugMessage("Invalid total amount currency");
|
| - recordAbortReasonHistogram(
|
| - PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| - return false;
|
| - }
|
| -
|
| - if (!formatter.isValidAmountValue(details.total.amount.value)
|
| - || details.total.amount.value.startsWith("-")) {
|
| - disconnectFromClientWithDebugMessage("Invalid total amount value");
|
| - recordAbortReasonHistogram(
|
| - PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| - return false;
|
| - }
|
| -
|
| // Total is never pending.
|
| LineItem uiTotal = new LineItem(
|
| details.total.label, formatter.getFormattedCurrencyCode(),
|
| @@ -581,12 +559,6 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
|
|
| List<LineItem> uiLineItems = getValidatedLineItems(details.displayItems, totalCurrency,
|
| formatter);
|
| - if (uiLineItems == null) {
|
| - disconnectFromClientWithDebugMessage("Invalid line items");
|
| - recordAbortReasonHistogram(
|
| - PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| - return false;
|
| - }
|
|
|
| mUiShoppingCart = new ShoppingCart(uiTotal, uiLineItems);
|
| mRawTotal = details.total;
|
| @@ -594,12 +566,6 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
|
|
| mUiShippingOptions = getValidatedShippingOptions(details.shippingOptions, totalCurrency,
|
| formatter);
|
| - if (mUiShippingOptions == null) {
|
| - disconnectFromClientWithDebugMessage("Invalid shipping options");
|
| - recordAbortReasonHistogram(
|
| - PaymentRequestMetrics.ABORT_REASON_INVALID_DATA_FROM_RENDERER);
|
| - return false;
|
| - }
|
|
|
| return true;
|
| }
|
|
|