Use only first Accept-Language when in Incognito.

Previously, when in Incognito the browser UI language was used for
Accept-Language and navigator.language.

This changes it so that only the first language in the Accept-Language
list is used.

Bug: 1077547
Change-Id: I9d7e6748411e12dfc2969028cce8991840c6c481
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2392440
Commit-Queue: Trevor  Perrier <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Ramin Halavati <[email protected]>
Reviewed-by: Megan Jablonski <[email protected]>
Cr-Commit-Position: refs/heads/master@{#805987}
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc
index 71fdef9..7ba5b3d 100644
--- a/chrome/browser/renderer_preferences_util.cc
+++ b/chrome/browser/renderer_preferences_util.cc
@@ -14,6 +14,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/common/pref_names.h"
+#include "components/language/core/browser/language_prefs.h"
 #include "components/language/core/browser/pref_names.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/browser_accessibility_state.h"
@@ -97,7 +98,9 @@
                               Profile* profile) {
   const PrefService* pref_service = profile->GetPrefs();
   if (profile->IsOffTheRecord()) {
-    prefs->accept_languages = g_browser_process->GetApplicationLocale();
+    // In incognito mode return only the first language.
+    prefs->accept_languages = language::GetFirstLanguage(
+        pref_service->GetString(language::prefs::kAcceptLanguages));
   } else {
     prefs->accept_languages =
         pref_service->GetString(language::prefs::kAcceptLanguages);