#include "chrome/browser/themes/theme_service_factory.h"
#include "base/feature_list.h"
#include "base/no_destructor.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/common/pref_names.h"
#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h"
#include "extensions/browser/extension_prefs_factory.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_registry_factory.h"
#include "ui/base/mojom/themes.mojom.h"
#if BUILDFLAG(IS_WIN)
#include "chrome/browser/themes/theme_helper_win.h"
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
#include "chrome/browser/themes/theme_service_aura_linux.h"
#endif
#if BUILDFLAG(IS_LINUX)
#include "ui/linux/linux_ui_factory.h"
#endif
namespace {
const ThemeHelper& GetThemeHelper() { … }
BASE_FEATURE(…);
}
ThemeService* ThemeServiceFactory::GetForProfile(Profile* profile) { … }
const extensions::Extension* ThemeServiceFactory::GetThemeForProfile(
Profile* profile) { … }
ThemeServiceFactory* ThemeServiceFactory::GetInstance() { … }
ThemeServiceFactory::ThemeServiceFactory()
: … { … }
ThemeServiceFactory::~ThemeServiceFactory() = default;
KeyedService* ThemeServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* profile) const { … }
void ThemeServiceFactory::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) { … }
bool ThemeServiceFactory::ServiceIsCreatedWithBrowserContext() const { … }
void ThemeServiceFactory::BrowserContextDestroyed(
content::BrowserContext* browser_context) { … }