Chromium Code Reviews| 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 2c0af0b141d4bf652bf0294e2359085f29595a6c..ccaf747217c1b12cc154397bbda55876885277fb 100644 |
| --- a/net/url_request/url_request_unittest.cc |
| +++ b/net/url_request/url_request_unittest.cc |
| @@ -9210,4 +9210,27 @@ TEST_F(URLRequestTest, NetworkAccessedSetOnHostResolutionFailure) { |
| EXPECT_TRUE(req->response_info().network_accessed); |
| } |
| +TEST_F(URLRequestTest, URLRequestRedirectJobDetachRequestNoCrash) { |
| + // URLRequest should be canceled correctly and with detached request |
| + // URLRequestRedirectJob should not crash in StartAsync. |
| + // See http://crbug.com/508900 |
|
mmenke
2015/07/22 19:05:04
nit: Method descriptions should go before the met
|
| + |
| + TestDelegate d; |
| + scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
| + GURL("http://not-a-real-domain/"), DEFAULT_PRIORITY, &d)); |
| + |
| + URLRequestRedirectJob* job = new URLRequestRedirectJob( |
| + 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(job); |
| + |
| + req->Start(); |
| + req->Cancel(); |
| + job->DetachRequest(); |
| + base::RunLoop().RunUntilIdle(); |
| + EXPECT_EQ(URLRequestStatus::CANCELED, req->status().status()); |
| + EXPECT_EQ(0, d.received_redirect_count()); |
| +} |
| + |
| } // namespace net |