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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 118 if (input.hasShippingOptions()) | 118 if (input.hasShippingOptions()) |
| 119 output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>: :From(input.shippingOptions()); | 119 output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>: :From(input.shippingOptions()); |
| 120 else | 120 else |
| 121 output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>: :New(0); | 121 output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>: :New(0); |
| 122 | 122 |
| 123 if (input.hasModifiers()) | 123 if (input.hasModifiers()) |
| 124 output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::From( input.modifiers()); | 124 output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::From( input.modifiers()); |
| 125 else | 125 else |
| 126 output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::New(0 ); | 126 output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::New(0 ); |
| 127 | 127 |
| 128 if (input.hasError()) | |
| 129 output->error = input.error(); | |
| 130 else | |
| 131 output->error = WTF::String(""); | |
|
haraken
2016/09/20 14:46:53
WTF::emptyString() ?
Hwanseung Lee
2016/09/20 15:08:44
it is my intention. thank you.
| |
| 132 | |
| 128 return output; | 133 return output; |
| 129 } | 134 } |
| 130 }; | 135 }; |
| 131 | 136 |
| 132 template <> | 137 template <> |
| 133 struct TypeConverter<PaymentOptionsPtr, blink::PaymentOptions> { | 138 struct TypeConverter<PaymentOptionsPtr, blink::PaymentOptions> { |
| 134 static PaymentOptionsPtr Convert(const blink::PaymentOptions& input) | 139 static PaymentOptionsPtr Convert(const blink::PaymentOptions& input) |
| 135 { | 140 { |
| 136 PaymentOptionsPtr output = PaymentOptions::New(); | 141 PaymentOptionsPtr output = PaymentOptions::New(); |
| 137 output->request_payer_email = input.requestPayerEmail(); | 142 output->request_payer_email = input.requestPayerEmail(); |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 512 | 517 |
| 513 if (!scriptState->domWindow()->frame() || !scriptState->domWindow()->frame() ->isMainFrame()) { | 518 if (!scriptState->domWindow()->frame() || !scriptState->domWindow()->frame() ->isMainFrame()) { |
| 514 exceptionState.throwSecurityError("Must be in a top-level browsing conte xt"); | 519 exceptionState.throwSecurityError("Must be in a top-level browsing conte xt"); |
| 515 return; | 520 return; |
| 516 } | 521 } |
| 517 | 522 |
| 518 validatePaymentDetails(details, exceptionState); | 523 validatePaymentDetails(details, exceptionState); |
| 519 if (exceptionState.hadException()) | 524 if (exceptionState.hadException()) |
| 520 return; | 525 return; |
| 521 | 526 |
| 527 if (details.hasError() && !details.error().isEmpty()) { | |
| 528 exceptionState.throwTypeError("must be Error value empty"); | |
|
please use gerrit instead
2016/09/20 15:40:50
"Error value should be empty"
Hwanseung Lee
2016/09/20 16:01:09
Done.
| |
| 529 return; | |
| 530 } | |
| 531 | |
| 522 if (m_options.requestShipping()) | 532 if (m_options.requestShipping()) |
| 523 m_shippingOption = getSelectedShippingOption(details); | 533 m_shippingOption = getSelectedShippingOption(details); |
| 524 | 534 |
| 525 scriptState->domWindow()->frame()->interfaceProvider()->getInterface(mojo::G etProxy(&m_paymentProvider)); | 535 scriptState->domWindow()->frame()->interfaceProvider()->getInterface(mojo::G etProxy(&m_paymentProvider)); |
| 526 m_paymentProvider.set_connection_error_handler(convertToBaseCallback(WTF::bi nd(&PaymentRequest::OnError, wrapWeakPersistent(this), mojom::blink::PaymentErro rReason::UNKNOWN))); | 536 m_paymentProvider.set_connection_error_handler(convertToBaseCallback(WTF::bi nd(&PaymentRequest::OnError, wrapWeakPersistent(this), mojom::blink::PaymentErro rReason::UNKNOWN))); |
| 527 m_paymentProvider->Init(m_clientBinding.CreateInterfacePtrAndBind(), mojo::W TFArray<mojom::blink::PaymentMethodDataPtr>::From(validatedMethodData), mojom::b link::PaymentDetails::From(details), mojom::blink::PaymentOptions::From(m_option s)); | 537 m_paymentProvider->Init(m_clientBinding.CreateInterfacePtrAndBind(), mojo::W TFArray<mojom::blink::PaymentMethodDataPtr>::From(validatedMethodData), mojom::b link::PaymentDetails::From(details), mojom::blink::PaymentOptions::From(m_option s)); |
| 528 } | 538 } |
| 529 | 539 |
| 530 void PaymentRequest::contextDestroyed() | 540 void PaymentRequest::contextDestroyed() |
| 531 { | 541 { |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 696 m_completeTimer.stop(); | 706 m_completeTimer.stop(); |
| 697 m_completeResolver.clear(); | 707 m_completeResolver.clear(); |
| 698 m_showResolver.clear(); | 708 m_showResolver.clear(); |
| 699 m_abortResolver.clear(); | 709 m_abortResolver.clear(); |
| 700 if (m_clientBinding.is_bound()) | 710 if (m_clientBinding.is_bound()) |
| 701 m_clientBinding.Close(); | 711 m_clientBinding.Close(); |
| 702 m_paymentProvider.reset(); | 712 m_paymentProvider.reset(); |
| 703 } | 713 } |
| 704 | 714 |
| 705 } // namespace blink | 715 } // namespace blink |
| OLD | NEW |