| 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 LargeBoldFont, | 57 LargeBoldFont, |
| 58 }; | 58 }; |
| 59 | 59 |
| 60 enum ImageRTL { | 60 enum ImageRTL { |
| 61 // Images are flipped in RTL locales. | 61 // Images are flipped in RTL locales. |
| 62 RTL_ENABLED, | 62 RTL_ENABLED, |
| 63 // Images are never flipped. | 63 // Images are never flipped. |
| 64 RTL_DISABLED, | 64 RTL_DISABLED, |
| 65 }; | 65 }; |
| 66 | 66 |
| 67 enum LoadResources { |
| 68 LOAD_COMMON_RESOURCES, |
| 69 DO_NOT_LOAD_COMMON_RESOURCES |
| 70 }; |
| 71 |
| 67 // Delegate class that allows interception of pack file loading and resource | 72 // Delegate class that allows interception of pack file loading and resource |
| 68 // requests. The methods of this class may be called on multiple threads. | 73 // requests. The methods of this class may be called on multiple threads. |
| 69 class Delegate { | 74 class Delegate { |
| 70 public: | 75 public: |
| 71 // Called before a resource pack file is loaded. Return the full path for | 76 // Called before a resource pack file is loaded. Return the full path for |
| 72 // the pack file to continue loading or an empty value to cancel loading. | 77 // the pack file to continue loading or an empty value to cancel loading. |
| 73 // |pack_path| will contain the complete default path for the pack file if | 78 // |pack_path| will contain the complete default path for the pack file if |
| 74 // known or just the pack file name otherwise. | 79 // known or just the pack file name otherwise. |
| 75 virtual base::FilePath GetPathForResourcePack( | 80 virtual base::FilePath GetPathForResourcePack( |
| 76 const base::FilePath& pack_path, | 81 const base::FilePath& pack_path, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 | 122 |
| 118 // Initialize the ResourceBundle for this process. Does not take ownership of | 123 // Initialize the ResourceBundle for this process. Does not take ownership of |
| 119 // the |delegate| value. Returns the language selected. | 124 // the |delegate| value. Returns the language selected. |
| 120 // NOTE: Mac ignores this and always loads up resources for the language | 125 // 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). | 126 // defined by the Cocoa UI (i.e., NSBundle does the language work). |
| 122 // | 127 // |
| 123 // TODO(sergeyu): This method also loads common resources (i.e. chrome.pak). | 128 // 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 | 129 // 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 | 130 // 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). | 131 // files are loaded (e.g. add a new method in Delegate). |
| 132 // |load_resources| controls whether or not LoadCommonResources is called. |
| 127 static std::string InitSharedInstanceWithLocale( | 133 static std::string InitSharedInstanceWithLocale( |
| 128 const std::string& pref_locale, Delegate* delegate); | 134 const std::string& pref_locale, |
| 129 | 135 Delegate* delegate, |
| 130 // Same as InitSharedInstanceWithLocale(), but loads only localized resources, | 136 LoadResources load_resources); |
| 131 // without default resource packs. | |
| 132 static std::string InitSharedInstanceLocaleOnly( | |
| 133 const std::string& pref_locale, Delegate* delegate); | |
| 134 | 137 |
| 135 // Initialize the ResourceBundle using the given file region. If |region| is | 138 // Initialize the ResourceBundle using the given file region. If |region| is |
| 136 // MemoryMappedFile::Region::kWholeFile, the entire |pak_file| is used. | 139 // MemoryMappedFile::Region::kWholeFile, the entire |pak_file| is used. |
| 137 // This allows the use of this function in a sandbox without local file | 140 // This allows the use of this function in a sandbox without local file |
| 138 // access (as on Android). | 141 // access (as on Android). |
| 139 static void InitSharedInstanceWithPakFileRegion( | 142 static void InitSharedInstanceWithPakFileRegion( |
| 140 base::File pak_file, | 143 base::File pak_file, |
| 141 const base::MemoryMappedFile::Region& region); | 144 const base::MemoryMappedFile::Region& region); |
| 142 | 145 |
| 143 // Initialize the ResourceBundle using given data pack path for testing. | 146 // Initialize the ResourceBundle using given data pack path for testing. |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 | 421 |
| 419 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); | 422 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); |
| 420 }; | 423 }; |
| 421 | 424 |
| 422 } // namespace ui | 425 } // namespace ui |
| 423 | 426 |
| 424 // TODO(beng): Someday, maybe, get rid of this. | 427 // TODO(beng): Someday, maybe, get rid of this. |
| 425 using ui::ResourceBundle; | 428 using ui::ResourceBundle; |
| 426 | 429 |
| 427 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 430 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
| OLD | NEW |