1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/managed_mode/managed_user_theme.h"
7 #include "chrome/browser/themes/theme_properties.h"
8 #include "grit/theme_resources.h"
9 #include "ui/base/resource/resource_bundle.h"
10 #include "ui/gfx/image/image.h"
14 const SkColor kDefaultColorFrameManagedUser = SkColorSetRGB(165, 197, 225);
15 const SkColor kDefaultColorFrameManagedUserInactive =
16 SkColorSetRGB(180, 225, 247);
17 const SkColor kDefaultColorManagedUserLabelBackground =
18 SkColorSetRGB(108, 167, 210);
20 // Map resource ids to the managed user resource ids.
21 int MapToManagedUserResourceIds(int id) {
24 case IDR_THEME_FRAME_WIN:
25 return IDR_MANAGED_USER_THEME_FRAME;
26 case IDR_THEME_FRAME_INACTIVE:
27 case IDR_THEME_FRAME_INACTIVE_WIN:
28 return IDR_MANAGED_USER_THEME_FRAME_INACTIVE;
29 case IDR_THEME_TAB_BACKGROUND:
30 case IDR_THEME_TAB_BACKGROUND_V:
31 case IDR_THEME_TAB_BACKGROUND_WIN:
32 return IDR_MANAGED_USER_THEME_TAB_BACKGROUND;
39 ManagedUserTheme::ManagedUserTheme()
40 : CustomThemeSupplier(MANAGED_USER_THEME) {}
42 ManagedUserTheme::~ManagedUserTheme() {}
44 bool ManagedUserTheme::GetColor(int id, SkColor* color) const {
46 case ThemeProperties::COLOR_FRAME:
47 *color = kDefaultColorFrameManagedUser;
49 case ThemeProperties::COLOR_FRAME_INACTIVE:
50 *color = kDefaultColorFrameManagedUserInactive;
52 case ThemeProperties::COLOR_MANAGED_USER_LABEL:
53 *color = SK_ColorWHITE;
55 case ThemeProperties::COLOR_MANAGED_USER_LABEL_BACKGROUND:
56 *color = kDefaultColorManagedUserLabelBackground;
62 gfx::Image ManagedUserTheme::GetImageNamed(int id) {
63 if (!HasCustomImage(id))
66 id = MapToManagedUserResourceIds(id);
67 return ResourceBundle::GetSharedInstance().GetNativeImageNamed(id);
70 bool ManagedUserTheme::HasCustomImage(int id) const {
71 return id != MapToManagedUserResourceIds(id);