| Index: net/url_request/url_request_unittest.cc
|
| diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
|
| index 334f32859430d9de58a8475ff2aca67126f13f6d..4bd097e946dc5dd4fc2647c9c5ffd5ffc1eb8d6f 100644
|
| --- a/net/url_request/url_request_unittest.cc
|
| +++ b/net/url_request/url_request_unittest.cc
|
| @@ -96,6 +96,7 @@
|
| #include "net/test/spawned_test_server/spawned_test_server.h"
|
| #include "net/test/url_request/url_request_failed_job.h"
|
| #include "net/url_request/data_protocol_handler.h"
|
| +#include "net/url_request/http_protocol_handler.h"
|
| #include "net/url_request/static_http_user_agent_settings.h"
|
| #include "net/url_request/url_request.h"
|
| #include "net/url_request/url_request_filter.h"
|
| @@ -715,8 +716,10 @@ class URLRequestTest : public PlatformTest {
|
| URLRequestTest() : default_context_(true) {
|
| default_context_.set_network_delegate(&default_network_delegate_);
|
| default_context_.set_net_log(&net_log_);
|
| - job_factory_impl_ = new URLRequestJobFactoryImpl();
|
| - job_factory_.reset(job_factory_impl_);
|
| + std::unique_ptr<URLRequestJobFactoryImpl> job_factory =
|
| + URLRequestJobFactoryImpl::CreateWithHttpProtocolHandlers();
|
| + job_factory_impl_ = job_factory.get();
|
| + job_factory_ = std::move(job_factory);
|
| }
|
|
|
| ~URLRequestTest() override {
|
| @@ -726,6 +729,9 @@ class URLRequestTest : public PlatformTest {
|
|
|
| void SetUp() override {
|
| SetUpFactory();
|
| + test_job_interceptor_ = new TestJobInterceptor;
|
| + job_factory_.reset(new URLRequestInterceptingJobFactory(
|
| + std::move(job_factory_), base::WrapUnique(test_job_interceptor_)));
|
| default_context_.set_job_factory(job_factory_.get());
|
| default_context_.Init();
|
| PlatformTest::SetUp();
|
| @@ -734,6 +740,7 @@ class URLRequestTest : public PlatformTest {
|
| virtual void SetUpFactory() {
|
| job_factory_impl_->SetProtocolHandler(
|
| "data", base::WrapUnique(new DataProtocolHandler));
|
| +
|
| #if !defined(DISABLE_FILE_SUPPORT)
|
| job_factory_impl_->SetProtocolHandler(
|
| "file", base::WrapUnique(new FileProtocolHandler(
|
| @@ -749,22 +756,13 @@ class URLRequestTest : public PlatformTest {
|
| return default_context_;
|
| }
|
|
|
| -
|
| - // Adds the TestJobInterceptor to the default context.
|
| - TestJobInterceptor* AddTestInterceptor() {
|
| - TestJobInterceptor* protocol_handler_ = new TestJobInterceptor();
|
| - job_factory_impl_->SetProtocolHandler("http", nullptr);
|
| - job_factory_impl_->SetProtocolHandler("http",
|
| - base::WrapUnique(protocol_handler_));
|
| - return protocol_handler_;
|
| - }
|
| -
|
| protected:
|
| TestNetLog net_log_;
|
| TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest.
|
| URLRequestJobFactoryImpl* job_factory_impl_;
|
| std::unique_ptr<URLRequestJobFactory> job_factory_;
|
| TestURLRequestContext default_context_;
|
| + TestJobInterceptor* test_job_interceptor_;
|
| };
|
|
|
| TEST_F(URLRequestTest, AboutBlankTest) {
|
| @@ -1336,7 +1334,9 @@ class MockURLRequestInterceptor : public URLRequestInterceptor {
|
| simulate_main_network_error_ = false;
|
| did_simulate_error_main_ = true;
|
| if (use_url_request_http_job_) {
|
| - return URLRequestHttpJob::Factory(request, network_delegate, "http");
|
| + return new URLRequestHttpJob(
|
| + request, network_delegate,
|
| + request->context()->http_user_agent_settings());
|
| }
|
| // This job will result in error since the requested URL is not one of the
|
| // URLs supported by these tests.
|
| @@ -1368,7 +1368,9 @@ class MockURLRequestInterceptor : public URLRequestInterceptor {
|
| intercept_redirect_ = false;
|
| did_intercept_redirect_ = true;
|
| if (use_url_request_http_job_) {
|
| - return URLRequestHttpJob::Factory(request, network_delegate, "http");
|
| + return new URLRequestHttpJob(
|
| + request, network_delegate,
|
| + request->context()->http_user_agent_settings());
|
| }
|
| return new URLRequestTestJob(request,
|
| network_delegate,
|
| @@ -1390,7 +1392,9 @@ class MockURLRequestInterceptor : public URLRequestInterceptor {
|
| intercept_final_response_ = false;
|
| did_intercept_final_ = true;
|
| if (use_url_request_http_job_) {
|
| - return URLRequestHttpJob::Factory(request, network_delegate, "http");
|
| + return new URLRequestHttpJob(
|
| + request, network_delegate,
|
| + request->context()->http_user_agent_settings());
|
| }
|
| return new URLRequestTestJob(request,
|
| network_delegate,
|
| @@ -2191,7 +2195,7 @@ TEST_F(URLRequestTest, SetJobPriorityBeforeJobStart) {
|
| RequestPriority job_priority;
|
| std::unique_ptr<URLRequestJob> job(new PriorityMonitoringURLRequestJob(
|
| req.get(), &default_network_delegate_, &job_priority));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
| EXPECT_EQ(DEFAULT_PRIORITY, job_priority);
|
|
|
| req->SetPriority(LOW);
|
| @@ -2210,7 +2214,7 @@ TEST_F(URLRequestTest, SetJobPriority) {
|
| RequestPriority job_priority;
|
| std::unique_ptr<URLRequestJob> job(new PriorityMonitoringURLRequestJob(
|
| req.get(), &default_network_delegate_, &job_priority));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| req->SetPriority(LOW);
|
| req->Start();
|
| @@ -2232,7 +2236,7 @@ TEST_F(URLRequestTest, PriorityIgnoreLimits) {
|
| RequestPriority job_priority;
|
| std::unique_ptr<URLRequestJob> job(new PriorityMonitoringURLRequestJob(
|
| req.get(), &default_network_delegate_, &job_priority));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| req->SetLoadFlags(LOAD_IGNORE_LIMITS);
|
| EXPECT_EQ(MAXIMUM_PRIORITY, req->priority());
|
| @@ -6776,7 +6780,7 @@ TEST_F(URLRequestTestHTTP, RedirectJobWithReferenceFragment) {
|
| std::unique_ptr<URLRequestRedirectJob> job(new URLRequestRedirectJob(
|
| r.get(), &default_network_delegate_, redirect_url,
|
| URLRequestRedirectJob::REDIRECT_302_FOUND, "Very Good Reason"));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| r->Start();
|
| base::RunLoop().Run();
|
| @@ -7518,7 +7522,7 @@ TEST_F(URLRequestTestHTTP, InterceptPost302RedirectGet) {
|
| req.get(), &default_network_delegate_,
|
| http_test_server()->GetURL("/echo"),
|
| URLRequestRedirectJob::REDIRECT_302_FOUND, "Very Good Reason"));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| req->Start();
|
| base::RunLoop().Run();
|
| @@ -7545,7 +7549,7 @@ TEST_F(URLRequestTestHTTP, InterceptPost307RedirectPost) {
|
| http_test_server()->GetURL("/echo"),
|
| URLRequestRedirectJob::REDIRECT_307_TEMPORARY_REDIRECT,
|
| "Very Good Reason"));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| req->Start();
|
| base::RunLoop().Run();
|
| @@ -7745,7 +7749,7 @@ TEST_F(URLRequestTestHTTP, SetSubsequentJobPriority) {
|
| req.get(), &default_network_delegate_,
|
| http_test_server()->GetURL("/echo"),
|
| URLRequestRedirectJob::REDIRECT_302_FOUND, "Very Good Reason"));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(redirect_job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(redirect_job));
|
|
|
| req->SetPriority(LOW);
|
| req->Start();
|
| @@ -7754,7 +7758,7 @@ TEST_F(URLRequestTestHTTP, SetSubsequentJobPriority) {
|
| RequestPriority job_priority;
|
| std::unique_ptr<URLRequestJob> job(new PriorityMonitoringURLRequestJob(
|
| req.get(), &default_network_delegate_, &job_priority));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| // Should trigger |job| to be started.
|
| base::RunLoop().Run();
|
| @@ -10111,7 +10115,7 @@ TEST_F(URLRequestTest, URLRequestRedirectJobCancelRequest) {
|
| req.get(), &default_network_delegate_,
|
| GURL("http://this-should-never-be-navigated-to/"),
|
| URLRequestRedirectJob::REDIRECT_307_TEMPORARY_REDIRECT, "Jumbo shrimp"));
|
| - AddTestInterceptor()->set_main_intercept_job(std::move(job));
|
| + test_job_interceptor_->set_main_intercept_job(std::move(job));
|
|
|
| req->Start();
|
| req->Cancel();
|
|
|