Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp

Issue 2406923002: Move payment_request.mojom file to components/ (Closed)
Patch Set: Make tests compile and link Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 const blink::PaymentDetailsModifier& input) { 87 const blink::PaymentDetailsModifier& input) {
88 PaymentDetailsModifierPtr output = PaymentDetailsModifier::New(); 88 PaymentDetailsModifierPtr output = PaymentDetailsModifier::New();
89 output->supported_methods = 89 output->supported_methods =
90 WTF::Vector<WTF::String>(input.supportedMethods()); 90 WTF::Vector<WTF::String>(input.supportedMethods());
91 91
92 if (input.hasTotal()) 92 if (input.hasTotal())
93 output->total = PaymentItem::From(input.total()); 93 output->total = PaymentItem::From(input.total());
94 else 94 else
95 output->total = PaymentItem::New(); 95 output->total = PaymentItem::New();
96 96
97 if (input.hasAdditionalDisplayItems()) 97 if (input.hasAdditionalDisplayItems()) {
98 output->additional_display_items = 98 for (size_t i = 0; i < input.additionalDisplayItems().size(); ++i) {
99 mojo::WTFArray<PaymentItemPtr>::From(input.additionalDisplayItems()); 99 output->additional_display_items.append(
100 else 100 PaymentItem::From(input.additionalDisplayItems()[i]));
101 output->additional_display_items = mojo::WTFArray<PaymentItemPtr>::New(0); 101 }
102 102 }
103 return output; 103 return output;
104 } 104 }
105 }; 105 };
106 106
107 template <> 107 template <>
108 struct TypeConverter<PaymentDetailsPtr, blink::PaymentDetails> { 108 struct TypeConverter<PaymentDetailsPtr, blink::PaymentDetails> {
109 static PaymentDetailsPtr Convert(const blink::PaymentDetails& input) { 109 static PaymentDetailsPtr Convert(const blink::PaymentDetails& input) {
110 PaymentDetailsPtr output = PaymentDetails::New(); 110 PaymentDetailsPtr output = PaymentDetails::New();
111 output->total = PaymentItem::From(input.total()); 111 output->total = PaymentItem::From(input.total());
112 112
113 if (input.hasDisplayItems()) 113 if (input.hasDisplayItems()) {
114 output->display_items = 114 for (size_t i = 0; i < input.displayItems().size(); ++i) {
115 mojo::WTFArray<PaymentItemPtr>::From(input.displayItems()); 115 output->display_items.append(
116 else 116 PaymentItem::From(input.displayItems()[i]));
117 output->display_items = mojo::WTFArray<PaymentItemPtr>::New(0); 117 }
118 }
118 119
119 if (input.hasShippingOptions()) 120 if (input.hasShippingOptions()) {
120 output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>::From( 121 for (size_t i = 0; i < input.shippingOptions().size(); ++i) {
121 input.shippingOptions()); 122 output->shipping_options.append(
122 else 123 PaymentShippingOption::From(input.shippingOptions()[i]));
123 output->shipping_options = 124 }
124 mojo::WTFArray<PaymentShippingOptionPtr>::New(0); 125 }
125 126
126 if (input.hasModifiers()) 127 if (input.hasModifiers()) {
127 output->modifiers = 128 for (size_t i = 0; i < input.modifiers().size(); ++i) {
128 mojo::WTFArray<PaymentDetailsModifierPtr>::From(input.modifiers()); 129 output->modifiers.append(
129 else 130 PaymentDetailsModifier::From(input.modifiers()[i]));
130 output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::New(0); 131 }
132 }
131 133
132 if (input.hasError()) 134 if (input.hasError())
133 output->error = input.error(); 135 output->error = input.error();
134 else 136 else
135 output->error = WTF::emptyString(); 137 output->error = WTF::emptyString();
136 138
137 return output; 139 return output;
138 } 140 }
139 }; 141 };
140 142
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 423
422 mojom::blink::PaymentDetailsPtr maybeKeepShippingOptions( 424 mojom::blink::PaymentDetailsPtr maybeKeepShippingOptions(
423 mojom::blink::PaymentDetailsPtr details, 425 mojom::blink::PaymentDetailsPtr details,
424 bool keep) { 426 bool keep) {
425 if (!keep) 427 if (!keep)
426 details->shipping_options.resize(0); 428 details->shipping_options.resize(0);
427 429
428 return details; 430 return details;
429 } 431 }
430 432
433 WTF::Vector<mojom::blink::PaymentMethodDataPtr> ConvertPaymentMethodData(
434 const Vector<PaymentRequest::MethodData>& blinkMethods) {
435 WTF::Vector<mojom::blink::PaymentMethodDataPtr> mojoMethods(
436 blinkMethods.size());
437 for (size_t i = 0; i < blinkMethods.size(); ++i) {
438 mojoMethods[i] = mojom::blink::PaymentMethodData::New();
439 mojoMethods[i]->supported_methods =
440 WTF::Vector<WTF::String>(blinkMethods[i].supportedMethods);
441 mojoMethods[i]->stringified_data = blinkMethods[i].stringifiedData;
442 }
443 return mojoMethods;
444 }
445
431 } // namespace 446 } // namespace
432 447
433 PaymentRequest* PaymentRequest::create( 448 PaymentRequest* PaymentRequest::create(
434 ScriptState* scriptState, 449 ScriptState* scriptState,
435 const HeapVector<PaymentMethodData>& methodData, 450 const HeapVector<PaymentMethodData>& methodData,
436 const PaymentDetails& details, 451 const PaymentDetails& details,
437 ExceptionState& exceptionState) { 452 ExceptionState& exceptionState) {
438 return new PaymentRequest(scriptState, methodData, details, PaymentOptions(), 453 return new PaymentRequest(scriptState, methodData, details, PaymentOptions(),
439 exceptionState); 454 exceptionState);
440 } 455 }
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 if (keepShippingOptions) 643 if (keepShippingOptions)
629 m_shippingOption = getSelectedShippingOption(details); 644 m_shippingOption = getSelectedShippingOption(details);
630 m_shippingType = getValidShippingType(m_options.shippingType()); 645 m_shippingType = getValidShippingType(m_options.shippingType());
631 } 646 }
632 647
633 scriptState->domWindow()->frame()->interfaceProvider()->getInterface( 648 scriptState->domWindow()->frame()->interfaceProvider()->getInterface(
634 mojo::GetProxy(&m_paymentProvider)); 649 mojo::GetProxy(&m_paymentProvider));
635 m_paymentProvider.set_connection_error_handler(convertToBaseCallback( 650 m_paymentProvider.set_connection_error_handler(convertToBaseCallback(
636 WTF::bind(&PaymentRequest::OnError, wrapWeakPersistent(this), 651 WTF::bind(&PaymentRequest::OnError, wrapWeakPersistent(this),
637 mojom::blink::PaymentErrorReason::UNKNOWN))); 652 mojom::blink::PaymentErrorReason::UNKNOWN)));
653
638 m_paymentProvider->Init( 654 m_paymentProvider->Init(
639 m_clientBinding.CreateInterfacePtrAndBind(), 655 m_clientBinding.CreateInterfacePtrAndBind(),
640 mojo::WTFArray<mojom::blink::PaymentMethodDataPtr>::From( 656 ConvertPaymentMethodData(validatedMethodData),
641 validatedMethodData),
642 maybeKeepShippingOptions(mojom::blink::PaymentDetails::From(details), 657 maybeKeepShippingOptions(mojom::blink::PaymentDetails::From(details),
643 keepShippingOptions), 658 keepShippingOptions),
644 mojom::blink::PaymentOptions::From(m_options)); 659 mojom::blink::PaymentOptions::From(m_options));
645 } 660 }
646 661
647 void PaymentRequest::contextDestroyed() { 662 void PaymentRequest::contextDestroyed() {
648 clearResolversAndCloseMojoConnection(); 663 clearResolversAndCloseMojoConnection();
649 } 664 }
650 665
651 void PaymentRequest::OnShippingAddressChange( 666 void PaymentRequest::OnShippingAddressChange(
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 m_completeTimer.stop(); 826 m_completeTimer.stop();
812 m_completeResolver.clear(); 827 m_completeResolver.clear();
813 m_showResolver.clear(); 828 m_showResolver.clear();
814 m_abortResolver.clear(); 829 m_abortResolver.clear();
815 if (m_clientBinding.is_bound()) 830 if (m_clientBinding.is_bound())
816 m_clientBinding.Close(); 831 m_clientBinding.Close();
817 m_paymentProvider.reset(); 832 m_paymentProvider.reset();
818 } 833 }
819 834
820 } // namespace blink 835 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698