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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 127 | 127 |
| 128 return output; | 128 return output; |
| 129 } | 129 } |
| 130 }; | 130 }; |
| 131 | 131 |
| 132 template <> | 132 template <> |
| 133 struct TypeConverter<PaymentOptionsPtr, blink::PaymentOptions> { | 133 struct TypeConverter<PaymentOptionsPtr, blink::PaymentOptions> { |
| 134 static PaymentOptionsPtr Convert(const blink::PaymentOptions& input) | 134 static PaymentOptionsPtr Convert(const blink::PaymentOptions& input) |
| 135 { | 135 { |
| 136 PaymentOptionsPtr output = PaymentOptions::New(); | 136 PaymentOptionsPtr output = PaymentOptions::New(); |
| 137 output->request_payer_name = input.requestPayerName(); | |
| 137 output->request_payer_email = input.requestPayerEmail(); | 138 output->request_payer_email = input.requestPayerEmail(); |
| 138 output->request_payer_phone = input.requestPayerPhone(); | 139 output->request_payer_phone = input.requestPayerPhone(); |
| 139 output->request_shipping = input.requestShipping(); | 140 output->request_shipping = input.requestShipping(); |
| 140 return output; | 141 return output; |
| 141 } | 142 } |
| 142 }; | 143 }; |
| 143 | 144 |
| 144 template <> | 145 template <> |
| 145 struct TypeConverter<WTFArray<PaymentMethodDataPtr>, WTF::Vector<blink::PaymentR equest::MethodData>> { | 146 struct TypeConverter<WTFArray<PaymentMethodDataPtr>, WTF::Vector<blink::PaymentR equest::MethodData>> { |
| 146 static WTFArray<PaymentMethodDataPtr> Convert(const WTF::Vector<blink::Payme ntRequest::MethodData>& input) | 147 static WTFArray<PaymentMethodDataPtr> Convert(const WTF::Vector<blink::Payme ntRequest::MethodData>& input) |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 605 m_shippingAddress = new PaymentAddress(response->shipping_address.Clone( )); | 606 m_shippingAddress = new PaymentAddress(response->shipping_address.Clone( )); |
| 606 m_shippingOption = response->shipping_option; | 607 m_shippingOption = response->shipping_option; |
| 607 } else { | 608 } else { |
| 608 if (response->shipping_address || !response->shipping_option.isNull()) { | 609 if (response->shipping_address || !response->shipping_option.isNull()) { |
| 609 m_showResolver->reject(DOMException::create(SyntaxError)); | 610 m_showResolver->reject(DOMException::create(SyntaxError)); |
| 610 clearResolversAndCloseMojoConnection(); | 611 clearResolversAndCloseMojoConnection(); |
| 611 return; | 612 return; |
| 612 } | 613 } |
| 613 } | 614 } |
| 614 | 615 |
| 615 if ((m_options.requestPayerEmail() && response->payer_email.isEmpty()) | 616 if ((m_options.requestPayerName() && response->payer_name.isEmpty()) |
|
foolip
2016/09/19 15:34:40
Off-topic: does this API not allow for a way to re
| |
| 617 || (m_options.requestPayerEmail() && response->payer_email.isEmpty()) | |
| 616 || (m_options.requestPayerPhone() && response->payer_phone.isEmpty()) | 618 || (m_options.requestPayerPhone() && response->payer_phone.isEmpty()) |
| 619 || (!m_options.requestPayerName() && !response->payer_name.isNull()) | |
| 617 || (!m_options.requestPayerEmail() && !response->payer_email.isNull()) | 620 || (!m_options.requestPayerEmail() && !response->payer_email.isNull()) |
| 618 || (!m_options.requestPayerPhone() && !response->payer_phone.isNull())) { | 621 || (!m_options.requestPayerPhone() && !response->payer_phone.isNull())) { |
| 619 m_showResolver->reject(DOMException::create(SyntaxError)); | 622 m_showResolver->reject(DOMException::create(SyntaxError)); |
| 620 clearResolversAndCloseMojoConnection(); | 623 clearResolversAndCloseMojoConnection(); |
| 621 return; | 624 return; |
| 622 } | 625 } |
| 623 | 626 |
| 624 m_completeTimer.startOneShot(completeTimeoutSeconds, BLINK_FROM_HERE); | 627 m_completeTimer.startOneShot(completeTimeoutSeconds, BLINK_FROM_HERE); |
| 625 | 628 |
| 626 m_showResolver->resolve(new PaymentResponse(std::move(response), this)); | 629 m_showResolver->resolve(new PaymentResponse(std::move(response), this)); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 712 m_completeTimer.stop(); | 715 m_completeTimer.stop(); |
| 713 m_completeResolver.clear(); | 716 m_completeResolver.clear(); |
| 714 m_showResolver.clear(); | 717 m_showResolver.clear(); |
| 715 m_abortResolver.clear(); | 718 m_abortResolver.clear(); |
| 716 if (m_clientBinding.is_bound()) | 719 if (m_clientBinding.is_bound()) |
| 717 m_clientBinding.Close(); | 720 m_clientBinding.Close(); |
| 718 m_paymentProvider.reset(); | 721 m_paymentProvider.reset(); |
| 719 } | 722 } |
| 720 | 723 |
| 721 } // namespace blink | 724 } // namespace blink |
| OLD | NEW |