diff options
author | ofri@google.com <ofri@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 14:53:50 +0000 |
---|---|---|
committer | ofri@google.com <ofri@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 14:53:50 +0000 |
commit | ae5dda7261973def9810e6b4e72346d8d96cf7ca (patch) | |
tree | a8348d039e02d7203fe0b14030c0c720e14d7879 | |
parent | 1f8110b02d73ffdd890f085a42fb6f155bc3073f (diff) | |
download | chromium_src-ae5dda7261973def9810e6b4e72346d8d96cf7ca.zip chromium_src-ae5dda7261973def9810e6b4e72346d8d96cf7ca.tar.gz chromium_src-ae5dda7261973def9810e6b4e72346d8d96cf7ca.tar.bz2 |
Adding support for loading custom locale resources using a command line flag.
Loading pseudo-locale will now be done by passing --lang=myLocale --locale_res_path=path/to/pseudo-locale.pak
This patch doesn't work on Windows.
BUG=73052
TEST=NONE
Review URL: http://codereview.chromium.org/7033022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86426 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/base_switches.cc | 4 | ||||
-rw-r--r-- | base/base_switches.h | 3 | ||||
-rw-r--r-- | ui/base/resource/resource_bundle_posix.cc | 12 |
3 files changed, 17 insertions, 2 deletions
diff --git a/base/base_switches.cc b/base/base_switches.cc index 78f55a7..82202f5 100644 --- a/base/base_switches.cc +++ b/base/base_switches.cc @@ -21,6 +21,10 @@ const char kEnableDCHECK[] = "enable-dcheck"; // Generates full memory crash dump. const char kFullMemoryCrashReport[] = "full-memory-crash-report"; +// Load the locale resources from the given path. When running on Mac/Unix the +// path should point to a locale.pak file. +const char kLocalePak[] = "locale_pak"; + // Suppresses all error dialogs when present. const char kNoErrorDialogs[] = "noerrdialogs"; diff --git a/base/base_switches.h b/base/base_switches.h index 56b6bc9..c261b4a 100644 --- a/base/base_switches.h +++ b/base/base_switches.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -14,6 +14,7 @@ extern const char kDebugOnStart[]; extern const char kDisableBreakpad[]; extern const char kEnableDCHECK[]; extern const char kFullMemoryCrashReport[]; +extern const char kLocalePak[]; extern const char kNoErrorDialogs[]; extern const char kNoMessageBox[]; extern const char kTestChildProcess[]; diff --git a/ui/base/resource/resource_bundle_posix.cc b/ui/base/resource/resource_bundle_posix.cc index d2fe55b..c62983a1 100644 --- a/ui/base/resource/resource_bundle_posix.cc +++ b/ui/base/resource/resource_bundle_posix.cc @@ -4,6 +4,9 @@ #include "ui/base/resource/resource_bundle.h" +#include "base/base_switches.h" +#include "base/command_line.h" +#include "base/file_path.h" #include "base/logging.h" #include "base/stl_util-inl.h" #include "base/string16.h" @@ -112,7 +115,14 @@ std::string ResourceBundle::LoadLocaleResources( const std::string& pref_locale) { DCHECK(!locale_resources_data_) << "locale.pak already loaded"; std::string app_locale = l10n_util::GetApplicationLocale(pref_locale); - FilePath locale_file_path = GetLocaleFilePath(app_locale); + FilePath locale_file_path; + CommandLine *command_line = CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(switches::kLocalePak)) { + locale_file_path = + command_line->GetSwitchValuePath(switches::kLocalePak); + } else { + locale_file_path = GetLocaleFilePath(app_locale); + } if (locale_file_path.empty()) { // It's possible that there is no locale.pak. NOTREACHED(); |