OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "app/resource_bundle.h" | 5 #include "app/resource_bundle.h" |
6 | 6 |
7 #include <atlbase.h> | 7 #include <atlbase.h> |
8 | 8 |
| 9 #include "app/app_paths.h" |
9 #include "app/gfx/font.h" | 10 #include "app/gfx/font.h" |
10 #include "app/l10n_util.h" | 11 #include "app/l10n_util.h" |
11 #include "base/file_util.h" | 12 #include "base/file_util.h" |
12 #include "base/logging.h" | 13 #include "base/logging.h" |
13 #include "base/path_service.h" | 14 #include "base/path_service.h" |
14 #include "base/resource_util.h" | 15 #include "base/resource_util.h" |
15 #include "base/string_piece.h" | 16 #include "base/string_piece.h" |
16 #include "base/win_util.h" | 17 #include "base/win_util.h" |
17 #include "chrome/common/chrome_paths.h" | |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 // Returns the flags that should be passed to LoadLibraryEx. | 21 // Returns the flags that should be passed to LoadLibraryEx. |
22 DWORD GetDataDllLoadFlags() { | 22 DWORD GetDataDllLoadFlags() { |
23 if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA) | 23 if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA) |
24 return LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE | LOAD_LIBRARY_AS_IMAGE_RESOURCE; | 24 return LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE | LOAD_LIBRARY_AS_IMAGE_RESOURCE; |
25 | 25 |
26 return DONT_RESOLVE_DLL_REFERENCES; | 26 return DONT_RESOLVE_DLL_REFERENCES; |
27 } | 27 } |
(...skipping 28 matching lines...) Expand all Loading... |
56 | 56 |
57 // The dll should only have resources, not executable code. | 57 // The dll should only have resources, not executable code. |
58 locale_resources_data_ = LoadLibraryEx(locale_path.value().c_str(), NULL, | 58 locale_resources_data_ = LoadLibraryEx(locale_path.value().c_str(), NULL, |
59 GetDataDllLoadFlags()); | 59 GetDataDllLoadFlags()); |
60 DCHECK(locale_resources_data_ != NULL) << | 60 DCHECK(locale_resources_data_ != NULL) << |
61 "unable to load generated resources"; | 61 "unable to load generated resources"; |
62 } | 62 } |
63 | 63 |
64 FilePath ResourceBundle::GetLocaleFilePath(const std::wstring& pref_locale) { | 64 FilePath ResourceBundle::GetLocaleFilePath(const std::wstring& pref_locale) { |
65 FilePath locale_path; | 65 FilePath locale_path; |
66 PathService::Get(chrome::DIR_LOCALES, &locale_path); | 66 PathService::Get(app::DIR_LOCALES, &locale_path); |
67 | 67 |
68 const std::wstring app_locale = l10n_util::GetApplicationLocale(pref_locale); | 68 const std::wstring app_locale = l10n_util::GetApplicationLocale(pref_locale); |
69 if (app_locale.empty()) | 69 if (app_locale.empty()) |
70 return FilePath(); | 70 return FilePath(); |
71 | 71 |
72 return locale_path.Append(app_locale + L".dll"); | 72 return locale_path.Append(app_locale + L".dll"); |
73 } | 73 } |
74 | 74 |
75 void ResourceBundle::LoadThemeResources() { | 75 void ResourceBundle::LoadThemeResources() { |
76 DCHECK(NULL == theme_data_) << "theme dll already loaded"; | 76 DCHECK(NULL == theme_data_) << "theme dll already loaded"; |
77 std::wstring theme_data_path; | 77 std::wstring theme_data_path; |
78 PathService::Get(chrome::DIR_THEMES, &theme_data_path); | 78 PathService::Get(app::DIR_THEMES, &theme_data_path); |
79 file_util::AppendToPath(&theme_data_path, L"default.dll"); | 79 file_util::AppendToPath(&theme_data_path, L"default.dll"); |
80 | 80 |
81 // The dll should only have resources, not executable code. | 81 // The dll should only have resources, not executable code. |
82 theme_data_ = LoadLibraryEx(theme_data_path.c_str(), NULL, | 82 theme_data_ = LoadLibraryEx(theme_data_path.c_str(), NULL, |
83 GetDataDllLoadFlags()); | 83 GetDataDllLoadFlags()); |
84 DCHECK(theme_data_ != NULL) << "unable to load " << theme_data_path; | 84 DCHECK(theme_data_ != NULL) << "unable to load " << theme_data_path; |
85 } | 85 } |
86 | 86 |
87 /* static */ | 87 /* static */ |
88 bool ResourceBundle::LoadResourceBytes( | 88 bool ResourceBundle::LoadResourceBytes( |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 image = AtlGetStringResourceImage(_AtlBaseModule.GetModuleInstance(), | 149 image = AtlGetStringResourceImage(_AtlBaseModule.GetModuleInstance(), |
150 message_id); | 150 message_id); |
151 if (!image) { | 151 if (!image) { |
152 NOTREACHED() << "unable to find resource: " << message_id; | 152 NOTREACHED() << "unable to find resource: " << message_id; |
153 return std::wstring(); | 153 return std::wstring(); |
154 } | 154 } |
155 } | 155 } |
156 // Copy into a string16 and return. | 156 // Copy into a string16 and return. |
157 return string16(image->achString, image->nLength); | 157 return string16(image->achString, image->nLength); |
158 } | 158 } |
OLD | NEW |