Index: chrome/browser/themes/theme_service.cc |
diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc |
index 5038dff43fda6cc10bde33a201bdca4723832f23..2d06e3be5fdb66c241fdbac4cac21388897b0c83 100644 |
--- a/chrome/browser/themes/theme_service.cc |
+++ b/chrome/browser/themes/theme_service.cc |
@@ -13,7 +13,6 @@ |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/extensions/extension_system.h" |
-#include "chrome/browser/managed_mode/managed_user_theme.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/themes/browser_theme_pack.h" |
#include "chrome/browser/themes/custom_theme_supplier.h" |
@@ -30,6 +29,12 @@ |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/gfx/image/image_skia.h" |
+#if defined(ENABLE_MANAGED_USERS) |
+#include "chrome/browser/managed_mode/managed_user_service.h" |
+#include "chrome/browser/managed_mode/managed_user_service_factory.h" |
+#include "chrome/browser/managed_mode/managed_user_theme.h" |
Bernhard Bauer
2013/08/08 15:12:45
I'm pretty sure this is never built on a platform
Adrian Kuegel
2013/08/08 15:26:35
Right, I didn't notice that the ManagedUserTheme i
|
+#endif |
+ |
#if defined(OS_WIN) |
#include "ui/base/win/shell.h" |
#endif |
@@ -77,7 +82,8 @@ ThemeService::ThemeService() |
: ready_(false), |
rb_(ResourceBundle::GetSharedInstance()), |
profile_(NULL), |
- number_of_infobars_(0) { |
+ number_of_infobars_(0), |
+ weak_ptr_factory_(this) { |
} |
ThemeService::~ThemeService() { |
@@ -87,6 +93,11 @@ ThemeService::~ThemeService() { |
void ThemeService::Init(Profile* profile) { |
DCHECK(CalledOnValidThread()); |
profile_ = profile; |
+#if defined(ENABLE_MANAGED_USERS) |
+ ManagedUserServiceFactory::GetForProfile(profile)->AddManagedUserInitCallback( |
+ base::Bind(&ThemeService::SetManagedUserTheme, |
+ weak_ptr_factory_.GetWeakPtr())); |
+#endif |
LoadThemePrefs(); |