// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_MANAGEMENT_FLOW_CONTROLLER_H_ #define CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_MANAGEMENT_FLOW_CONTROLLER_H_ #include <string> #include "base/containers/flat_map.h" #include "base/memory/raw_ptr.h" #include "chrome/browser/ui/views/profiles/profile_management_types.h" #include "chrome/browser/ui/views/profiles/profile_picker_web_contents_host.h" #include "content/public/browser/web_contents.h" class Profile; class ProfileManagementStepController; class ProfilePickerWebContentsHost; // Represents an abstract user facing flow related to profile management. // // A profile management flow is made of a series of steps, implemented as // `ProfileManagementStepController`s and owned by this object. // // Typical usage starts with calling `Init()` on the instantiated flow, which // will register and switch to the first step. Then as the user interacts with // the flow, this controller will handle instantiating and navigating between // the next steps. class ProfileManagementFlowController { … }; #endif // CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_MANAGEMENT_FLOW_CONTROLLER_H_