Commit 6a5c116f authored by Megan Jablonski's avatar Megan Jablonski Committed by Commit Bot

Use application locale for accept headers in Incognito

Bug: 1077547
Change-Id: I36a18d846e75fd89237e28b777910d88a346e354
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2208545
Commit-Queue: Megan Jablonski <megjablon@chromium.org>
Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
Reviewed-by: default avatarRamin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771149}
parent 8d3658c1
...@@ -1386,17 +1386,26 @@ IN_PROC_BROWSER_TEST_P(NetworkContextConfigurationBrowserTest, ...@@ -1386,17 +1386,26 @@ IN_PROC_BROWSER_TEST_P(NetworkContextConfigurationBrowserTest,
FlushNetworkInterface(); FlushNetworkInterface();
std::string accept_language2, user_agent2; std::string accept_language2, user_agent2;
ASSERT_TRUE(FetchHeaderEcho("accept-language", &accept_language2)); ASSERT_TRUE(FetchHeaderEcho("accept-language", &accept_language2));
EXPECT_EQ(system ? kNoAcceptLanguage : "uk", accept_language2); if (GetProfile()->IsOffTheRecord()) {
EXPECT_EQ(system ? kNoAcceptLanguage : "en-US,en;q=0.9", accept_language2);
} else {
EXPECT_EQ(system ? kNoAcceptLanguage : "uk", accept_language2);
}
ASSERT_TRUE(FetchHeaderEcho("user-agent", &user_agent2)); ASSERT_TRUE(FetchHeaderEcho("user-agent", &user_agent2));
EXPECT_EQ(::GetUserAgent(), user_agent2); EXPECT_EQ(::GetUserAgent(), user_agent2);
// Try a more complicated one, with multiple languages. // Try a more complicated one, with multiple languages.
browser()->profile()->GetPrefs()->SetString(language::prefs::kAcceptLanguages, browser()->profile()->GetPrefs()->SetString(language::prefs::kAcceptLanguages,
"uk, en_US"); "uk, en-US");
FlushNetworkInterface(); FlushNetworkInterface();
std::string accept_language3, user_agent3; std::string accept_language3, user_agent3;
ASSERT_TRUE(FetchHeaderEcho("accept-language", &accept_language3)); ASSERT_TRUE(FetchHeaderEcho("accept-language", &accept_language3));
EXPECT_EQ(system ? kNoAcceptLanguage : "uk,en_US;q=0.9", accept_language3); if (GetProfile()->IsOffTheRecord()) {
EXPECT_EQ(system ? kNoAcceptLanguage : "en-US,en;q=0.9", accept_language3);
} else {
EXPECT_EQ(system ? kNoAcceptLanguage : "uk,en-US;q=0.9,en;q=0.8",
accept_language3);
}
ASSERT_TRUE(FetchHeaderEcho("user-agent", &user_agent3)); ASSERT_TRUE(FetchHeaderEcho("user-agent", &user_agent3));
EXPECT_EQ(::GetUserAgent(), user_agent3); EXPECT_EQ(::GetUserAgent(), user_agent3);
} }
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "components/certificate_transparency/pref_names.h" #include "components/certificate_transparency/pref_names.h"
#include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/language/core/browser/pref_names.h" #include "components/language/core/browser/pref_names.h"
#include "components/language/core/common/locale_util.h"
#include "components/metrics/metrics_pref_names.h" #include "components/metrics/metrics_pref_names.h"
#include "components/pref_registry/pref_registry_syncable.h" #include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_registry_simple.h"
...@@ -413,6 +414,10 @@ void ProfileNetworkContextService::OnThirdPartyCookieBlockingChanged( ...@@ -413,6 +414,10 @@ void ProfileNetworkContextService::OnThirdPartyCookieBlockingChanged(
} }
std::string ProfileNetworkContextService::ComputeAcceptLanguage() const { std::string ProfileNetworkContextService::ComputeAcceptLanguage() const {
if (profile_->IsOffTheRecord()) {
return ComputeAcceptLanguageFromPref(
g_browser_process->GetApplicationLocale());
}
return ComputeAcceptLanguageFromPref(pref_accept_language_.GetValue()); return ComputeAcceptLanguageFromPref(pref_accept_language_.GetValue());
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment