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 "components/payments/content/payment_details_validation.h" | 5 #include "components/payments/content/payment_details_validation.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "components/payments/content/payments_validators.h" | 10 #include "components/payments/content/payments_validators.h" |
11 #include "components/payments/mojom/payment_request.mojom.h" | 11 #include "components/payments/mojom/payment_request.mojom.h" |
12 | 12 |
13 namespace payments { | 13 namespace payments { |
14 namespace { | 14 namespace { |
15 | 15 |
16 // Validates ShippingOption or PaymentItem, which happen to have identical | 16 // Validates ShippingOption or PaymentItem, which happen to have identical |
17 // fields, except for "id", which is present only in ShippingOption. | 17 // fields, except for "id", which is present only in ShippingOption. |
18 template <typename T> | 18 template <typename T> |
19 bool validateShippingOptionOrPaymentItem( | 19 bool validateShippingOptionOrPaymentItem( |
20 const T& item, | 20 const T& item, |
21 const payments::mojom::PaymentItemPtr& total, | 21 const payments::mojom::PaymentItemPtr& total, |
22 std::string* error_message) { | 22 std::string* error_message) { |
23 if (item->label.empty()) { | |
24 *error_message = "Item label required"; | |
25 return false; | |
26 } | |
27 | |
28 if (!item->amount) { | 23 if (!item->amount) { |
29 *error_message = "Currency amount required"; | 24 *error_message = "Currency amount required"; |
30 return false; | 25 return false; |
31 } | 26 } |
32 | 27 |
33 if (item->amount->currency.empty()) { | 28 if (item->amount->currency.empty()) { |
34 *error_message = "Currency code required"; | 29 *error_message = "Currency code required"; |
35 return false; | 30 return false; |
36 } | 31 } |
37 | 32 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 if (!validatePaymentDetailsModifiers(details->modifiers, details->total, | 164 if (!validatePaymentDetailsModifiers(details->modifiers, details->total, |
170 error_message)) | 165 error_message)) |
171 return false; | 166 return false; |
172 } | 167 } |
173 if (!PaymentsValidators::isValidErrorMsgFormat(details->error, error_message)) | 168 if (!PaymentsValidators::isValidErrorMsgFormat(details->error, error_message)) |
174 return false; | 169 return false; |
175 return true; | 170 return true; |
176 } | 171 } |
177 | 172 |
178 } // namespace payments | 173 } // namespace payments |
OLD | NEW |