Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/payments/PaymentRequest.h" | 5 #include "modules/payments/PaymentRequest.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/JSONValuesForV8.h" | 8 #include "bindings/core/v8/JSONValuesForV8.h" |
| 9 #include "bindings/core/v8/ScriptPromiseResolver.h" | 9 #include "bindings/core/v8/ScriptPromiseResolver.h" |
| 10 #include "bindings/core/v8/ScriptState.h" | 10 #include "bindings/core/v8/ScriptState.h" |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 using blink::mojom::blink::PaymentOptions; | 38 using blink::mojom::blink::PaymentOptions; |
| 39 using blink::mojom::blink::PaymentOptionsPtr; | 39 using blink::mojom::blink::PaymentOptionsPtr; |
| 40 using blink::mojom::blink::ShippingOption; | 40 using blink::mojom::blink::ShippingOption; |
| 41 using blink::mojom::blink::ShippingOptionPtr; | 41 using blink::mojom::blink::ShippingOptionPtr; |
| 42 | 42 |
| 43 template <> | 43 template <> |
| 44 struct TypeConverter<CurrencyAmountPtr, blink::CurrencyAmount> { | 44 struct TypeConverter<CurrencyAmountPtr, blink::CurrencyAmount> { |
| 45 static CurrencyAmountPtr Convert(const blink::CurrencyAmount& input) | 45 static CurrencyAmountPtr Convert(const blink::CurrencyAmount& input) |
| 46 { | 46 { |
| 47 CurrencyAmountPtr output = CurrencyAmount::New(); | 47 CurrencyAmountPtr output = CurrencyAmount::New(); |
| 48 output->currency_code = input.currencyCode(); | 48 output->currency_code = input.currency(); |
| 49 output->value = input.value(); | 49 output->value = input.value(); |
| 50 return output; | 50 return output; |
| 51 } | 51 } |
| 52 }; | 52 }; |
| 53 | 53 |
| 54 template <> | 54 template <> |
| 55 struct TypeConverter<PaymentItemPtr, blink::PaymentItem> { | 55 struct TypeConverter<PaymentItemPtr, blink::PaymentItem> { |
| 56 static PaymentItemPtr Convert(const blink::PaymentItem& input) | 56 static PaymentItemPtr Convert(const blink::PaymentItem& input) |
| 57 { | 57 { |
| 58 PaymentItemPtr output = PaymentItem::New(); | 58 PaymentItemPtr output = PaymentItem::New(); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 118 if (!item.hasLabel() || item.label().isEmpty()) { | 118 if (!item.hasLabel() || item.label().isEmpty()) { |
| 119 exceptionState.throwTypeError("Item label required"); | 119 exceptionState.throwTypeError("Item label required"); |
| 120 return; | 120 return; |
| 121 } | 121 } |
| 122 | 122 |
| 123 if (!item.hasAmount()) { | 123 if (!item.hasAmount()) { |
| 124 exceptionState.throwTypeError("Currency amount required"); | 124 exceptionState.throwTypeError("Currency amount required"); |
| 125 return; | 125 return; |
| 126 } | 126 } |
| 127 | 127 |
| 128 if (!item.amount().hasCurrencyCode()) { | 128 if (!item.amount().hasCurrency()) { |
| 129 exceptionState.throwTypeError("Currency code required"); | 129 exceptionState.throwTypeError("Currency code required"); |
| 130 return; | 130 return; |
| 131 } | 131 } |
| 132 | 132 |
| 133 if (!item.amount().hasValue()) { | 133 if (!item.amount().hasValue()) { |
| 134 exceptionState.throwTypeError("Currency value required"); | 134 exceptionState.throwTypeError("Currency value required"); |
| 135 return; | 135 return; |
| 136 } | 136 } |
| 137 | 137 |
| 138 if (!PaymentsValidators::isValidCurrencyCodeFormat(item.amount().currenc yCode(), &errorMessage)) { | 138 if (!PaymentsValidators::isValidCurrencyCodeFormat(item.amount().currenc y(), &errorMessage)) { |
|
Marijn Kruisselbrink
2016/05/16 19:02:48
To really make this match the spec you probably sh
please use gerrit instead
2016/05/16 21:36:36
We would also need to update the validation logic
Marijn Kruisselbrink
2016/05/16 21:43:48
Sure, that works. And to fully match the spec chan
| |
| 139 exceptionState.throwTypeError(errorMessage); | 139 exceptionState.throwTypeError(errorMessage); |
| 140 return; | 140 return; |
| 141 } | 141 } |
| 142 | 142 |
| 143 if (!PaymentsValidators::isValidAmountFormat(item.amount().value(), &err orMessage)) { | 143 if (!PaymentsValidators::isValidAmountFormat(item.amount().value(), &err orMessage)) { |
| 144 exceptionState.throwTypeError(errorMessage); | 144 exceptionState.throwTypeError(errorMessage); |
| 145 return; | 145 return; |
| 146 } | 146 } |
| 147 } | 147 } |
| 148 } | 148 } |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 433 void PaymentRequest::clearResolversAndCloseMojoConnection() | 433 void PaymentRequest::clearResolversAndCloseMojoConnection() |
| 434 { | 434 { |
| 435 m_completeResolver.clear(); | 435 m_completeResolver.clear(); |
| 436 m_showResolver.clear(); | 436 m_showResolver.clear(); |
| 437 if (m_clientBinding.is_bound()) | 437 if (m_clientBinding.is_bound()) |
| 438 m_clientBinding.Close(); | 438 m_clientBinding.Close(); |
| 439 m_paymentProvider.reset(); | 439 m_paymentProvider.reset(); |
| 440 } | 440 } |
| 441 | 441 |
| 442 } // namespace blink | 442 } // namespace blink |
| OLD | NEW |