OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 5 #ifndef UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
6 #define UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 6 #define UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
108 // false to attempt retrieval of the default string. | 108 // false to attempt retrieval of the default string. |
109 virtual bool GetLocalizedString(int message_id, base::string16* value) = 0; | 109 virtual bool GetLocalizedString(int message_id, base::string16* value) = 0; |
110 | 110 |
111 // Returns a font or NULL to attempt retrieval of the default resource. | 111 // Returns a font or NULL to attempt retrieval of the default resource. |
112 virtual scoped_ptr<gfx::Font> GetFont(FontStyle style) = 0; | 112 virtual scoped_ptr<gfx::Font> GetFont(FontStyle style) = 0; |
113 | 113 |
114 protected: | 114 protected: |
115 virtual ~Delegate() {} | 115 virtual ~Delegate() {} |
116 }; | 116 }; |
117 | 117 |
118 struct InitParams { | |
119 base::FilePath main_pak_path; | |
120 base::FilePath scaled_pak_path; | |
oshima
2014/08/07 17:01:10
There can be two pak files for scaled images.
Are
tfarina
2014/08/07 17:12:33
Nope.
tfarina
2014/08/09 16:22:42
Done.
| |
121 std::string pref_locale; | |
122 Delegate* delegate; | |
123 }; | |
tony
2014/08/07 16:29:34
In the future when might need to do something more
| |
124 | |
118 // Initialize the ResourceBundle for this process. Does not take ownership of | 125 // Initialize the ResourceBundle for this process. Does not take ownership of |
119 // the |delegate| value. Returns the language selected. | 126 // the |delegate| value. Returns the language selected. |
120 // NOTE: Mac ignores this and always loads up resources for the language | 127 // NOTE: Mac ignores this and always loads up resources for the language |
121 // defined by the Cocoa UI (i.e., NSBundle does the language work). | 128 // defined by the Cocoa UI (i.e., NSBundle does the language work). |
122 // | 129 // |
123 // TODO(sergeyu): This method also loads common resources (i.e. chrome.pak). | 130 // TODO(sergeyu): This method also loads common resources (i.e. chrome.pak). |
124 // There is no way to specify which resource files are loaded, i.e. names of | 131 // There is no way to specify which resource files are loaded, i.e. names of |
125 // the files are hardcoded in ResourceBundle. Fix it to allow to specify which | 132 // the files are hardcoded in ResourceBundle. Fix it to allow to specify which |
126 // files are loaded (e.g. add a new method in Delegate). | 133 // files are loaded (e.g. add a new method in Delegate). |
127 static std::string InitSharedInstanceWithLocale( | 134 static std::string InitSharedInstanceWithLocale( |
128 const std::string& pref_locale, Delegate* delegate); | 135 const std::string& pref_locale, |
136 Delegate* delegate); | |
129 | 137 |
130 // Same as InitSharedInstanceWithLocale(), but loads only localized resources, | 138 // Same as InitSharedInstanceWithLocale(), but loads only localized resources, |
131 // without default resource packs. | 139 // without default resource packs. |
132 static std::string InitSharedInstanceLocaleOnly( | 140 static std::string InitSharedInstanceLocaleOnly( |
133 const std::string& pref_locale, Delegate* delegate); | 141 const std::string& pref_locale, |
142 Delegate* delegate); | |
134 | 143 |
135 // Initialize the ResourceBundle using the given file region. If |region| is | 144 // Initialize the ResourceBundle using the given file region. If |region| is |
136 // MemoryMappedFile::Region::kWholeFile, the entire |pak_file| is used. | 145 // MemoryMappedFile::Region::kWholeFile, the entire |pak_file| is used. |
137 // |should_load_common_resources| controls whether or not LoadCommonResources | 146 // |should_load_common_resources| controls whether or not LoadCommonResources |
138 // is called. | 147 // is called. |
139 // This allows the use of this function in a sandbox without local file | 148 // This allows the use of this function in a sandbox without local file |
140 // access (as on Android). | 149 // access (as on Android). |
141 static void InitSharedInstanceWithPakFileRegion( | 150 static void InitSharedInstanceWithPakFileRegion( |
142 base::File pak_file, | 151 base::File pak_file, |
143 const base::MemoryMappedFile::Region& region, | 152 const base::MemoryMappedFile::Region& region, |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
296 // Ctor/dtor are private, since we're a singleton. | 305 // Ctor/dtor are private, since we're a singleton. |
297 explicit ResourceBundle(Delegate* delegate); | 306 explicit ResourceBundle(Delegate* delegate); |
298 ~ResourceBundle(); | 307 ~ResourceBundle(); |
299 | 308 |
300 // Shared initialization. | 309 // Shared initialization. |
301 static void InitSharedInstance(Delegate* delegate); | 310 static void InitSharedInstance(Delegate* delegate); |
302 | 311 |
303 // Free skia_images_. | 312 // Free skia_images_. |
304 void FreeImages(); | 313 void FreeImages(); |
305 | 314 |
306 // Load the main resources. | |
307 void LoadCommonResources(); | |
308 | |
309 // Implementation for AddDataPackFromPath and AddOptionalDataPackFromPath, if | 315 // Implementation for AddDataPackFromPath and AddOptionalDataPackFromPath, if |
310 // the pack is not |optional| logs an error on failure to load. | 316 // the pack is not |optional| logs an error on failure to load. |
311 void AddDataPackFromPathInternal(const base::FilePath& path, | 317 void AddDataPackFromPathInternal(const base::FilePath& path, |
312 ScaleFactor scale_factor, | 318 ScaleFactor scale_factor, |
313 bool optional); | 319 bool optional); |
314 | 320 |
315 // Inserts |data_pack| to |data_pack_| and updates |max_scale_factor_| | 321 // Inserts |data_pack| to |data_pack_| and updates |max_scale_factor_| |
316 // accordingly. | 322 // accordingly. |
317 void AddDataPack(DataPack* data_pack); | 323 void AddDataPack(DataPack* data_pack); |
318 | 324 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
421 | 427 |
422 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); | 428 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); |
423 }; | 429 }; |
424 | 430 |
425 } // namespace ui | 431 } // namespace ui |
426 | 432 |
427 // TODO(beng): Someday, maybe, get rid of this. | 433 // TODO(beng): Someday, maybe, get rid of this. |
428 using ui::ResourceBundle; | 434 using ui::ResourceBundle; |
429 | 435 |
430 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 436 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
OLD | NEW |