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

Side by Side Diff: components/data_reduction_proxy/content/browser/content_lofi_decider_unittest.cc

Issue 1873263002: Convert //components/data_reduction_proxy from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address feedback Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_reduction_proxy/content/browser/content_lofi_decider.h " 5 #include "components/data_reduction_proxy/content/browser/content_lofi_decider.h "
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <memory>
8 #include <string> 9 #include <string>
9 #include <utility> 10 #include <utility>
10 11
11 #include "base/command_line.h" 12 #include "base/command_line.h"
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/message_loop/message_loop.h" 14 #include "base/message_loop/message_loop.h"
14 #include "base/metrics/field_trial.h" 15 #include "base/metrics/field_trial.h"
15 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
16 #include "build/build_config.h" 17 #include "build/build_config.h"
17 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_conf ig_test_utils.h" 18 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_conf ig_test_utils.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 context_.Init(); 69 context_.Init();
69 70
70 test_context_ = DataReductionProxyTestContext::Builder() 71 test_context_ = DataReductionProxyTestContext::Builder()
71 .WithClient(kClient) 72 .WithClient(kClient)
72 .WithMockClientSocketFactory(&mock_socket_factory_) 73 .WithMockClientSocketFactory(&mock_socket_factory_)
73 .WithURLRequestContext(&context_) 74 .WithURLRequestContext(&context_)
74 .Build(); 75 .Build();
75 76
76 data_reduction_proxy_network_delegate_.reset( 77 data_reduction_proxy_network_delegate_.reset(
77 new DataReductionProxyNetworkDelegate( 78 new DataReductionProxyNetworkDelegate(
78 scoped_ptr<net::NetworkDelegate>(new net::NetworkDelegateImpl()), 79 std::unique_ptr<net::NetworkDelegate>(
80 new net::NetworkDelegateImpl()),
79 test_context_->config(), 81 test_context_->config(),
80 test_context_->io_data()->request_options(), 82 test_context_->io_data()->request_options(),
81 test_context_->configurator())); 83 test_context_->configurator()));
82 84
83 data_reduction_proxy_network_delegate_->InitIODataAndUMA( 85 data_reduction_proxy_network_delegate_->InitIODataAndUMA(
84 test_context_->io_data(), test_context_->io_data()->bypass_stats()); 86 test_context_->io_data(), test_context_->io_data()->bypass_stats());
85 87
86 context_.set_network_delegate(data_reduction_proxy_network_delegate_.get()); 88 context_.set_network_delegate(data_reduction_proxy_network_delegate_.get());
87 89
88 scoped_ptr<data_reduction_proxy::ContentLoFiDecider> 90 std::unique_ptr<data_reduction_proxy::ContentLoFiDecider>
89 data_reduction_proxy_lofi_decider( 91 data_reduction_proxy_lofi_decider(
90 new data_reduction_proxy::ContentLoFiDecider()); 92 new data_reduction_proxy::ContentLoFiDecider());
91 test_context_->io_data()->set_lofi_decider( 93 test_context_->io_data()->set_lofi_decider(
92 std::move(data_reduction_proxy_lofi_decider)); 94 std::move(data_reduction_proxy_lofi_decider));
93 } 95 }
94 96
95 scoped_ptr<net::URLRequest> CreateRequest(bool is_using_lofi) { 97 std::unique_ptr<net::URLRequest> CreateRequest(bool is_using_lofi) {
96 scoped_ptr<net::URLRequest> request = context_.CreateRequest( 98 std::unique_ptr<net::URLRequest> request = context_.CreateRequest(
97 GURL("http://www.google.com/"), net::IDLE, &delegate_); 99 GURL("http://www.google.com/"), net::IDLE, &delegate_);
98 100
99 content::ResourceRequestInfo::AllocateForTesting( 101 content::ResourceRequestInfo::AllocateForTesting(
100 request.get(), content::RESOURCE_TYPE_SUB_FRAME, NULL, -1, -1, -1, 102 request.get(), content::RESOURCE_TYPE_SUB_FRAME, NULL, -1, -1, -1,
101 false, // is_main_frame 103 false, // is_main_frame
102 false, // parent_is_main_frame 104 false, // parent_is_main_frame
103 false, // allow_download 105 false, // allow_download
104 false, // is_async 106 false, // is_async
105 is_using_lofi); 107 is_using_lofi);
106 108
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 header_value.find( 157 header_value.find(
156 chrome_proxy_lo_fi_ignore_preview_blacklist_directive()) != 158 chrome_proxy_lo_fi_ignore_preview_blacklist_directive()) !=
157 std::string::npos); 159 std::string::npos);
158 } 160 }
159 161
160 protected: 162 protected:
161 base::MessageLoopForIO message_loop_; 163 base::MessageLoopForIO message_loop_;
162 net::MockClientSocketFactory mock_socket_factory_; 164 net::MockClientSocketFactory mock_socket_factory_;
163 net::TestURLRequestContext context_; 165 net::TestURLRequestContext context_;
164 net::TestDelegate delegate_; 166 net::TestDelegate delegate_;
165 scoped_ptr<DataReductionProxyTestContext> test_context_; 167 std::unique_ptr<DataReductionProxyTestContext> test_context_;
166 scoped_ptr<DataReductionProxyNetworkDelegate> 168 std::unique_ptr<DataReductionProxyNetworkDelegate>
167 data_reduction_proxy_network_delegate_; 169 data_reduction_proxy_network_delegate_;
168 }; 170 };
169 171
170 TEST_F(ContentLoFiDeciderTest, LoFiFlags) { 172 TEST_F(ContentLoFiDeciderTest, LoFiFlags) {
171 // Enable Lo-Fi. 173 // Enable Lo-Fi.
172 const struct { 174 const struct {
173 bool is_using_lofi; 175 bool is_using_lofi;
174 bool is_using_previews; 176 bool is_using_previews;
175 } tests[] = { 177 } tests[] = {
176 {false, false}, {true, false}, {false, true}, {true, true}, 178 {false, false}, {true, false}, {false, true}, {true, true},
177 }; 179 };
178 180
179 for (size_t i = 0; i < arraysize(tests); ++i) { 181 for (size_t i = 0; i < arraysize(tests); ++i) {
180 scoped_ptr<net::URLRequest> request = CreateRequest(tests[i].is_using_lofi); 182 std::unique_ptr<net::URLRequest> request =
183 CreateRequest(tests[i].is_using_lofi);
181 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 184 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
182 command_line->InitFromArgv(command_line->argv()); 185 command_line->InitFromArgv(command_line->argv());
183 if (tests[i].is_using_previews) { 186 if (tests[i].is_using_previews) {
184 command_line->AppendSwitch( 187 command_line->AppendSwitch(
185 switches::kEnableDataReductionProxyLoFiPreview); 188 switches::kEnableDataReductionProxyLoFiPreview);
186 } 189 }
187 190
188 // No flags or field trials. The Lo-Fi header should not be added. 191 // No flags or field trials. The Lo-Fi header should not be added.
189 net::HttpRequestHeaders headers; 192 net::HttpRequestHeaders headers;
190 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 193 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 251 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
249 "Enabled"); 252 "Enabled");
250 // Enable Lo-Fi. 253 // Enable Lo-Fi.
251 const struct { 254 const struct {
252 bool is_using_lofi; 255 bool is_using_lofi;
253 } tests[] = { 256 } tests[] = {
254 {false}, {true}, 257 {false}, {true},
255 }; 258 };
256 259
257 for (size_t i = 0; i < arraysize(tests); ++i) { 260 for (size_t i = 0; i < arraysize(tests); ++i) {
258 scoped_ptr<net::URLRequest> request = CreateRequest(tests[i].is_using_lofi); 261 std::unique_ptr<net::URLRequest> request =
262 CreateRequest(tests[i].is_using_lofi);
259 net::HttpRequestHeaders headers; 263 net::HttpRequestHeaders headers;
260 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 264 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
261 VerifyLoFiHeader(tests[i].is_using_lofi, headers); 265 VerifyLoFiHeader(tests[i].is_using_lofi, headers);
262 VerifyLoFiPreviewHeader(false, headers); 266 VerifyLoFiPreviewHeader(false, headers);
263 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers); 267 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers);
264 } 268 }
265 } 269 }
266 270
267 TEST_F(ContentLoFiDeciderTest, LoFiControlFieldTrial) { 271 TEST_F(ContentLoFiDeciderTest, LoFiControlFieldTrial) {
268 base::FieldTrialList field_trial_list(nullptr); 272 base::FieldTrialList field_trial_list(nullptr);
269 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 273 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
270 "Control"); 274 "Control");
271 // Enable Lo-Fi. 275 // Enable Lo-Fi.
272 const struct { 276 const struct {
273 bool is_using_lofi; 277 bool is_using_lofi;
274 } tests[] = { 278 } tests[] = {
275 {false}, {true}, 279 {false}, {true},
276 }; 280 };
277 281
278 for (size_t i = 0; i < arraysize(tests); ++i) { 282 for (size_t i = 0; i < arraysize(tests); ++i) {
279 scoped_ptr<net::URLRequest> request = CreateRequest(tests[i].is_using_lofi); 283 std::unique_ptr<net::URLRequest> request =
284 CreateRequest(tests[i].is_using_lofi);
280 net::HttpRequestHeaders headers; 285 net::HttpRequestHeaders headers;
281 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 286 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
282 VerifyLoFiHeader(false, headers); 287 VerifyLoFiHeader(false, headers);
283 VerifyLoFiPreviewHeader(false, headers); 288 VerifyLoFiPreviewHeader(false, headers);
284 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers); 289 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers);
285 } 290 }
286 } 291 }
287 292
288 TEST_F(ContentLoFiDeciderTest, LoFiPreviewFieldTrial) { 293 TEST_F(ContentLoFiDeciderTest, LoFiPreviewFieldTrial) {
289 base::FieldTrialList field_trial_list(nullptr); 294 base::FieldTrialList field_trial_list(nullptr);
290 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 295 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
291 "Enabled_Preview"); 296 "Enabled_Preview");
292 // Enable Lo-Fi. 297 // Enable Lo-Fi.
293 const struct { 298 const struct {
294 bool is_using_lofi; 299 bool is_using_lofi;
295 bool is_main_frame; 300 bool is_main_frame;
296 } tests[] = { 301 } tests[] = {
297 {false, false}, {true, false}, {false, true}, {true, true}, 302 {false, false}, {true, false}, {false, true}, {true, true},
298 }; 303 };
299 304
300 for (size_t i = 0; i < arraysize(tests); ++i) { 305 for (size_t i = 0; i < arraysize(tests); ++i) {
301 scoped_ptr<net::URLRequest> request = CreateRequest(tests[i].is_using_lofi); 306 std::unique_ptr<net::URLRequest> request =
307 CreateRequest(tests[i].is_using_lofi);
302 if (tests[i].is_main_frame) 308 if (tests[i].is_main_frame)
303 request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME); 309 request->SetLoadFlags(request->load_flags() | net::LOAD_MAIN_FRAME);
304 net::HttpRequestHeaders headers; 310 net::HttpRequestHeaders headers;
305 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 311 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
306 VerifyLoFiHeader(false, headers); 312 VerifyLoFiHeader(false, headers);
307 VerifyLoFiPreviewHeader(tests[i].is_using_lofi && tests[i].is_main_frame, 313 VerifyLoFiPreviewHeader(tests[i].is_using_lofi && tests[i].is_main_frame,
308 headers); 314 headers);
309 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers); 315 VerifyLoFiIgnorePreviewBlacklistHeader(false, headers);
310 } 316 }
311 } 317 }
(...skipping 29 matching lines...) Expand all
341 } 347 }
342 348
343 if (tests[i].auto_lofi_control_group) { 349 if (tests[i].auto_lofi_control_group) {
344 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 350 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
345 "Control"); 351 "Control");
346 } 352 }
347 353
348 test_context_->config()->SetNetworkProhibitivelySlow( 354 test_context_->config()->SetNetworkProhibitivelySlow(
349 tests[i].network_prohibitively_slow); 355 tests[i].network_prohibitively_slow);
350 356
351 scoped_ptr<net::URLRequest> request = 357 std::unique_ptr<net::URLRequest> request =
352 CreateRequest(tests[i].network_prohibitively_slow); 358 CreateRequest(tests[i].network_prohibitively_slow);
353 net::HttpRequestHeaders headers; 359 net::HttpRequestHeaders headers;
354 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 360 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
355 361
356 VerifyLoFiHeader(expect_lofi_header, headers); 362 VerifyLoFiHeader(expect_lofi_header, headers);
357 } 363 }
358 } 364 }
359 365
360 TEST_F(ContentLoFiDeciderTest, SlowConnectionsFlag) { 366 TEST_F(ContentLoFiDeciderTest, SlowConnectionsFlag) {
361 const struct { 367 const struct {
(...skipping 29 matching lines...) Expand all
391 397
392 base::FieldTrialList field_trial_list(nullptr); 398 base::FieldTrialList field_trial_list(nullptr);
393 if (tests[i].auto_lofi_enabled_group) { 399 if (tests[i].auto_lofi_enabled_group) {
394 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 400 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
395 "Enabled"); 401 "Enabled");
396 } 402 }
397 403
398 test_context_->config()->SetNetworkProhibitivelySlow( 404 test_context_->config()->SetNetworkProhibitivelySlow(
399 tests[i].network_prohibitively_slow); 405 tests[i].network_prohibitively_slow);
400 406
401 scoped_ptr<net::URLRequest> request = 407 std::unique_ptr<net::URLRequest> request =
402 CreateRequest(tests[i].network_prohibitively_slow); 408 CreateRequest(tests[i].network_prohibitively_slow);
403 net::HttpRequestHeaders headers; 409 net::HttpRequestHeaders headers;
404 NotifyBeforeSendProxyHeaders(&headers, request.get(), true); 410 NotifyBeforeSendProxyHeaders(&headers, request.get(), true);
405 411
406 VerifyLoFiHeader(expect_lofi_header, headers); 412 VerifyLoFiHeader(expect_lofi_header, headers);
407 } 413 }
408 } 414 }
409 415
410 TEST_F(ContentLoFiDeciderTest, ProxyIsNotDataReductionProxy) { 416 TEST_F(ContentLoFiDeciderTest, ProxyIsNotDataReductionProxy) {
411 base::FieldTrialList field_trial_list(nullptr); 417 base::FieldTrialList field_trial_list(nullptr);
412 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(), 418 base::FieldTrialList::CreateFieldTrial(params::GetLoFiFieldTrialName(),
413 "Enabled"); 419 "Enabled");
414 // Enable Lo-Fi. 420 // Enable Lo-Fi.
415 const struct { 421 const struct {
416 bool is_using_lofi; 422 bool is_using_lofi;
417 } tests[] = { 423 } tests[] = {
418 {false}, {true}, 424 {false}, {true},
419 }; 425 };
420 426
421 for (size_t i = 0; i < arraysize(tests); ++i) { 427 for (size_t i = 0; i < arraysize(tests); ++i) {
422 scoped_ptr<net::URLRequest> request = CreateRequest(tests[i].is_using_lofi); 428 std::unique_ptr<net::URLRequest> request =
429 CreateRequest(tests[i].is_using_lofi);
423 net::HttpRequestHeaders headers; 430 net::HttpRequestHeaders headers;
424 NotifyBeforeSendProxyHeaders(&headers, request.get(), false); 431 NotifyBeforeSendProxyHeaders(&headers, request.get(), false);
425 std::string header_value; 432 std::string header_value;
426 headers.GetHeader(chrome_proxy_header(), &header_value); 433 headers.GetHeader(chrome_proxy_header(), &header_value);
427 EXPECT_EQ(std::string::npos, 434 EXPECT_EQ(std::string::npos,
428 header_value.find(chrome_proxy_lo_fi_directive())); 435 header_value.find(chrome_proxy_lo_fi_directive()));
429 } 436 }
430 } 437 }
431 438
432 } // namespace data_reduction_roxy 439 } // namespace data_reduction_roxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698