From c76b9c6567e2aca9e26edc317ff8b971fe63c195 Mon Sep 17 00:00:00 2001 From: uazo <29201891+uazo@users.noreply.github.com> Date: Thu, 7 Apr 2022 21:18:02 +0200 Subject: [PATCH] fix the lack of use of the useragent passed by the user (#1943) with reduced user agent flag active Co-authored-by: Carmelo Messina --- build/patches/User-agent-customization.patch | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index f243acfd..fc2e4a3e 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -31,14 +31,14 @@ to use the flag in the hamburger menu to navigate with a custom useragent leavin chrome/common/pref_names.cc | 13 ++ chrome/common/pref_names.h | 8 + .../widget/RadioButtonWithEditText.java | 11 + - .../embedder_support/user_agent_utils.cc | 4 + + .../embedder_support/user_agent_utils.cc | 11 + .../navigation_controller_android.cc | 4 + .../navigation_controller_android.h | 1 + .../renderer_host/render_process_host_impl.cc | 1 + .../browser/web_contents/web_contents_impl.cc | 4 + .../framehost/NavigationControllerImpl.java | 3 +- content/renderer/render_thread_impl.cc | 1 - - 31 files changed, 739 insertions(+), 14 deletions(-) + 31 files changed, 746 insertions(+), 14 deletions(-) create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java @@ -1073,7 +1073,21 @@ diff --git a/components/browser_ui/widget/android/java/src/org/chromium/componen diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc -@@ -513,6 +513,10 @@ blink::UserAgentMetadata GetUserAgentMetadata(PrefService* pref_service) { +@@ -347,6 +347,13 @@ std::string GetUserAgent( + + std::string GetReducedUserAgent( + ForceMajorVersionToMinorPosition force_major_to_minor) { ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (command_line->HasSwitch(kUserAgent)) { ++ std::string ua = command_line->GetSwitchValueASCII(kUserAgent); ++ if (net::HttpUtil::IsValidHeaderValue(ua)) ++ return ua; ++ LOG(WARNING) << "Ignored invalid value for flag --" << kUserAgent; ++ } + return content::GetReducedUserAgent( + base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kUseMobileUserAgent), +@@ -513,6 +520,10 @@ blink::UserAgentMetadata GetUserAgentMetadata(PrefService* pref_service) { policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled); ua_options.force_major_to_minor = GetMajorToMinorFromPrefs(pref_service); }