#include "chrome/browser/ui/startup/web_app_info_recorder_utils.h"
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "base/barrier_closure.h"
#include "base/containers/flat_map.h"
#include "base/files/file_path.h"
#include "base/files/important_file_writer.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/json/json_string_value_serializer.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/keep_alive/profile_keep_alive_types.h"
#include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h"
#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/web_applications/app_browser_controller.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "components/keep_alive_registry/keep_alive_types.h"
#include "components/keep_alive_registry/scoped_keep_alive.h"
namespace chrome {
namespace startup {
namespace {
class GetWebApps { … };
void GetWebApps::Start(const base::FilePath& output_file,
const base::FilePath& profile_base_name) { … }
void GetWebApps::SerializeAndScheduleWrite(const base::Value& output_info) { … }
base::Value GetWebApps::GetInstalledWebApps() { … }
base::Value GetWebApps::GetOpenWebApps() { … }
void GetWebApps::OnProfileLoaded(base::RepeatingClosure callback,
Profile* profile) { … }
void GetWebApps::FetchWebAppsAndWriteToDisk() { … }
}
void WriteWebAppsToFile(const base::FilePath& output_file,
const base::FilePath& profile_base_name) { … }
}
}