Commit fb95964d authored by rajendrant's avatar rajendrant Committed by Commit Bot

Disable data saver features for incognito profile

Some LiteMode (aka Data saver) features such as lazyload, sending save-data in
request header, SaveData NetInfo API does not consider incognito profiles.
This CL fixes that.

Bug: 1014144
Change-Id: I22de4bfc20d7791ab33971c2dcc2cdca1d5a8cda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863574
Commit-Queue: rajendrant <rajendrant@chromium.org>
Reviewed-by: default avatarRobert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#707017}
parent 573182f0
...@@ -2243,6 +2243,9 @@ gfx::ImageSkia ChromeContentBrowserClient::GetDefaultFavicon() { ...@@ -2243,6 +2243,9 @@ gfx::ImageSkia ChromeContentBrowserClient::GetDefaultFavicon() {
bool ChromeContentBrowserClient::IsDataSaverEnabled( bool ChromeContentBrowserClient::IsDataSaverEnabled(
content::BrowserContext* browser_context) { content::BrowserContext* browser_context) {
if (!browser_context || browser_context->IsOffTheRecord())
return false;
Profile* profile = Profile::FromBrowserContext(browser_context); Profile* profile = Profile::FromBrowserContext(browser_context);
return profile && data_reduction_proxy::DataReductionProxySettings:: return profile && data_reduction_proxy::DataReductionProxySettings::
IsDataSaverEnabledByUser(profile->GetPrefs()); IsDataSaverEnabledByUser(profile->GetPrefs());
......
...@@ -180,12 +180,15 @@ class DataSaverBrowserTest : public InProcessBrowserTest { ...@@ -180,12 +180,15 @@ class DataSaverBrowserTest : public InProcessBrowserTest {
SetDataSaverEnabled(browser()->profile(), enabled); SetDataSaverEnabled(browser()->profile(), enabled);
} }
void VerifySaveDataHeader(const std::string& expected_header_value) { void VerifySaveDataHeader(const std::string& expected_header_value,
Browser* browser = nullptr) {
if (!browser)
browser = InProcessBrowserTest::browser();
ui_test_utils::NavigateToURL( ui_test_utils::NavigateToURL(
browser(), embedded_test_server()->GetURL("/echoheader?Save-Data")); browser, embedded_test_server()->GetURL("/echoheader?Save-Data"));
std::string header_value; std::string header_value;
EXPECT_TRUE(content::ExecuteScriptAndExtractString( EXPECT_TRUE(content::ExecuteScriptAndExtractString(
browser()->tab_strip_model()->GetActiveWebContents(), browser->tab_strip_model()->GetActiveWebContents(),
"window.domAutomationController.send(document.body.textContent);", "window.domAutomationController.send(document.body.textContent);",
&header_value)); &header_value));
EXPECT_EQ(expected_header_value, header_value); EXPECT_EQ(expected_header_value, header_value);
...@@ -204,6 +207,12 @@ IN_PROC_BROWSER_TEST_F(DataSaverBrowserTest, DataSaverDisabled) { ...@@ -204,6 +207,12 @@ IN_PROC_BROWSER_TEST_F(DataSaverBrowserTest, DataSaverDisabled) {
VerifySaveDataHeader("None"); VerifySaveDataHeader("None");
} }
IN_PROC_BROWSER_TEST_F(DataSaverBrowserTest, DataSaverDisabledInIncognito) {
ASSERT_TRUE(embedded_test_server()->Start());
EnableDataSaver(true);
VerifySaveDataHeader("None", CreateIncognitoBrowser());
}
class DataSaverWithServerBrowserTest : public InProcessBrowserTest { class DataSaverWithServerBrowserTest : public InProcessBrowserTest {
protected: protected:
void Init() { void Init() {
......
...@@ -38,17 +38,20 @@ class DataSaverWebAPIsBrowserTest : public InProcessBrowserTest { ...@@ -38,17 +38,20 @@ class DataSaverWebAPIsBrowserTest : public InProcessBrowserTest {
InProcessBrowserTest::SetUp(); InProcessBrowserTest::SetUp();
} }
void VerifySaveDataAPI(bool expected_header_set) { void VerifySaveDataAPI(bool expected_header_set, Browser* browser = nullptr) {
ui_test_utils::NavigateToURL(browser(), if (!browser)
browser = InProcessBrowserTest::browser();
ui_test_utils::NavigateToURL(browser,
test_server_.GetURL("/net_info.html")); test_server_.GetURL("/net_info.html"));
EXPECT_EQ(expected_header_set, RunScriptExtractBool("getSaveData()")); EXPECT_EQ(expected_header_set,
RunScriptExtractBool(browser, "getSaveData()"));
} }
private: private:
bool RunScriptExtractBool(const std::string& script) { bool RunScriptExtractBool(Browser* browser, const std::string& script) {
bool data; bool data;
EXPECT_TRUE(ExecuteScriptAndExtractBool( EXPECT_TRUE(ExecuteScriptAndExtractBool(
browser()->tab_strip_model()->GetActiveWebContents(), script, &data)); browser->tab_strip_model()->GetActiveWebContents(), script, &data));
return data; return data;
} }
...@@ -80,3 +83,9 @@ IN_PROC_BROWSER_TEST_F(DataSaverWebAPIsBrowserTest, DataSaverToggleJS) { ...@@ -80,3 +83,9 @@ IN_PROC_BROWSER_TEST_F(DataSaverWebAPIsBrowserTest, DataSaverToggleJS) {
EnableDataSaver(false); EnableDataSaver(false);
VerifySaveDataAPI(false); VerifySaveDataAPI(false);
} }
IN_PROC_BROWSER_TEST_F(DataSaverWebAPIsBrowserTest,
DataSaverDisabledInIncognito) {
EnableDataSaver(true);
VerifySaveDataAPI(false, CreateIncognitoBrowser());
}
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