| Index: chrome/browser/password_manager/account_chooser_infobar_delegate_android.cc
|
| diff --git a/chrome/browser/password_manager/account_chooser_infobar_delegate_android.cc b/chrome/browser/password_manager/account_chooser_infobar_delegate_android.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b5fd0cb4e87c088499f106927842deb5f8cdcc1a
|
| --- /dev/null
|
| +++ b/chrome/browser/password_manager/account_chooser_infobar_delegate_android.cc
|
| @@ -0,0 +1,46 @@
|
| +// Copyright 2015 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 "chrome/browser/password_manager/account_chooser_infobar_delegate_android.h"
|
| +
|
| +#include <cstddef>
|
| +
|
| +#include "components/autofill/core/common/password_form.h"
|
| +#include "components/password_manager/content/common/credential_manager_types.h"
|
| +
|
| +AccountChooserInfoBarDelegateAndroid::AccountChooserInfoBarDelegateAndroid(
|
| + ManagePasswordsUIController* ui_controller)
|
| + : ui_controller_(ui_controller) {
|
| +}
|
| +
|
| +void AccountChooserInfoBarDelegateAndroid::choose_credential(
|
| + unsigned int credential_index,
|
| + password_manager::CredentialType credential_type) {
|
| + using namespace password_manager;
|
| + const size_t federated_credentials_size =
|
| + ui_controller_->federated_credentials_forms().size();
|
| + const size_t local_credentials_size =
|
| + ui_controller_->local_credentials_forms().size();
|
| + autofill::PasswordForm* password_form = nullptr;
|
| + if (credential_type == CredentialType::CREDENTIAL_TYPE_LOCAL &&
|
| + credential_index < local_credentials_size) {
|
| + password_form = ui_controller_->local_credentials_forms()[credential_index];
|
| + } else if (credential_type == CredentialType::CREDENTIAL_TYPE_FEDERATED &&
|
| + credential_index < federated_credentials_size) {
|
| + password_form =
|
| + ui_controller_->federated_credentials_forms()[credential_index];
|
| + }
|
| + if (password_form)
|
| + ui_controller_->ChooseCredential(*password_form, credential_type);
|
| +}
|
| +
|
| +AccountChooserInfoBarDelegateAndroid*
|
| +AccountChooserInfoBarDelegateAndroid::AsAccountChooserInfoBarDelegateAndroid() {
|
| + return this;
|
| +}
|
| +
|
| +infobars::InfoBarDelegate::Type
|
| +AccountChooserInfoBarDelegateAndroid::GetInfoBarType() const {
|
| + return PAGE_ACTION_TYPE;
|
| +}
|
|
|