supervised_user_theme.cc revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
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. 4 5#include "chrome/browser/supervised_user/supervised_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 12namespace { 13 14const SkColor kDefaultColorFrameSupervisedUser = SkColorSetRGB(165, 197, 225); 15const SkColor kDefaultColorFrameSupervisedUserInactive = 16 SkColorSetRGB(180, 225, 247); 17const SkColor kDefaultColorSupervisedUserLabelBackground = 18 SkColorSetRGB(108, 167, 210); 19 20// Map resource ids to the supervised user resource ids. 21int MapToSupervisedUserResourceIds(int id) { 22 switch (id) { 23 case IDR_THEME_FRAME: 24#if defined(USE_ASH) && !defined(OS_CHROMEOS) 25 case IDR_THEME_FRAME_DESKTOP: 26#endif 27 return IDR_MANAGED_USER_THEME_FRAME; 28 case IDR_THEME_FRAME_INACTIVE: 29#if defined(USE_ASH) && !defined(OS_CHROMEOS) 30 case IDR_THEME_FRAME_INACTIVE_DESKTOP: 31#endif 32 return IDR_MANAGED_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: 37#endif 38 return IDR_MANAGED_USER_THEME_TAB_BACKGROUND; 39 } 40 return id; 41} 42 43} // namespace 44 45SupervisedUserTheme::SupervisedUserTheme() 46 : CustomThemeSupplier(SUPERVISED_USER_THEME) {} 47 48SupervisedUserTheme::~SupervisedUserTheme() {} 49 50bool SupervisedUserTheme::GetColor(int id, SkColor* color) const { 51 switch (id) { 52 case ThemeProperties::COLOR_FRAME: 53 *color = kDefaultColorFrameSupervisedUser; 54 return true; 55 case ThemeProperties::COLOR_FRAME_INACTIVE: 56 *color = kDefaultColorFrameSupervisedUserInactive; 57 return true; 58 case ThemeProperties::COLOR_SUPERVISED_USER_LABEL: 59 *color = SK_ColorWHITE; 60 return true; 61 case ThemeProperties::COLOR_SUPERVISED_USER_LABEL_BACKGROUND: 62 *color = kDefaultColorSupervisedUserLabelBackground; 63 return true; 64 } 65 return false; 66} 67 68gfx::Image SupervisedUserTheme::GetImageNamed(int id) { 69 if (!HasCustomImage(id)) 70 return gfx::Image(); 71 72 id = MapToSupervisedUserResourceIds(id); 73 return ResourceBundle::GetSharedInstance().GetNativeImageNamed(id); 74} 75 76bool SupervisedUserTheme::HasCustomImage(int id) const { 77 return id != MapToSupervisedUserResourceIds(id); 78} 79