#include "chrome/browser/ui/passwords/bubble_controllers/manage_passwords_bubble_controller.h"
#include "base/check_op.h"
#include "base/containers/span.h"
#include "base/functional/bind.h"
#include "base/notreached.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/favicon/favicon_service_factory.h"
#include "chrome/browser/password_manager/account_password_store_factory.h"
#include "chrome/browser/password_manager/password_store_utils.h"
#include "chrome/browser/password_manager/profile_password_store_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/ui/passwords/passwords_model_delegate.h"
#include "chrome/browser/ui/passwords/ui_utils.h"
#include "chrome/grit/branded_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/favicon/core/favicon_util.h"
#include "components/password_manager/core/browser/password_feature_manager.h"
#include "components/password_manager/core/browser/password_form.h"
#include "components/password_manager/core/browser/password_form_metrics_recorder.h"
#include "components/password_manager/core/browser/password_store/password_store_interface.h"
#include "components/password_manager/core/browser/password_sync_util.h"
#include "components/password_manager/core/browser/ui/credential_ui_entry.h"
#include "components/signin/public/base/consent_level.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/l10n/l10n_util.h"
metrics_util;
namespace {
PasswordManagementBubbleInteractions;
void LogNoteChangesInPasswordManagementBubble(
const std::optional<std::u16string>& current_note,
const std::optional<std::u16string>& updated_note) { … }
}
ManagePasswordsBubbleController::ManagePasswordsBubbleController(
base::WeakPtr<PasswordsModelDelegate> delegate)
: … { … }
ManagePasswordsBubbleController::~ManagePasswordsBubbleController() { … }
std::u16string ManagePasswordsBubbleController::GetTitle() const { … }
void ManagePasswordsBubbleController::OnManageClicked(
password_manager::ManagePasswordsReferrer referrer) { … }
void ManagePasswordsBubbleController::OnManagePasswordClicked(
password_manager::ManagePasswordsReferrer referrer) { … }
void ManagePasswordsBubbleController::RequestFavicon(
base::OnceCallback<void(const gfx::Image&)> favicon_ready_callback) { … }
ManagePasswordsBubbleController::SyncState
ManagePasswordsBubbleController::GetPasswordSyncState() const { … }
std::u16string ManagePasswordsBubbleController::GetPrimaryAccountEmail() { … }
void ManagePasswordsBubbleController::OnGooglePasswordManagerLinkClicked() { … }
void ManagePasswordsBubbleController::OnMovePasswordLinkClicked() { … }
base::span<std::unique_ptr<password_manager::PasswordForm> const>
ManagePasswordsBubbleController::GetCredentials() const { … }
const password_manager::PasswordForm&
ManagePasswordsBubbleController::GetSingleCredentialDetailsModeCredential()
const { … }
void ManagePasswordsBubbleController::
UpdateDetailsBubbleCredentialInPasswordStore(
password_manager::PasswordForm updated_form) { … }
void ManagePasswordsBubbleController::AuthenticateUserAndDisplayDetailsOf(
password_manager::PasswordForm password_form,
base::OnceCallback<void(bool)> completion) { … }
bool ManagePasswordsBubbleController::UsernameExists(
const std::u16string& username) { … }
bool ManagePasswordsBubbleController::IsOptedInForAccountStorage() const { … }
void ManagePasswordsBubbleController::OnFaviconReady(
base::OnceCallback<void(const gfx::Image&)> favicon_ready_callback,
const favicon_base::FaviconImageResult& result) { … }
void ManagePasswordsBubbleController::ReportInteractions() { … }
scoped_refptr<password_manager::PasswordStoreInterface>
ManagePasswordsBubbleController::PasswordStoreForForm(
const password_manager::PasswordForm& password_form) const { … }
void ManagePasswordsBubbleController::OnUserAuthenticationCompleted(
password_manager::PasswordForm password_form,
base::OnceCallback<void(bool)> completion,
bool authentication_result) { … }