Provide access to user's list of preferred languages
https://bugs.webkit.org/show_bug.cgi?id=76138
Reviewed by Alexey Proskuryakov.
.:
* Source/autotools/symbols.filter: List the new functions.
Source/WebCore:
Test: fast/harness/user-preferred-language.html
* WebCore.exp.in: Export the new functions.
* WebCore.order: Ditto.
* Target.pri: Include new files.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCoreTestSupport.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/Language.cpp:
(WebCore::defaultLanguage): Return userPreferredLanguages[0].
(WebCore::preferredLanguagesOverride): New, return the languages override.
(WebCore::overrideUserPreferredLanguages): New, set the languages override.
(WebCore::userPreferredLanguages): New, return the languages array.
* platform/Language.h:
* platform/blackberry/LocalizedStringsBlackBerry.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* platform/chromium/LanguageChromium.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* platform/efl/LanguageEfl.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* platform/gtk/LanguageGtk.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* platform/mac/Language.mm:
(+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]): Flag the user languages
as invalid.
(WebCore::platformLanguage): Removed.
(WebCore::platformUserPreferredLanguages): New, return the list of user preferred languages.
* platform/qt/LanguageQt.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* platform/win/LanguageWin.cpp:
(WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
(WebCore::platformUserPreferredLanguages): New.
* testing/Internals.cpp:
(WebCore::Internals::userPreferredLanguages): New, return the platform's user preferred languages.
(WebCore::Internals::setUserPreferredLanguages): New, override the user's preferred languages.
* testing/Internals.h:
* testing/Internals.idl: Add userPreferredLanguages.
* testing/js/JSInternalsCustom.cpp:
(WebCore::JSInternals::userPreferredLanguages): New.
(WebCore::JSInternals::setUserPreferredLanguages): New.
* testing/v8/V8InternalsCustom.cpp:
(WebCore::V8Internals::userPreferredLanguagesAccessorGetter): New.
(WebCore::V8Internals::userPreferredLanguagesAccessorSetter): New.
Source/WebKit2:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode the languages array.
(WebKit::WebProcessCreationParameters::decode): Decode the languages array.
* Shared/WebProcessCreationParameters.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
(WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Override user languages array.
(WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
* win/WebKit2.def: Export the new functions.
* win/WebKit2CFLite.def: Ditto.
Tools:
* GNUmakefile.am: Add JSInternalsCustom.cpp.
LayoutTests:
* fast/harness/user-preferred-language-expected.txt: Added.
* fast/harness/user-preferred-language.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc