Index: components/payments/content/payment_response_helper.cc |
diff --git a/components/payments/content/payment_response_helper.cc b/components/payments/content/payment_response_helper.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bbec2f34c690b7a6d85e3933ca77eb6e7e8235c1 |
--- /dev/null |
+++ b/components/payments/content/payment_response_helper.cc |
@@ -0,0 +1,54 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "components/payments/content/payment_response_helper.h" |
+ |
+#include "base/strings/string_split.h" |
+#include "base/strings/utf_string_conversions.h" |
+#include "components/autofill/core/browser/autofill_profile.h" |
+#include "components/autofill/core/browser/autofill_type.h" |
+ |
+namespace payments { |
+ |
+PaymentResponseHelper::PaymentResponseHelper(){}; |
+PaymentResponseHelper::~PaymentResponseHelper(){}; |
+ |
+// static |
+mojom::PaymentAddressPtr |
+PaymentResponseHelper::GetMojomPaymentAddressFromAutofillProfile( |
+ const autofill::AutofillProfile* const profile, |
+ const std::string& app_locale) { |
+ mojom::PaymentAddressPtr payment_address = mojom::PaymentAddress::New(); |
+ |
+ payment_address->country = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::ADDRESS_HOME_COUNTRY)); |
+ payment_address->address_line = base::SplitString( |
+ base::UTF16ToUTF8(profile->GetInfo( |
+ autofill::AutofillType(autofill::ADDRESS_HOME_STREET_ADDRESS), |
+ app_locale)), |
+ "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
+ payment_address->region = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::ADDRESS_HOME_STATE)); |
+ payment_address->city = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::ADDRESS_HOME_CITY)); |
+ payment_address->dependent_locality = base::UTF16ToUTF8( |
+ profile->GetRawInfo(autofill::ADDRESS_HOME_DEPENDENT_LOCALITY)); |
+ payment_address->postal_code = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::ADDRESS_HOME_ZIP)); |
+ payment_address->sorting_code = base::UTF16ToUTF8( |
+ profile->GetRawInfo(autofill::ADDRESS_HOME_SORTING_CODE)); |
+ payment_address->language_code = profile->language_code(); |
+ payment_address->organization = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::COMPANY_NAME)); |
+ payment_address->recipient = base::UTF16ToUTF8(profile->GetInfo( |
+ autofill::AutofillType(autofill::NAME_FULL), app_locale)); |
+ |
+ // TODO(crbug.com/705945): Format phone number according to spec. |
+ payment_address->phone = |
+ base::UTF16ToUTF8(profile->GetRawInfo(autofill::PHONE_HOME_WHOLE_NUMBER)); |
+ |
+ return payment_address; |
+} |
+ |
+} // namespace payments |