#include "components/autofill/core/browser/ui/address_combobox_model.h"
#include <memory>
#include "base/memory/raw_ptr.h"
#include "base/observer_list.h"
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/combobox_model_observer.h"
#include "ui/gfx/text_elider.h"
namespace autofill {
namespace {
constexpr size_t kNbHeaderEntries = …;
}
AddressComboboxModel::AddressComboboxModel(
const PersonalDataManager& personal_data_manager,
const std::string& app_locale,
const std::string& default_selected_guid)
: … { … }
AddressComboboxModel::~AddressComboboxModel() = default;
size_t AddressComboboxModel::GetItemCount() const { … }
std::u16string AddressComboboxModel::GetItemAt(size_t index) const { … }
bool AddressComboboxModel::IsItemSeparatorAt(size_t index) const { … }
std::optional<size_t> AddressComboboxModel::GetDefaultIndex() const { … }
size_t AddressComboboxModel::AddNewProfile(const AutofillProfile& profile) { … }
std::string AddressComboboxModel::GetItemIdentifierAt(size_t index) { … }
std::optional<size_t> AddressComboboxModel::GetIndexOfIdentifier(
const std::string& identifier) const { … }
void AddressComboboxModel::UpdateAddresses() { … }
}