// 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_PROFILES_DELETE_PROFILE_HELPER_H_ #define CHROME_BROWSER_PROFILES_DELETE_PROFILE_HELPER_H_ #include <optional> #include "base/functional/callback_forward.h" #include "base/memory/raw_ref.h" #include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h" #include "chrome/browser/profiles/profile_metrics.h" namespace base { class FilePath; } class Profile; class ProfileManager; class ScopedKeepAlive; // This class offers a few helper functions for profile deletion. Note that the // `DeleteProfileHelper` does not delete actual C++ Profile objects, as this is // done through the `ScopedProfileKeepAlive` mechanism and // `ProfileManager::RemoveProfile()`. // The `DeleteProfileHelper` is responsible for: // - deleting the profile as a user-visible concept: removes it from the // `ProfileAttributesStorage` and deletes the user data on disk. // - creates or loads another profile before the last profile is deleted. class DeleteProfileHelper { … }; #endif // CHROME_BROWSER_PROFILES_DELETE_PROFILE_HELPER_H_