| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "content/browser/loader/resource_loader.h" | 5 #include "content/browser/loader/resource_loader.h" |
| 6 | 6 |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 return net::URLRequestTestJob::test_url_1(); | 297 return net::URLRequestTestJob::test_url_1(); |
| 298 } | 298 } |
| 299 | 299 |
| 300 std::string test_data() const { | 300 std::string test_data() const { |
| 301 return net::URLRequestTestJob::test_data_1(); | 301 return net::URLRequestTestJob::test_data_1(); |
| 302 } | 302 } |
| 303 | 303 |
| 304 virtual scoped_ptr<ResourceHandler> WrapResourceHandler( | 304 virtual scoped_ptr<ResourceHandler> WrapResourceHandler( |
| 305 scoped_ptr<ResourceHandlerStub> leaf_handler, | 305 scoped_ptr<ResourceHandlerStub> leaf_handler, |
| 306 net::URLRequest* request) { | 306 net::URLRequest* request) { |
| 307 return leaf_handler.PassAs<ResourceHandler>(); | 307 return leaf_handler.Pass(); |
| 308 } | 308 } |
| 309 | 309 |
| 310 virtual void SetUp() override { | 310 virtual void SetUp() override { |
| 311 const int kRenderProcessId = 1; | 311 const int kRenderProcessId = 1; |
| 312 const int kRenderViewId = 2; | 312 const int kRenderViewId = 2; |
| 313 | 313 |
| 314 scoped_ptr<net::URLRequest> request( | 314 scoped_ptr<net::URLRequest> request( |
| 315 resource_context_.GetRequestContext()->CreateRequest( | 315 resource_context_.GetRequestContext()->CreateRequest( |
| 316 test_url(), | 316 test_url(), |
| 317 net::DEFAULT_PRIORITY, | 317 net::DEFAULT_PRIORITY, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 // Set up the test client cert store. | 370 // Set up the test client cert store. |
| 371 net::CertificateList dummy_certs(1, scoped_refptr<net::X509Certificate>( | 371 net::CertificateList dummy_certs(1, scoped_refptr<net::X509Certificate>( |
| 372 new net::X509Certificate("test", "test", base::Time(), base::Time()))); | 372 new net::X509Certificate("test", "test", base::Time(), base::Time()))); |
| 373 scoped_ptr<ClientCertStoreStub> test_store( | 373 scoped_ptr<ClientCertStoreStub> test_store( |
| 374 new ClientCertStoreStub(dummy_certs)); | 374 new ClientCertStoreStub(dummy_certs)); |
| 375 EXPECT_EQ(0, test_store->request_count()); | 375 EXPECT_EQ(0, test_store->request_count()); |
| 376 | 376 |
| 377 // Ownership of the |test_store| is about to be turned over to ResourceLoader. | 377 // Ownership of the |test_store| is about to be turned over to ResourceLoader. |
| 378 // We need to keep raw pointer copies to access these objects later. | 378 // We need to keep raw pointer copies to access these objects later. |
| 379 ClientCertStoreStub* raw_ptr_to_store = test_store.get(); | 379 ClientCertStoreStub* raw_ptr_to_store = test_store.get(); |
| 380 resource_context_.SetClientCertStore( | 380 resource_context_.SetClientCertStore(test_store.Pass()); |
| 381 test_store.PassAs<net::ClientCertStore>()); | |
| 382 | 381 |
| 383 // Prepare a dummy certificate request. | 382 // Prepare a dummy certificate request. |
| 384 scoped_refptr<net::SSLCertRequestInfo> cert_request_info( | 383 scoped_refptr<net::SSLCertRequestInfo> cert_request_info( |
| 385 new net::SSLCertRequestInfo()); | 384 new net::SSLCertRequestInfo()); |
| 386 std::vector<std::string> dummy_authority(1, "dummy"); | 385 std::vector<std::string> dummy_authority(1, "dummy"); |
| 387 cert_request_info->cert_authorities = dummy_authority; | 386 cert_request_info->cert_authorities = dummy_authority; |
| 388 | 387 |
| 389 // Plug in test content browser client. | 388 // Plug in test content browser client. |
| 390 SelectCertificateBrowserClient test_client; | 389 SelectCertificateBrowserClient test_client; |
| 391 ContentBrowserClient* old_client = SetBrowserClientForTesting(&test_client); | 390 ContentBrowserClient* old_client = SetBrowserClientForTesting(&test_client); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 516 base::MessageLoopProxy::current())); | 515 base::MessageLoopProxy::current())); |
| 517 file_stream_ = file_stream.get(); | 516 file_stream_ = file_stream.get(); |
| 518 deletable_file_ = ShareableFileReference::GetOrCreate( | 517 deletable_file_ = ShareableFileReference::GetOrCreate( |
| 519 temp_path_, | 518 temp_path_, |
| 520 ShareableFileReference::DELETE_ON_FINAL_RELEASE, | 519 ShareableFileReference::DELETE_ON_FINAL_RELEASE, |
| 521 BrowserThread::GetMessageLoopProxyForThread( | 520 BrowserThread::GetMessageLoopProxyForThread( |
| 522 BrowserThread::FILE).get()); | 521 BrowserThread::FILE).get()); |
| 523 | 522 |
| 524 // Inject them into the handler. | 523 // Inject them into the handler. |
| 525 scoped_ptr<RedirectToFileResourceHandler> handler( | 524 scoped_ptr<RedirectToFileResourceHandler> handler( |
| 526 new RedirectToFileResourceHandler( | 525 new RedirectToFileResourceHandler(leaf_handler.Pass(), request)); |
| 527 leaf_handler.PassAs<ResourceHandler>(), request)); | |
| 528 redirect_to_file_resource_handler_ = handler.get(); | 526 redirect_to_file_resource_handler_ = handler.get(); |
| 529 handler->SetCreateTemporaryFileStreamFunctionForTesting( | 527 handler->SetCreateTemporaryFileStreamFunctionForTesting( |
| 530 base::Bind(&ResourceLoaderRedirectToFileTest::PostCallback, | 528 base::Bind(&ResourceLoaderRedirectToFileTest::PostCallback, |
| 531 base::Unretained(this), | 529 base::Unretained(this), |
| 532 base::Passed(file_stream.PassAs<net::FileStream>()))); | 530 base::Passed(&file_stream))); |
| 533 return handler.PassAs<ResourceHandler>(); | 531 return handler.Pass(); |
| 534 } | 532 } |
| 535 | 533 |
| 536 private: | 534 private: |
| 537 void PostCallback( | 535 void PostCallback( |
| 538 scoped_ptr<net::FileStream> file_stream, | 536 scoped_ptr<net::FileStream> file_stream, |
| 539 const CreateTemporaryFileStreamCallback& callback) { | 537 const CreateTemporaryFileStreamCallback& callback) { |
| 540 base::MessageLoop::current()->PostTask( | 538 base::MessageLoop::current()->PostTask( |
| 541 FROM_HERE, | 539 FROM_HERE, |
| 542 base::Bind(callback, base::File::FILE_OK, | 540 base::Bind(callback, base::File::FILE_OK, |
| 543 base::Passed(&file_stream), deletable_file_)); | 541 base::Passed(&file_stream), deletable_file_)); |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 ASSERT_TRUE(base::ReadFileToString(temp_path(), &contents)); | 719 ASSERT_TRUE(base::ReadFileToString(temp_path(), &contents)); |
| 722 EXPECT_EQ(test_data(), contents); | 720 EXPECT_EQ(test_data(), contents); |
| 723 | 721 |
| 724 // Release the loader. The file should be gone now. | 722 // Release the loader. The file should be gone now. |
| 725 ReleaseLoader(); | 723 ReleaseLoader(); |
| 726 base::RunLoop().RunUntilIdle(); | 724 base::RunLoop().RunUntilIdle(); |
| 727 EXPECT_FALSE(base::PathExists(temp_path())); | 725 EXPECT_FALSE(base::PathExists(temp_path())); |
| 728 } | 726 } |
| 729 | 727 |
| 730 } // namespace content | 728 } // namespace content |
| OLD | NEW |