#include "chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.h"
#include <memory>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/signin_util.h"
#include "chrome/browser/ui/autofill/popup_controller_common.h"
#include "chrome/browser/ui/views/profiles/profile_management_flow_controller.h"
#include "chrome/browser/ui/views/profiles/profile_management_step_controller.h"
#include "chrome/browser/ui/views/profiles/profile_management_types.h"
#include "chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_controller.h"
#include "components/signin/public/base/signin_switches.h"
#include "content/public/browser/web_contents.h"
#include "google_apis/gaia/core_account_id.h"
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
#include "chrome/browser/ui/views/profiles/profile_picker_dice_sign_in_provider.h"
#endif
ProfileManagementFlowControllerImpl::ProfileManagementFlowControllerImpl(
ProfilePickerWebContentsHost* host,
ClearHostClosure clear_host_callback)
: … { … }
ProfileManagementFlowControllerImpl::~ProfileManagementFlowControllerImpl() =
default;
void ProfileManagementFlowControllerImpl::SwitchToIdentityStepsFromPostSignIn(
Profile* signed_in_profile,
const CoreAccountInfo& account_info,
std::unique_ptr<content::WebContents> contents,
StepSwitchFinishedCallback step_switch_finished_callback) { … }
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
void ProfileManagementFlowControllerImpl::
SwitchToIdentityStepsFromAccountSelection(
StepSwitchFinishedCallback step_switch_finished_callback,
signin_metrics::AccessPoint access_point,
base::FilePath profile_path) { … }
#endif
std::unique_ptr<ProfileManagementStepController>
ProfileManagementFlowControllerImpl::CreatePostSignInStep(
Profile* signed_in_profile,
const CoreAccountInfo& account_info,
std::unique_ptr<content::WebContents> contents) { … }
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
std::unique_ptr<ProfileManagementStepController>
ProfileManagementFlowControllerImpl::CreateSamlStep(
Profile* signed_in_profile,
std::unique_ptr<content::WebContents> contents) { … }
void ProfileManagementFlowControllerImpl::HandleSignInCompleted(
Profile* signed_in_profile,
const CoreAccountInfo& account_info,
std::unique_ptr<content::WebContents> contents,
StepSwitchFinishedCallback step_switch_finished_callback) { … }
#endif
void ProfileManagementFlowControllerImpl::SwitchToPostIdentitySteps(
PostHostClearedCallback post_host_cleared_callback,
StepSwitchFinishedCallback step_switch_finished_callback) { … }
void ProfileManagementFlowControllerImpl::AdvanceToNextPostIdentityStep(
StepSwitchFinishedCallback step_switch_finished_callback) { … }
void ProfileManagementFlowControllerImpl::HandleIdentityStepsCompleted(
Profile* profile,
PostHostClearedCallback post_host_cleared_callback,
bool is_continue_callback,
StepSwitchFinishedCallback step_switch_finished_callback) { … }