Chromium Code Reviews| Index: chrome/browser/themes/theme_service.cc |
| diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc |
| index fc5c4304a5e31b23549be5169539dc9a01e359e7..ffe7b526d81e2bf65d00849c9bedb156b68c30d2 100644 |
| --- a/chrome/browser/themes/theme_service.cc |
| +++ b/chrome/browser/themes/theme_service.cc |
| @@ -13,6 +13,8 @@ |
| #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_service.h" |
| +#include "chrome/browser/managed_mode/managed_user_service_factory.h" |
| #include "chrome/browser/managed_mode/managed_user_theme.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/themes/browser_theme_pack.h" |
| @@ -77,7 +79,8 @@ ThemeService::ThemeService() |
| : ready_(false), |
| rb_(ResourceBundle::GetSharedInstance()), |
| profile_(NULL), |
| - number_of_infobars_(0) { |
| + number_of_infobars_(0), |
| + weak_ptr_factory_(this) { |
| } |
| ThemeService::~ThemeService() { |
| @@ -88,6 +91,9 @@ void ThemeService::Init(Profile* profile) { |
| DCHECK(CalledOnValidThread()); |
| profile_ = profile; |
| + ManagedUserServiceFactory::GetForProfile(profile)->AddInitCallback(base::Bind( |
| + &ThemeService::OnManagedUserInitialized, weak_ptr_factory_.GetWeakPtr())); |
| + |
| LoadThemePrefs(); |
| if (!ready_) { |
| @@ -460,6 +466,13 @@ void ThemeService::SetManagedUserTheme() { |
| SetCustomDefaultTheme(new ManagedUserTheme); |
| } |
| +void ThemeService::OnManagedUserInitialized() { |
| + if (theme_supplier_.get() || !IsManagedUser()) |
|
pkotwicz
2013/08/09 14:23:02
This code is temporary. However, please add a comm
Adrian Kuegel
2013/08/09 15:43:01
Done.
|
| + return; |
| + |
| + SetManagedUserTheme(); |
| +} |
| + |
| void ThemeService::OnInfobarDisplayed() { |
| number_of_infobars_++; |
| } |