summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/chrome_url_request_context.cc
diff options
context:
space:
mode:
authorcira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-17 18:30:53 +0000
committercira@chromium.org <cira@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-17 18:30:53 +0000
commit696044b0f89347690ac2323670a7edf2ad4d2b2a (patch)
tree663da3b9c0bb0cfc7e37950941837c78937ed2e3 /chrome/browser/net/chrome_url_request_context.cc
parentb79d7abdc9e7de5d17beca1ddcbfcd8c20e1cdd4 (diff)
downloadchromium_src-696044b0f89347690ac2323670a7edf2ad4d2b2a.zip
chromium_src-696044b0f89347690ac2323670a7edf2ad4d2b2a.tar.gz
chromium_src-696044b0f89347690ac2323670a7edf2ad4d2b2a.tar.bz2
Load message catalogs on demand when chrome.i18n.getMessage needs them.
1. Added default locale to the url context 2. Removed old code that was uploading catalogs on load (to renderer) 3. Removed message bundle object from Extension class. BUG=27361 TEST=Open Chrome with --lang=sr and load src\chrome\common\extensions\docs\examples\api\i18n\getMessage extension from chrome://extensions page. Click on icon and text in popup should be localized. Review URL: http://codereview.chromium.org/463011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34846 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/chrome_url_request_context.cc')
-rw-r--r--chrome/browser/net/chrome_url_request_context.cc34
1 files changed, 28 insertions, 6 deletions
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc
index 3873748..998afc7 100644
--- a/chrome/browser/net/chrome_url_request_context.cc
+++ b/chrome/browser/net/chrome_url_request_context.cc
@@ -526,9 +526,11 @@ void ChromeURLRequestContextGetter::CleanupOnUIThread() {
}
}
-void ChromeURLRequestContextGetter::OnNewExtensions(const std::string& id,
- const FilePath& path) {
- GetIOContext()->OnNewExtensions(id, path);
+void ChromeURLRequestContextGetter::OnNewExtensions(
+ const std::string& id,
+ const FilePath& path,
+ const std::string default_locale) {
+ GetIOContext()->OnNewExtensions(id, path, default_locale);
}
void ChromeURLRequestContextGetter::OnUnloadedExtension(
@@ -673,6 +675,16 @@ FilePath ChromeURLRequestContext::GetPathForExtension(const std::string& id) {
}
}
+std::string ChromeURLRequestContext::GetDefaultLocaleForExtension(
+ const std::string& id) {
+ ExtensionDefaultLocales::iterator iter = extension_default_locales_.find(id);
+ std::string result;
+ if (iter != extension_default_locales_.end())
+ result = iter->second;
+
+ return result;
+}
+
const std::string& ChromeURLRequestContext::GetUserAgent(
const GURL& url) const {
return webkit_glue::GetUserAgent(url);
@@ -725,10 +737,15 @@ const Blacklist* ChromeURLRequestContext::GetBlacklist() const {
return blacklist_manager_->GetCompiledBlacklist();
}
-void ChromeURLRequestContext::OnNewExtensions(const std::string& id,
- const FilePath& path) {
- if (!is_off_the_record_)
+void ChromeURLRequestContext::OnNewExtensions(
+ const std::string& id,
+ const FilePath& path,
+ const std::string& default_locale) {
+ if (!is_off_the_record_) {
extension_paths_[id] = path;
+ if (!default_locale.empty())
+ extension_default_locales_[id] = default_locale;
+ }
}
void ChromeURLRequestContext::OnUnloadedExtension(const std::string& id) {
@@ -738,6 +755,8 @@ void ChromeURLRequestContext::OnUnloadedExtension(const std::string& id) {
ExtensionPaths::iterator iter = extension_paths_.find(id);
DCHECK(iter != extension_paths_.end());
extension_paths_.erase(iter);
+
+ extension_default_locales_.erase(id);
}
ChromeURLRequestContext::ChromeURLRequestContext(
@@ -851,6 +870,8 @@ ChromeURLRequestContextFactory::ChromeURLRequestContextFactory(Profile* profile)
for (ExtensionList::const_iterator iter = extensions->begin();
iter != extensions->end(); ++iter) {
extension_paths_[(*iter)->id()] = (*iter)->path();
+ if (!(*iter)->default_locale().empty())
+ extension_default_locales_[(*iter)->id()] = (*iter)->default_locale();
}
}
@@ -877,6 +898,7 @@ void ChromeURLRequestContextFactory::ApplyProfileParametersToContext(
context->set_referrer_charset(referrer_charset_);
context->set_cookie_policy_type(cookie_policy_type_);
context->set_extension_paths(extension_paths_);
+ context->set_extension_default_locales(extension_default_locales_);
context->set_user_script_dir_path(user_script_dir_path_);
context->set_host_zoom_map(host_zoom_map_);
context->set_blacklist_manager(blacklist_manager_.get());