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_request_spec.h" | 5 #include "components/payments/content/payment_request_spec.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 // (credit, debit). | 179 // (credit, debit). |
180 for (const mojom::BasicCardNetwork& network : | 180 for (const mojom::BasicCardNetwork& network : |
181 method_data_entry->supported_networks) { | 181 method_data_entry->supported_networks) { |
182 method_data.supported_networks.push_back( | 182 method_data.supported_networks.push_back( |
183 GetBasicCardNetworkName(network)); | 183 GetBasicCardNetworkName(network)); |
184 } | 184 } |
185 for (const mojom::BasicCardType& type : | 185 for (const mojom::BasicCardType& type : |
186 method_data_entry->supported_types) { | 186 method_data_entry->supported_types) { |
187 autofill::CreditCard::CardType card_type = GetBasicCardType(type); | 187 autofill::CreditCard::CardType card_type = GetBasicCardType(type); |
188 method_data.supported_types.insert(card_type); | 188 method_data.supported_types.insert(card_type); |
189 supported_card_types_set_.insert(card_type); | |
190 } | 189 } |
191 | 190 |
192 method_data_vector.push_back(std::move(method_data)); | 191 method_data_vector.push_back(std::move(method_data)); |
193 } | 192 } |
194 | 193 |
195 // TODO(rouslan): Parse card types (credit, debit, prepaid) in data_util, so | |
196 // iOS can use it as well. http://crbug.com/602665 | |
197 data_util::ParseBasicCardSupportedNetworks(method_data_vector, | 194 data_util::ParseBasicCardSupportedNetworks(method_data_vector, |
198 &supported_card_networks_, | 195 &supported_card_networks_, |
199 &basic_card_specified_networks_); | 196 &basic_card_specified_networks_); |
200 supported_card_networks_set_.insert(supported_card_networks_.begin(), | 197 supported_card_networks_set_.insert(supported_card_networks_.begin(), |
201 supported_card_networks_.end()); | 198 supported_card_networks_.end()); |
202 | 199 |
203 // Omitting the card types means all 3 card types are supported. | 200 data_util::ParseSupportedCardTypes(method_data_vector, |
204 if (supported_card_types_set_.empty()) { | 201 &supported_card_types_set_); |
205 supported_card_types_set_.insert(autofill::CreditCard::CARD_TYPE_CREDIT); | |
206 supported_card_types_set_.insert(autofill::CreditCard::CARD_TYPE_DEBIT); | |
207 supported_card_types_set_.insert(autofill::CreditCard::CARD_TYPE_PREPAID); | |
208 } | |
209 | |
210 // Let the user decide whether an unknown card type should be used. | |
211 supported_card_types_set_.insert(autofill::CreditCard::CARD_TYPE_UNKNOWN); | |
212 } | 202 } |
213 | 203 |
214 void PaymentRequestSpec::UpdateSelectedShippingOption(bool after_update) { | 204 void PaymentRequestSpec::UpdateSelectedShippingOption(bool after_update) { |
215 if (!request_shipping()) | 205 if (!request_shipping()) |
216 return; | 206 return; |
217 | 207 |
218 selected_shipping_option_ = nullptr; | 208 selected_shipping_option_ = nullptr; |
219 selected_shipping_option_error_.clear(); | 209 selected_shipping_option_error_.clear(); |
220 if (details().shipping_options.empty()) { | 210 if (details().shipping_options.empty()) { |
221 // No options are provided by the merchant. | 211 // No options are provided by the merchant. |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 // return the cached version. | 262 // return the cached version. |
273 std::pair<std::map<std::string, CurrencyFormatter>::iterator, bool> | 263 std::pair<std::map<std::string, CurrencyFormatter>::iterator, bool> |
274 emplace_result = currency_formatters_.emplace( | 264 emplace_result = currency_formatters_.emplace( |
275 std::piecewise_construct, std::forward_as_tuple(currency_code), | 265 std::piecewise_construct, std::forward_as_tuple(currency_code), |
276 std::forward_as_tuple(currency_code, currency_system, locale_name)); | 266 std::forward_as_tuple(currency_code, currency_system, locale_name)); |
277 | 267 |
278 return &(emplace_result.first->second); | 268 return &(emplace_result.first->second); |
279 } | 269 } |
280 | 270 |
281 } // namespace payments | 271 } // namespace payments |
OLD | NEW |