Index: chrome/browser/ui/gtk/gtk_theme_service.cc |
diff --git a/chrome/browser/ui/gtk/gtk_theme_service.cc b/chrome/browser/ui/gtk/gtk_theme_service.cc |
index 76befd6661be937399eacb7a37ab859e3e59f917..9ba14c501ba52c42d65417ffbd9746ba1c20a0fa 100644 |
--- a/chrome/browser/ui/gtk/gtk_theme_service.cc |
+++ b/chrome/browser/ui/gtk/gtk_theme_service.cc |
@@ -17,6 +17,7 @@ |
#include "base/stl_util.h" |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/themes/custom_theme_supplier.h" |
#include "chrome/browser/themes/theme_properties.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
#include "chrome/browser/ui/browser.h" |
@@ -347,10 +348,19 @@ void GtkThemeService::InitThemesFor(content::NotificationObserver* observer) { |
void GtkThemeService::SetTheme(const extensions::Extension* extension) { |
profile()->GetPrefs()->SetBoolean(prefs::kUsesSystemTheme, false); |
+ use_gtk_ = false; |
LoadDefaultValues(); |
ThemeService::SetTheme(extension); |
} |
+void GtkThemeService::SetCustomDefaultTheme( |
+ scoped_refptr<CustomThemeSupplier> theme_supplier) { |
+ profile()->GetPrefs()->SetBoolean(prefs::kUsesSystemTheme, false); |
+ use_gtk_ = false; |
+ LoadDefaultValues(); |
+ ThemeService::SetCustomDefaultTheme(theme_supplier); |
+} |
+ |
void GtkThemeService::UseDefaultTheme() { |
profile()->GetPrefs()->SetBoolean(prefs::kUsesSystemTheme, false); |
use_gtk_ = false; |