#include "chrome/browser/prefs/session_startup_pref.h"
#include <stddef.h>
#include <string>
#include "base/values.h"
#include "build/build_config.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h"
#include "components/url_formatter/url_fixer.h"
#if !BUILDFLAG(IS_ANDROID)
#include "chrome/browser/ui/startup/startup_tab.h"
#endif
namespace {
int TypeToPrefValue(SessionStartupPref::Type type) { … }
void URLListToPref(const base::Value::List& url_list,
SessionStartupPref* pref) { … }
}
void SessionStartupPref::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) { … }
SessionStartupPref::Type SessionStartupPref::GetDefaultStartupType() { … }
void SessionStartupPref::SetStartupPref(Profile* profile,
const SessionStartupPref& pref) { … }
void SessionStartupPref::SetStartupPref(PrefService* prefs,
const SessionStartupPref& pref) { … }
SessionStartupPref SessionStartupPref::GetStartupPref(const Profile* profile) { … }
SessionStartupPref SessionStartupPref::GetStartupPref(
const PrefService* prefs) { … }
bool SessionStartupPref::TypeIsManaged(const PrefService* prefs) { … }
bool SessionStartupPref::URLsAreManaged(const PrefService* prefs) { … }
bool SessionStartupPref::TypeHasRecommendedValue(const PrefService* prefs) { … }
bool SessionStartupPref::TypeIsDefault(const PrefService* prefs) { … }
SessionStartupPref::Type SessionStartupPref::PrefValueToType(int pref_value) { … }
SessionStartupPref::SessionStartupPref(Type type) : … { … }
SessionStartupPref::SessionStartupPref(const SessionStartupPref& other) =
default;
SessionStartupPref::~SessionStartupPref() = default;
bool SessionStartupPref::ShouldRestoreLastSession() const { … }
bool SessionStartupPref::ShouldOpenUrls() const { … }
#if !BUILDFLAG(IS_ANDROID)
StartupTabs SessionStartupPref::ToStartupTabs() const { … }
#endif