| Index: chrome/browser/android/preferences/pref_service_bridge.cc
|
| diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
|
| index 7d387cd5ba5e5dd989ebaffdc9c88d920eab3ac9..6846e0318c83cb4e8df3c49321959c30e393f6e2 100644
|
| --- a/chrome/browser/android/preferences/pref_service_bridge.cc
|
| +++ b/chrome/browser/android/preferences/pref_service_bridge.cc
|
| @@ -1096,6 +1096,9 @@ bool PrefServiceBridge::RegisterPrefServiceBridge(JNIEnv* env) {
|
| }
|
|
|
| // static
|
| +// This logic should be kept in sync with prependToAcceptLanguagesIfNecessary in
|
| +// chrome/android/java/src/org/chromium/chrome/browser/
|
| +// physicalweb/PwsClientImpl.java
|
| void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary(
|
| const std::string& locale,
|
| std::string* accept_languages) {
|
| @@ -1121,6 +1124,9 @@ void PrefServiceBridge::PrependToAcceptLanguagesIfNecessary(
|
| std::vector<std::string> parts;
|
| parts.push_back(language_region);
|
| // If language is not in the accept languages list, also add language code.
|
| + // This will work with the IDS_ACCEPT_LANGUAGE localized strings bundled
|
| + // with Chrome but may fail on arbitrary lists of language tags due to
|
| + // differences in case and whitespace.
|
| if (accept_languages->find(language + ",") == std::string::npos &&
|
| !std::equal(language.rbegin(), language.rend(),
|
| accept_languages->rbegin())) {
|
|
|