From 9d3862f3a640e7887ccfe81558b562049a73bbaa Mon Sep 17 00:00:00 2001 From: brave-builds Date: Tue, 1 Feb 2022 17:55:16 +0000 Subject: [PATCH] Uplift of #11932 (squashed) to beta --- ...navigator_useragent_farbling_browsertest.cc | 12 ++++++++++++ chromium_src/content/common/user_agent.cc | 8 ++++++++ test/data/navigator/useragentdata.html | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 test/data/navigator/useragentdata.html diff --git a/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc b/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc index 3830aa451f54..1f9782499c0a 100644 --- a/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc +++ b/browser/farbling/brave_navigator_useragent_farbling_browsertest.cc @@ -35,7 +35,9 @@ using brave_shields::ControlType; using content::TitleWatcher; +namespace { const char kUserAgentScript[] = "navigator.userAgent"; +} class BraveNavigatorUserAgentFarblingBrowserTest : public InProcessBrowserTest { public: @@ -231,3 +233,13 @@ IN_PROC_BROWSER_TEST_F(BraveNavigatorUserAgentFarblingBrowserTest, auto off_ua_b2 = EvalJs(contents(), kUserAgentScript); EXPECT_EQ(off_ua_b.ExtractString(), off_ua_b2); } + +// Tests results of farbling user agent metadata +IN_PROC_BROWSER_TEST_F(BraveNavigatorUserAgentFarblingBrowserTest, + FarbleNavigatorUserAgentModel) { + GURL url_b = https_server()->GetURL("b.com", "/navigator/useragentdata.html"); + NavigateToURLUntilLoadStop(url_b); + std::u16string expected_title(u"pass"); + TitleWatcher watcher(contents(), expected_title); + EXPECT_EQ(expected_title, watcher.WaitAndGetTitle()); +} diff --git a/chromium_src/content/common/user_agent.cc b/chromium_src/content/common/user_agent.cc index 9d802ed7c3b5..23717289fe14 100644 --- a/chromium_src/content/common/user_agent.cc +++ b/chromium_src/content/common/user_agent.cc @@ -5,9 +5,17 @@ #include "content/public/common/user_agent.h" +namespace content { +std::string BuildModelInfo() { + return std::string(); +} +} // namespace content + #define BRAVE_GET_ANDROID_OS_INFO \ include_android_model = IncludeAndroidModel::Exclude; +#define BuildModelInfo BuildModelInfo_ChromiumImpl #include "src/content/common/user_agent.cc" +#undef BuildModelInfo_ChromiumImpl #undef BRAVE_GET_ANDROID_OS_INFO diff --git a/test/data/navigator/useragentdata.html b/test/data/navigator/useragentdata.html new file mode 100644 index 000000000000..1dfcf7d22d87 --- /dev/null +++ b/test/data/navigator/useragentdata.html @@ -0,0 +1,18 @@ + + + + + fail + + + + + +