#include "chrome/browser/ui/views/payments/contact_info_editor_view_controller.h"
#include <utility>
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/ui/views/payments/validating_textfield.h"
#include "components/autofill/core/browser/address_data_manager.h"
#include "components/autofill/core/browser/autofill_type.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
#include "components/autofill/core/browser/data_model/autofill_structured_address_component.h"
#include "components/autofill/core/browser/geo/autofill_country.h"
#include "components/autofill/core/browser/geo/phone_number_i18n.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/validation.h"
#include "components/autofill/core/common/autofill_constants.h"
#include "components/payments/content/payment_request_spec.h"
#include "components/payments/content/payment_request_state.h"
#include "components/payments/core/payment_request_data_util.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/simple_combobox_model.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/textfield/textfield.h"
namespace payments {
ContactInfoEditorViewController::ContactInfoEditorViewController(
base::WeakPtr<PaymentRequestSpec> spec,
base::WeakPtr<PaymentRequestState> state,
base::WeakPtr<PaymentRequestDialogView> dialog,
BackNavigationType back_navigation_type,
base::OnceClosure on_edited,
base::OnceCallback<void(const autofill::AutofillProfile&)> on_added,
autofill::AutofillProfile* profile,
bool is_incognito)
: … { … }
ContactInfoEditorViewController::~ContactInfoEditorViewController() { … }
bool ContactInfoEditorViewController::IsEditingExistingItem() { … }
std::vector<EditorField>
ContactInfoEditorViewController::GetFieldDefinitions() { … }
std::u16string ContactInfoEditorViewController::GetInitialValueForType(
autofill::FieldType type) { … }
bool ContactInfoEditorViewController::ValidateModelAndSave() { … }
std::unique_ptr<ValidationDelegate>
ContactInfoEditorViewController::CreateValidationDelegate(
const EditorField& field) { … }
std::unique_ptr<ui::ComboboxModel>
ContactInfoEditorViewController::GetComboboxModelForType(
const autofill::FieldType& type) { … }
std::u16string ContactInfoEditorViewController::GetSheetTitle() { … }
base::WeakPtr<PaymentRequestSheetController>
ContactInfoEditorViewController::GetWeakPtr() { … }
void ContactInfoEditorViewController::PopulateProfile(
autofill::AutofillProfile* profile) { … }
bool ContactInfoEditorViewController::GetSheetId(DialogViewID* sheet_id) { … }
std::u16string ContactInfoEditorViewController::GetValueForType(
const autofill::AutofillProfile& profile,
autofill::FieldType type) { … }
ContactInfoEditorViewController::ContactInfoValidationDelegate::
ContactInfoValidationDelegate(const EditorField& field,
const std::string& locale,
ContactInfoEditorViewController* controller)
: … { … }
ContactInfoEditorViewController::ContactInfoValidationDelegate::
~ContactInfoValidationDelegate() { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
ShouldFormat() { … }
std::u16string
ContactInfoEditorViewController::ContactInfoValidationDelegate::Format(
const std::u16string& text) { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
IsValidTextfield(views::Textfield* textfield,
std::u16string* error_message) { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
TextfieldValueChanged(views::Textfield* textfield, bool was_blurred) { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
ValidateTextfield(views::Textfield* textfield,
std::u16string* error_message) { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
IsValidCombobox(ValidatingCombobox* combobox,
std::u16string* error_message) { … }
bool ContactInfoEditorViewController::ContactInfoValidationDelegate::
ComboboxValueChanged(ValidatingCombobox* combobox) { … }
}