Hide userAgentData model (#11932)

* Hide userAgentData model

* lint

* nits
This commit is contained in:
Mark Pilgrim
2022-01-31 16:24:52 -05:00
committed by GitHub
parent d49880d222
commit fb20d5ed8b
3 changed files with 38 additions and 0 deletions
@@ -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());
}
@@ -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
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<!-- navigator.userAgentData test -->
<html>
<head>
<title>fail</title>
<meta charset="utf-8">
</head>
<body>
<script>
navigator.userAgentData.getHighEntropyValues(
["model"]).then(ua => {
if (ua.model == "") {
document.title = "pass";
}
});
</script>
</body>
</html>