#include "chrome/browser/themes/theme_service_aura_linux.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/custom_theme_supplier.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "ui/color/system_theme.h"
#include "ui/gfx/image/image.h"
#include "ui/linux/linux_ui.h"
#include "ui/linux/linux_ui_factory.h"
#include "ui/native_theme/native_theme_aura.h"
namespace {
ui::SystemTheme ValidateSystemTheme(ui::SystemTheme system_theme) { … }
class SystemThemeLinux : public CustomThemeSupplier { … };
SystemThemeLinux::SystemThemeLinux(PrefService* pref_service,
ui::LinuxUiTheme* linux_ui_theme)
: … { … }
void SystemThemeLinux::StartUsingTheme() { … }
void SystemThemeLinux::StopUsingTheme() { … }
bool SystemThemeLinux::GetColor(int id, SkColor* color) const { … }
bool SystemThemeLinux::GetDisplayProperty(int id, int* result) const { … }
gfx::Image SystemThemeLinux::GetImageNamed(int id) const { … }
bool SystemThemeLinux::HasCustomImage(int id) const { … }
ui::NativeTheme* SystemThemeLinux::GetNativeTheme() const { … }
SystemThemeLinux::~SystemThemeLinux() = default;
}
ThemeServiceAuraLinux::~ThemeServiceAuraLinux() = default;
ui::SystemTheme ThemeServiceAuraLinux::GetDefaultSystemTheme() const { … }
void ThemeServiceAuraLinux::UseTheme(ui::SystemTheme system_theme) { … }
void ThemeServiceAuraLinux::UseSystemTheme() { … }
bool ThemeServiceAuraLinux::IsSystemThemeDistinctFromDefaultTheme() const { … }
bool ThemeServiceAuraLinux::UsingSystemTheme() const { … }
void ThemeServiceAuraLinux::FixInconsistentPreferencesIfNeeded() { … }
ThemeService::BrowserColorScheme ThemeServiceAuraLinux::GetBrowserColorScheme()
const { … }
ui::SystemTheme ThemeServiceAuraLinux::GetSystemThemeForProfile(
const Profile* profile) { … }