summaryrefslogtreecommitdiffstats
path: root/content/ppapi_plugin
diff options
context:
space:
mode:
authorshess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-14 20:34:05 +0000
committershess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-14 20:34:05 +0000
commit0d47aab0125cf1e30d60eb0def9cffaf7af3428c (patch)
treeaadbf620b8aead80018b1f36ac7d1b8555574c11 /content/ppapi_plugin
parenta9194ae95ac61dfd85542c7659f39306d694a021 (diff)
downloadchromium_src-0d47aab0125cf1e30d60eb0def9cffaf7af3428c.zip
chromium_src-0d47aab0125cf1e30d60eb0def9cffaf7af3428c.tar.gz
chromium_src-0d47aab0125cf1e30d60eb0def9cffaf7af3428c.tar.bz2
Flapper has some additional environment expectations.
Flash has some third-party code which depends on additional environment settings over what we pass to ICU. BUG=155396,134911 Review URL: https://chromiumcodereview.appspot.com/11116008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161813 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin')
-rw-r--r--content/ppapi_plugin/ppapi_plugin_main.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/content/ppapi_plugin/ppapi_plugin_main.cc b/content/ppapi_plugin/ppapi_plugin_main.cc
index ed68977..16dc82b 100644
--- a/content/ppapi_plugin/ppapi_plugin_main.cc
+++ b/content/ppapi_plugin/ppapi_plugin_main.cc
@@ -23,6 +23,10 @@
#include "content/public/common/sandbox_init.h"
#endif
+#if defined(OS_POSIX) && !defined(OS_ANDROID)
+#include <stdlib.h>
+#endif
+
#if defined(OS_WIN)
sandbox::TargetServices* g_target_services = NULL;
#else
@@ -53,6 +57,20 @@ int PpapiPluginMain(const content::MainFunctionParams& parameters) {
if (command_line.HasSwitch(switches::kLang)) {
std::string locale = command_line.GetSwitchValueASCII(switches::kLang);
base::i18n::SetICUDefaultLocale(locale);
+
+#if defined(OS_POSIX) && !defined(OS_ANDROID)
+ // TODO(shess): Flash appears to have a POSIX locale dependency
+ // outside of the existing PPAPI ICU support. Certain games hang
+ // while loading, and it seems related to datetime formatting.
+ // http://crbug.com/155396
+ // http://crbug.com/155671
+ //
+ // ICU can accept "en-US" or "en_US", but POSIX wants "en_US".
+ // TODO(shess): "en_US.UTF-8" might be even better.
+ std::replace(locale.begin(), locale.end(), '-', '_');
+ setlocale(LC_ALL, locale.c_str());
+ setenv("LANG", locale.c_str(), 0);
+#endif
}
MessageLoop main_message_loop;