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

Unified Diff: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp

Issue 2406923002: Move payment_request.mojom file to components/ (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
index fb01a7ba7708bb871637c854cd8f1de218a5b5df..6bd6c8fe341441eb24aa6fdf23114a5b37365183 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
@@ -94,12 +94,13 @@ struct TypeConverter<PaymentDetailsModifierPtr, blink::PaymentDetailsModifier> {
else
output->total = PaymentItem::New();
- if (input.hasAdditionalDisplayItems())
- output->additional_display_items =
- mojo::WTFArray<PaymentItemPtr>::From(input.additionalDisplayItems());
please use gerrit instead 2016/10/12 23:51:55 Is it not possible to continue using WTFArray::Fro
Kevin Bailey 2016/10/13 18:30:42 The destination field has changed from mojo::WTFAr
please use gerrit instead 2016/10/13 20:24:00 Please see if there's a shorter way to write this,
- else
- output->additional_display_items = mojo::WTFArray<PaymentItemPtr>::New(0);
-
+ if (input.hasAdditionalDisplayItems()) {
+ for (size_t i = 0; i < input.additionalDisplayItems().size(); ++i) {
+ output->additional_display_items.append(
+ TypeConverter<PaymentItemPtr, blink::PaymentItem>::Convert(
+ input.additionalDisplayItems()[i]));
please use gerrit instead 2016/10/12 23:51:55 It's shorter to call "PaymentItem::From()" instead
Kevin Bailey 2016/10/13 18:30:42 Ok, changed all 4 occurrences.
+ }
+ }
return output;
}
};
@@ -110,24 +111,31 @@ struct TypeConverter<PaymentDetailsPtr, blink::PaymentDetails> {
PaymentDetailsPtr output = PaymentDetails::New();
output->total = PaymentItem::From(input.total());
- if (input.hasDisplayItems())
- output->display_items =
- mojo::WTFArray<PaymentItemPtr>::From(input.displayItems());
- else
- output->display_items = mojo::WTFArray<PaymentItemPtr>::New(0);
+ if (input.hasDisplayItems()) {
+ for (size_t i = 0; i < input.displayItems().size(); ++i) {
+ output->display_items.append(
+ TypeConverter<PaymentItemPtr, blink::PaymentItem>::Convert(
+ input.displayItems()[i]));
+ }
+ }
- if (input.hasShippingOptions())
- output->shipping_options = mojo::WTFArray<PaymentShippingOptionPtr>::From(
- input.shippingOptions());
- else
- output->shipping_options =
- mojo::WTFArray<PaymentShippingOptionPtr>::New(0);
+ if (input.hasShippingOptions()) {
+ for (size_t i = 0; i < input.shippingOptions().size(); ++i) {
+ output->shipping_options.append(
+ TypeConverter<PaymentShippingOptionPtr,
+ blink::PaymentShippingOption>::
+ Convert(input.shippingOptions()[i]));
+ }
+ }
- if (input.hasModifiers())
- output->modifiers =
- mojo::WTFArray<PaymentDetailsModifierPtr>::From(input.modifiers());
- else
- output->modifiers = mojo::WTFArray<PaymentDetailsModifierPtr>::New(0);
+ if (input.hasModifiers()) {
+ for (size_t i = 0; i < input.modifiers().size(); ++i) {
+ output->modifiers.append(
+ TypeConverter<
+ PaymentDetailsModifierPtr,
+ blink::PaymentDetailsModifier>::Convert(input.modifiers()[i]));
+ }
+ }
if (input.hasError())
output->error = input.error();
@@ -169,6 +177,9 @@ struct TypeConverter<WTFArray<PaymentMethodDataPtr>,
} // namespace mojo
namespace blink {
+
+bool validatePaymentDetails(const mojo::PaymentDetailsPtr&);
please use gerrit instead 2016/10/12 23:51:55 Pretty sure that this declaration is no-op, becaus
Kevin Bailey 2016/10/13 18:30:42 Was left-over. Gone.
+
namespace {
// If the website does not call complete() 60 seconds after show() has been
@@ -588,8 +599,6 @@ PaymentRequest::PaymentRequest(ScriptState* scriptState,
"Must be in a top-level browsing context");
return;
}
-
- validatePaymentDetails(details, exceptionState);
if (exceptionState.hadException())
return;
@@ -608,12 +617,19 @@ PaymentRequest::PaymentRequest(ScriptState* scriptState,
m_paymentProvider.set_connection_error_handler(convertToBaseCallback(
WTF::bind(&PaymentRequest::OnError, wrapWeakPersistent(this),
mojom::blink::PaymentErrorReason::UNKNOWN)));
- m_paymentProvider->Init(
- m_clientBinding.CreateInterfacePtrAndBind(),
- mojo::WTFArray<mojom::blink::PaymentMethodDataPtr>::From(
- validatedMethodData),
- mojom::blink::PaymentDetails::From(details),
- mojom::blink::PaymentOptions::From(m_options));
+
+ WTF::Vector<mojom::blink::PaymentMethodDataPtr> methods(
+ validatedMethodData.size());
+ for (size_t i = 0; i < validatedMethodData.size(); ++i) {
+ methods[i] = mojom::blink::PaymentMethodData::New();
+ methods[i]->supported_methods =
+ WTF::Vector<WTF::String>(validatedMethodData[i].supportedMethods);
+ methods[i]->stringified_data = validatedMethodData[i].stringifiedData;
+ }
+ m_paymentProvider->Init(m_clientBinding.CreateInterfacePtrAndBind(),
+ std::move(methods),
+ mojom::blink::PaymentDetails::From(details),
+ mojom::blink::PaymentOptions::From(m_options));
}
void PaymentRequest::contextDestroyed() {

Powered by Google App Engine
This is Rietveld 408576698