| Index: chrome/browser/themes/theme_service.cc | 
| diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc | 
| index 886521a65c184444b75aacb7bac4d77d0a0a2310..cecfd45905cb8345fd607d00210d32e1533e012f 100644 | 
| --- a/chrome/browser/themes/theme_service.cc | 
| +++ b/chrome/browser/themes/theme_service.cc | 
| @@ -16,7 +16,6 @@ | 
| #include "chrome/browser/chrome_notification_types.h" | 
| #include "chrome/browser/extensions/extension_service.h" | 
| #include "chrome/browser/profiles/profile.h" | 
| -#include "chrome/browser/supervised_user/supervised_user_theme.h" | 
| #include "chrome/browser/themes/browser_theme_pack.h" | 
| #include "chrome/browser/themes/custom_theme_supplier.h" | 
| #include "chrome/browser/themes/theme_properties.h" | 
| @@ -36,6 +35,10 @@ | 
| #include "ui/base/resource/resource_bundle.h" | 
| #include "ui/gfx/image/image_skia.h" | 
|  | 
| +#if defined(ENABLE_MANAGED_USERS) | 
| +#include "chrome/browser/supervised_user/supervised_user_theme.h" | 
| +#endif | 
| + | 
| #if defined(OS_WIN) | 
| #include "ui/base/win/shell.h" | 
| #endif | 
| @@ -168,6 +171,7 @@ SkColor ThemeService::GetColor(int id) const { | 
| return IncreaseLightness(GetColor(Properties::COLOR_NTP_TEXT), 0.86); | 
| case Properties::COLOR_NTP_TEXT_LIGHT: | 
| return IncreaseLightness(GetColor(Properties::COLOR_NTP_TEXT), 0.40); | 
| +#if defined(ENABLE_MANAGED_USERS) | 
| case Properties::COLOR_SUPERVISED_USER_LABEL: | 
| return color_utils::GetReadableColor( | 
| SK_ColorWHITE, | 
| @@ -180,6 +184,7 @@ SkColor ThemeService::GetColor(int id) const { | 
| GetColor(Properties::COLOR_SUPERVISED_USER_LABEL_BACKGROUND), | 
| SK_ColorBLACK, | 
| 230); | 
| +#endif | 
| case Properties::COLOR_STATUS_BAR_TEXT: { | 
| // A long time ago, we blended the toolbar and the tab text together to | 
| // get the status bar text because, at the time, our text rendering in | 
| @@ -395,10 +400,12 @@ void ThemeService::RemoveUnusedThemes(bool ignore_infobars) { | 
| void ThemeService::UseDefaultTheme() { | 
| if (ready_) | 
| content::RecordAction(UserMetricsAction("Themes_Reset")); | 
| +#if defined(ENABLE_MANAGED_USERS) | 
| if (IsSupervisedUser()) { | 
| SetSupervisedUserTheme(); | 
| return; | 
| } | 
| +#endif | 
| ClearAllThemeData(); | 
| NotifyThemeChanged(); | 
| } | 
| @@ -454,10 +461,15 @@ void ThemeService::LoadThemePrefs() { | 
|  | 
| std::string current_id = GetThemeID(); | 
| if (current_id == kDefaultThemeID) { | 
| +#if defined(ENABLE_MANAGED_USERS) | 
| // Supervised users have a different default theme. | 
| -    if (IsSupervisedUser()) | 
| +    if (IsSupervisedUser()) { | 
| SetSupervisedUserTheme(); | 
| -    else if (ShouldInitWithSystemTheme()) | 
| +      set_ready(); | 
| +      return; | 
| +    } | 
| +#endif | 
| +    if (ShouldInitWithSystemTheme()) | 
| UseSystemTheme(); | 
| else | 
| UseDefaultTheme(); | 
| @@ -604,6 +616,7 @@ void ThemeService::BuildFromExtension(const Extension* extension) { | 
| SwapThemeSupplier(pack); | 
| } | 
|  | 
| +#if defined(ENABLE_MANAGED_USERS) | 
| bool ThemeService::IsSupervisedUser() const { | 
| return profile_->IsSupervised(); | 
| } | 
| @@ -611,6 +624,7 @@ bool ThemeService::IsSupervisedUser() const { | 
| void ThemeService::SetSupervisedUserTheme() { | 
| SetCustomDefaultTheme(new SupervisedUserTheme); | 
| } | 
| +#endif | 
|  | 
| void ThemeService::OnInfobarDisplayed() { | 
| number_of_infobars_++; | 
|  |