[Title] Change navigator.language dynamically
[Issue#] N/A
[Problem] navigator.language doesn't change after platform's language is changed.
[Cause] Vector for language values is static.
[Solution] Read vconf value whenever navigator.language is requested.
Change-Id: Ie43ca073889a9e2301e5c6fba183561f0544ab40
static Vector<String>& preferredLanguagesOverride()
{
+#if ENABLE(TIZEN_NAVIGATOR_LANGUAGE_STR)
+ Vector<String>& override = *new Vector<String>();
+#else
DEFINE_STATIC_LOCAL(Vector<String>, override, ());
+#endif
return override;
}
#include "PlatformString.h"
#include <locale.h>
+#if ENABLE(TIZEN_NAVIGATOR_LANGUAGE_STR)
+#include <vconf.h>
+#endif
#include <wtf/Vector.h>
namespace WebCore {
static String platformLanguage()
{
#if ENABLE(TIZEN_NAVIGATOR_LANGUAGE_STR)
- char* localeDefault = setlocale(LC_MESSAGES, 0);
+ char* localeDefault = vconf_get_str(VCONFKEY_LANGSET);
+ if (!localeDefault)
+ setlocale(LC_MESSAGES, 0);
#else
char* localeDefault = setlocale(LC_CTYPE, 0);
#endif