Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(929)

Unified Diff: components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc

Issue 2073233002: Do not trigger Lo-Fi on main frame requests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed comment Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/data_reduction_proxy/content/browser/content_lofi_decider.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc
diff --git a/components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc b/components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc
index 866d143003e391458fdf0ff9307477dead37d41c..cf1ffc494d3e68eb04f8b422b531f6c2419fc6cf 100644
--- a/components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc
+++ b/components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc
@@ -176,8 +176,11 @@ TEST_F(ContentLoFiDeciderTest, LoFiFlags) {
const struct {
bool is_using_lofi;
bool is_using_previews;
+ bool is_main_frame;
} tests[] = {
- {false, false}, {true, false}, {false, true}, {true, true},
+ {false, false, false}, {false, false, true}, {true, false, true},
+ {true, false, false}, {false, true, false}, {false, true, true},
+ {true, true, true}, {true, true, false},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -202,15 +205,21 @@ TEST_F(ContentLoFiDeciderTest, LoFiFlags) {
command_line->AppendSwitchASCII(
switches::kDataReductionProxyLoFi,
switches::kDataReductionProxyLoFiValueAlwaysOn);
- request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
+ if (tests[i].is_main_frame)
+ request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
headers.Clear();
NotifyBeforeSendHeaders(&headers, request.get(), true);
- VerifyLoFiHeader(tests[i].is_using_lofi && !tests[i].is_using_previews,
+ VerifyLoFiHeader(tests[i].is_using_lofi && !tests[i].is_using_previews &&
+ !tests[i].is_main_frame,
headers);
- VerifyLoFiPreviewHeader(
- tests[i].is_using_lofi && tests[i].is_using_previews, headers);
- VerifyLoFiIgnorePreviewBlacklistHeader(
- tests[i].is_using_lofi && tests[i].is_using_previews, headers);
+ VerifyLoFiPreviewHeader(tests[i].is_using_lofi &&
+ tests[i].is_using_previews &&
+ tests[i].is_main_frame,
+ headers);
+ VerifyLoFiIgnorePreviewBlacklistHeader(tests[i].is_using_lofi &&
+ tests[i].is_using_previews &&
+ tests[i].is_main_frame,
+ headers);
// The Lo-Fi flag is "always-on" and Lo-Fi is being used. Lo-Fi header
// should be added.
@@ -255,16 +264,18 @@ TEST_F(ContentLoFiDeciderTest, LoFiEnabledFieldTrial) {
// Enable Lo-Fi.
const struct {
bool is_using_lofi;
- } tests[] = {
- {false}, {true},
- };
+ bool is_main_frame;
+ } tests[] = {{false, false}, {false, true}, {true, false}, {true, true}};
for (size_t i = 0; i < arraysize(tests); ++i) {
std::unique_ptr<net::URLRequest> request =
CreateRequest(tests[i].is_using_lofi);
+ if (tests[i].is_main_frame)
+ request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
net::HttpRequestHeaders headers;
NotifyBeforeSendHeaders(&headers, request.get(), true);
- VerifyLoFiHeader(tests[i].is_using_lofi, headers);
+ VerifyLoFiHeader(tests[i].is_using_lofi && !tests[i].is_main_frame,
+ headers);
VerifyLoFiPreviewHeader(false, headers);
VerifyLoFiIgnorePreviewBlacklistHeader(false, headers);
}
@@ -277,13 +288,14 @@ TEST_F(ContentLoFiDeciderTest, LoFiControlFieldTrial) {
// Enable Lo-Fi.
const struct {
bool is_using_lofi;
- } tests[] = {
- {false}, {true},
- };
+ bool is_main_frame;
+ } tests[] = {{false, false}, {false, true}, {true, false}, {true, true}};
for (size_t i = 0; i < arraysize(tests); ++i) {
std::unique_ptr<net::URLRequest> request =
CreateRequest(tests[i].is_using_lofi);
+ if (tests[i].is_main_frame)
+ request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
net::HttpRequestHeaders headers;
NotifyBeforeSendHeaders(&headers, request.get(), true);
VerifyLoFiHeader(false, headers);
@@ -323,24 +335,25 @@ TEST_F(ContentLoFiDeciderTest, AutoLoFi) {
bool auto_lofi_enabled_group;
bool auto_lofi_control_group;
bool network_prohibitively_slow;
+ bool is_main_frame;
} tests[] = {
- {false, false, false},
- {false, false, true},
- {true, false, false},
- {true, false, true},
- {false, true, false},
- {false, true, true},
+ {false, false, false, false},
+ {false, false, true, false},
+ {true, false, false, false},
+ {true, false, true, false},
+ {true, false, true, true},
+ {false, true, false, false},
+ {false, true, true, false},
// Repeat this test data to simulate user moving out of Lo-Fi control
// experiment.
- {false, true, false},
+ {false, true, false, false},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
test_context_->config()->ResetLoFiStatusForTest();
- // Lo-Fi header is expected only if session is part of Lo-Fi enabled field
- // trial and network is prohibitively slow.
- bool expect_lofi_header =
- tests[i].auto_lofi_enabled_group && tests[i].network_prohibitively_slow;
+ const bool expect_lofi_header = tests[i].auto_lofi_enabled_group &&
+ tests[i].network_prohibitively_slow &&
+ !tests[i].is_main_frame;
base::FieldTrialList field_trial_list(nullptr);
if (tests[i].auto_lofi_enabled_group) {
@@ -358,6 +371,8 @@ TEST_F(ContentLoFiDeciderTest, AutoLoFi) {
std::unique_ptr<net::URLRequest> request =
CreateRequest(tests[i].network_prohibitively_slow);
+ if (tests[i].is_main_frame)
+ request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
net::HttpRequestHeaders headers;
NotifyBeforeSendHeaders(&headers, request.get(), true);
@@ -370,11 +385,13 @@ TEST_F(ContentLoFiDeciderTest, SlowConnectionsFlag) {
bool slow_connections_flag_enabled;
bool network_prohibitively_slow;
bool auto_lofi_enabled_group;
-
+ bool is_main_frame;
} tests[] = {
- {false, false, false}, {false, true, false}, {true, false, false},
- {true, true, false}, {false, false, true}, {false, true, true},
- {true, false, true}, {true, true, true},
+ {false, false, false, false}, {false, true, false, false},
+ {true, false, false, false}, {true, true, false, false},
+ {true, true, false, true}, {false, false, true, false},
+ {false, false, true, true}, {false, true, true, false},
+ {true, false, true, false}, {true, true, true, false},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -383,11 +400,12 @@ TEST_F(ContentLoFiDeciderTest, SlowConnectionsFlag) {
// Connection Flag is enabled or session is part of Lo-Fi enabled field
// trial. For both cases, an additional condition is that network must be
// prohibitively slow.
- bool expect_lofi_header = (tests[i].slow_connections_flag_enabled &&
- tests[i].network_prohibitively_slow) ||
- (!tests[i].slow_connections_flag_enabled &&
- tests[i].auto_lofi_enabled_group &&
- tests[i].network_prohibitively_slow);
+ const bool expect_lofi_header = ((tests[i].slow_connections_flag_enabled &&
+ tests[i].network_prohibitively_slow) ||
+ (!tests[i].slow_connections_flag_enabled &&
+ tests[i].auto_lofi_enabled_group &&
+ tests[i].network_prohibitively_slow)) &&
+ !tests[i].is_main_frame;
std::string expected_header;
@@ -408,6 +426,8 @@ TEST_F(ContentLoFiDeciderTest, SlowConnectionsFlag) {
std::unique_ptr<net::URLRequest> request =
CreateRequest(tests[i].network_prohibitively_slow);
+ if (tests[i].is_main_frame)
+ request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
net::HttpRequestHeaders headers;
NotifyBeforeSendHeaders(&headers, request.get(), true);
« no previous file with comments | « components/data_reduction_proxy/content/browser/content_lofi_decider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698