• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "chromecast/common/cast_resource_delegate.h"
6 
7 #include "base/files/file_path.h"
8 #include "base/path_service.h"
9 #include "ui/gfx/image/image.h"
10 
11 namespace chromecast {
12 
13 namespace {
14 
15 CastResourceDelegate* g_instance = NULL;
16 
17 }  // namespace
18 
19 // static
GetInstance()20 CastResourceDelegate* CastResourceDelegate::GetInstance() {
21   DCHECK(g_instance);
22   return g_instance;
23 }
24 
CastResourceDelegate()25 CastResourceDelegate::CastResourceDelegate() {
26   DCHECK(!g_instance) << "Cannot initialize resource bundle delegate twice.";
27   g_instance = this;
28 }
29 
~CastResourceDelegate()30 CastResourceDelegate::~CastResourceDelegate() {
31   DCHECK_EQ(g_instance, this);
32   g_instance = NULL;
33 }
34 
GetPathForResourcePack(const base::FilePath & pack_path,ui::ScaleFactor scale_factor)35 base::FilePath CastResourceDelegate::GetPathForResourcePack(
36     const base::FilePath& pack_path,
37     ui::ScaleFactor scale_factor) {
38   return pack_path;
39 };
40 
GetPathForLocalePack(const base::FilePath & pack_path,const std::string & locale)41 base::FilePath CastResourceDelegate::GetPathForLocalePack(
42     const base::FilePath& pack_path,
43     const std::string& locale) {
44   base::FilePath product_dir;
45   if (!PathService::Get(base::DIR_MODULE, &product_dir)) {
46     NOTREACHED();
47   }
48   return product_dir.
49       Append(FILE_PATH_LITERAL("chromecast_locales")).
50       Append(FILE_PATH_LITERAL(locale)).
51       AddExtension(FILE_PATH_LITERAL("pak"));
52 };
53 
GetImageNamed(int resource_id)54 gfx::Image CastResourceDelegate::GetImageNamed(int resource_id) {
55   return gfx::Image();
56 };
57 
GetNativeImageNamed(int resource_id,ui::ResourceBundle::ImageRTL rtl)58 gfx::Image CastResourceDelegate::GetNativeImageNamed(
59     int resource_id,
60     ui::ResourceBundle::ImageRTL rtl) {
61   return gfx::Image();
62 };
63 
LoadDataResourceBytes(int resource_id,ui::ScaleFactor scale_factor)64 base::RefCountedStaticMemory* CastResourceDelegate::LoadDataResourceBytes(
65     int resource_id,
66     ui::ScaleFactor scale_factor) {
67   return NULL;
68 };
69 
GetRawDataResource(int resource_id,ui::ScaleFactor scale_factor,base::StringPiece * value)70 bool CastResourceDelegate::GetRawDataResource(int resource_id,
71                                               ui::ScaleFactor scale_factor,
72                                               base::StringPiece* value) {
73   return false;
74 };
75 
GetLocalizedString(int message_id,base::string16 * value)76 bool CastResourceDelegate::GetLocalizedString(int message_id,
77                                               base::string16* value) {
78   ExtraLocaledStringMap::const_iterator it =
79       extra_localized_strings_.find(message_id);
80   if (it != extra_localized_strings_.end()) {
81     *value = it->second;
82     return true;
83   }
84   return false;
85 };
86 
AddExtraLocalizedString(int resource_id,const base::string16 & localized)87 void CastResourceDelegate::AddExtraLocalizedString(
88     int resource_id,
89     const base::string16& localized) {
90   RemoveExtraLocalizedString(resource_id);
91   extra_localized_strings_.insert(std::make_pair(resource_id, localized));
92 }
93 
RemoveExtraLocalizedString(int resource_id)94 void CastResourceDelegate::RemoveExtraLocalizedString(int resource_id) {
95   extra_localized_strings_.erase(resource_id);
96 }
97 
ClearAllExtraLocalizedStrings()98 void CastResourceDelegate::ClearAllExtraLocalizedStrings() {
99   extra_localized_strings_.clear();
100 }
101 
GetFont(ui::ResourceBundle::FontStyle style)102 scoped_ptr<gfx::Font> CastResourceDelegate::GetFont(
103     ui::ResourceBundle::FontStyle style) {
104   return scoped_ptr<gfx::Font>();
105 };
106 
107 }  // namespace chromecast
108