Commit 16557148 authored by Makoto Shimazu's avatar Makoto Shimazu Committed by Commit Bot

Check if DNT header is set on browser_test by using /echoheader?DNT

Previously ChromeDoNotTrackTest only tested updates in RendererPreference
instead of issuing actual network request. This CL is to change the test to send
a request to check if the header is sent with respecting to the preference.

Bug: 853085
Change-Id: I62d7eb88b3fea14db68baf5a23d1c44b4e8ab8db
Reviewed-on: https://chromium-review.googlesource.com/1164862Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581173}
parent 9fa04fb8
......@@ -18,30 +18,47 @@ namespace {
class ChromeDoNotTrackTest : public InProcessBrowserTest {
protected:
void TestDoNoTrack(bool enabled) {
ASSERT_TRUE(embedded_test_server()->Start());
void SetEnableDoNotTrack(bool enabled) {
PrefService* prefs = browser()->profile()->GetPrefs();
prefs->SetBoolean(prefs::kEnableDoNotTrack, enabled);
}
GURL url = embedded_test_server()->GetURL("/echo");
ui_test_utils::NavigateToURL(browser(), url);
EXPECT_EQ(enabled, browser()
->tab_strip_model()
->GetActiveWebContents()
->GetMutableRendererPrefs()
->enable_do_not_track);
void ExpectPageTextEq(const std::string& expected_content) {
std::string text;
ASSERT_TRUE(ExecuteScriptAndExtractString(
browser()->tab_strip_model()->GetActiveWebContents(),
"window.domAutomationController.send(document.body.innerText);",
&text));
EXPECT_EQ(expected_content, text);
}
};
// Checks that the DNT preference is set on the WebContents when navigating.
IN_PROC_BROWSER_TEST_F(ChromeDoNotTrackTest, NotEnabled) {
TestDoNoTrack(/*enabled=*/false);
ASSERT_TRUE(embedded_test_server()->Start());
SetEnableDoNotTrack(false /* enabled */);
GURL url = embedded_test_server()->GetURL("/echoheader?DNT");
ui_test_utils::NavigateToURL(browser(), url);
EXPECT_EQ(false, browser()
->tab_strip_model()
->GetActiveWebContents()
->GetMutableRendererPrefs()
->enable_do_not_track);
ExpectPageTextEq("None");
}
IN_PROC_BROWSER_TEST_F(ChromeDoNotTrackTest, Enabled) {
TestDoNoTrack(/*enabled=*/true);
ASSERT_TRUE(embedded_test_server()->Start());
SetEnableDoNotTrack(true /* enabled */);
GURL url = embedded_test_server()->GetURL("/echoheader?DNT");
ui_test_utils::NavigateToURL(browser(), url);
EXPECT_EQ(true, browser()
->tab_strip_model()
->GetActiveWebContents()
->GetMutableRendererPrefs()
->enable_do_not_track);
ExpectPageTextEq("1");
}
} // namespace
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