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 { ...@@ -18,30 +18,47 @@ namespace {
class ChromeDoNotTrackTest : public InProcessBrowserTest { class ChromeDoNotTrackTest : public InProcessBrowserTest {
protected: protected:
void TestDoNoTrack(bool enabled) { void SetEnableDoNotTrack(bool enabled) {
ASSERT_TRUE(embedded_test_server()->Start());
PrefService* prefs = browser()->profile()->GetPrefs(); PrefService* prefs = browser()->profile()->GetPrefs();
prefs->SetBoolean(prefs::kEnableDoNotTrack, enabled); prefs->SetBoolean(prefs::kEnableDoNotTrack, enabled);
}
GURL url = embedded_test_server()->GetURL("/echo"); void ExpectPageTextEq(const std::string& expected_content) {
ui_test_utils::NavigateToURL(browser(), url); std::string text;
EXPECT_EQ(enabled, browser() ASSERT_TRUE(ExecuteScriptAndExtractString(
->tab_strip_model() browser()->tab_strip_model()->GetActiveWebContents(),
->GetActiveWebContents() "window.domAutomationController.send(document.body.innerText);",
->GetMutableRendererPrefs() &text));
->enable_do_not_track); EXPECT_EQ(expected_content, text);
} }
}; };
// Checks that the DNT preference is set on the WebContents when navigating.
IN_PROC_BROWSER_TEST_F(ChromeDoNotTrackTest, NotEnabled) { 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) { 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 } // 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