1 // Copyright 2014 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/supervised_user/supervised_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 kDefaultColorFrameSupervisedUser
= SkColorSetRGB(165, 197, 225);
15 const SkColor kDefaultColorFrameSupervisedUserInactive
=
16 SkColorSetRGB(180, 225, 247);
17 const SkColor kDefaultColorSupervisedUserLabelBackground
=
18 SkColorSetRGB(108, 167, 210);
20 // Map resource ids to the supervised user resource ids.
21 int MapToSupervisedUserResourceIds(int id
) {
24 #if defined(USE_ASH) && !defined(OS_CHROMEOS)
25 case IDR_THEME_FRAME_DESKTOP
:
27 return IDR_SUPERVISED_USER_THEME_FRAME
;
28 case IDR_THEME_FRAME_INACTIVE
:
29 #if defined(USE_ASH) && !defined(OS_CHROMEOS)
30 case IDR_THEME_FRAME_INACTIVE_DESKTOP
:
32 return IDR_SUPERVISED_USER_THEME_FRAME_INACTIVE
;
33 case IDR_THEME_TAB_BACKGROUND
:
34 case IDR_THEME_TAB_BACKGROUND_V
:
35 #if defined(USE_ASH) && !defined(OS_CHROMEOS)
36 case IDR_THEME_TAB_BACKGROUND_DESKTOP
:
38 return IDR_SUPERVISED_USER_THEME_TAB_BACKGROUND
;
45 SupervisedUserTheme::SupervisedUserTheme()
46 : CustomThemeSupplier(SUPERVISED_USER_THEME
) {}
48 SupervisedUserTheme::~SupervisedUserTheme() {}
50 bool SupervisedUserTheme::GetColor(int id
, SkColor
* color
) const {
52 case ThemeProperties::COLOR_FRAME
:
53 *color
= kDefaultColorFrameSupervisedUser
;
55 case ThemeProperties::COLOR_FRAME_INACTIVE
:
56 *color
= kDefaultColorFrameSupervisedUserInactive
;
58 case ThemeProperties::COLOR_SUPERVISED_USER_LABEL
:
59 *color
= SK_ColorWHITE
;
61 case ThemeProperties::COLOR_SUPERVISED_USER_LABEL_BACKGROUND
:
62 *color
= kDefaultColorSupervisedUserLabelBackground
;
68 gfx::Image
SupervisedUserTheme::GetImageNamed(int id
) {
69 if (!HasCustomImage(id
))
72 id
= MapToSupervisedUserResourceIds(id
);
73 return ResourceBundle::GetSharedInstance().GetNativeImageNamed(id
);
76 bool SupervisedUserTheme::HasCustomImage(int id
) const {
77 return id
!= MapToSupervisedUserResourceIds(id
);