- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / managed_mode / managed_user_theme.cc
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.
4
5 #include "chrome/browser/managed_mode/managed_user_theme.h"
6
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"
11
12 namespace {
13
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);
19
20 // Map resource ids to the managed user resource ids.
21 int MapToManagedUserResourceIds(int id) {
22   switch (id) {
23     case IDR_THEME_FRAME:
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;
33   }
34   return id;
35 }
36
37 }  // namespace
38
39 ManagedUserTheme::ManagedUserTheme()
40     : CustomThemeSupplier(MANAGED_USER_THEME) {}
41
42 ManagedUserTheme::~ManagedUserTheme() {}
43
44 bool ManagedUserTheme::GetColor(int id, SkColor* color) const {
45   switch (id) {
46     case ThemeProperties::COLOR_FRAME:
47       *color = kDefaultColorFrameManagedUser;
48       return true;
49     case ThemeProperties::COLOR_FRAME_INACTIVE:
50       *color = kDefaultColorFrameManagedUserInactive;
51       return true;
52     case ThemeProperties::COLOR_MANAGED_USER_LABEL:
53       *color = SK_ColorWHITE;
54       return true;
55     case ThemeProperties::COLOR_MANAGED_USER_LABEL_BACKGROUND:
56       *color = kDefaultColorManagedUserLabelBackground;
57       return true;
58   }
59   return false;
60 }
61
62 gfx::Image ManagedUserTheme::GetImageNamed(int id) {
63   if (!HasCustomImage(id))
64     return gfx::Image();
65
66   id = MapToManagedUserResourceIds(id);
67   return ResourceBundle::GetSharedInstance().GetNativeImageNamed(id);
68 }
69
70 bool ManagedUserTheme::HasCustomImage(int id) const {
71   return id != MapToManagedUserResourceIds(id);
72 }