| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 3425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3436 | 3436 |
| 3437 // Tests the dispatcher host's temporary file management. | 3437 // Tests the dispatcher host's temporary file management. |
| 3438 TEST_P(ResourceDispatcherHostTest, RegisterDownloadedTempFile) { | 3438 TEST_P(ResourceDispatcherHostTest, RegisterDownloadedTempFile) { |
| 3439 const int kRequestID = 1; | 3439 const int kRequestID = 1; |
| 3440 | 3440 |
| 3441 // Create a temporary file. | 3441 // Create a temporary file. |
| 3442 base::FilePath file_path; | 3442 base::FilePath file_path; |
| 3443 ASSERT_TRUE(base::CreateTemporaryFile(&file_path)); | 3443 ASSERT_TRUE(base::CreateTemporaryFile(&file_path)); |
| 3444 scoped_refptr<ShareableFileReference> deletable_file = | 3444 scoped_refptr<ShareableFileReference> deletable_file = |
| 3445 ShareableFileReference::GetOrCreate( | 3445 ShareableFileReference::GetOrCreate( |
| 3446 file_path, | 3446 file_path, ShareableFileReference::DELETE_ON_FINAL_RELEASE, |
| 3447 ShareableFileReference::DELETE_ON_FINAL_RELEASE, | 3447 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE).get()); |
| 3448 BrowserThread::GetMessageLoopProxyForThread( | |
| 3449 BrowserThread::FILE).get()); | |
| 3450 | 3448 |
| 3451 // Not readable. | 3449 // Not readable. |
| 3452 EXPECT_FALSE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( | 3450 EXPECT_FALSE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( |
| 3453 filter_->child_id(), file_path)); | 3451 filter_->child_id(), file_path)); |
| 3454 | 3452 |
| 3455 // Register it for a resource request. | 3453 // Register it for a resource request. |
| 3456 host_.RegisterDownloadedTempFile(filter_->child_id(), kRequestID, file_path); | 3454 host_.RegisterDownloadedTempFile(filter_->child_id(), kRequestID, file_path); |
| 3457 | 3455 |
| 3458 // Should be readable now. | 3456 // Should be readable now. |
| 3459 EXPECT_TRUE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( | 3457 EXPECT_TRUE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( |
| (...skipping 23 matching lines...) Expand all Loading... |
| 3483 // Tests that temporary files held on behalf of child processes are released | 3481 // Tests that temporary files held on behalf of child processes are released |
| 3484 // when the child process dies. | 3482 // when the child process dies. |
| 3485 TEST_P(ResourceDispatcherHostTest, ReleaseTemporiesOnProcessExit) { | 3483 TEST_P(ResourceDispatcherHostTest, ReleaseTemporiesOnProcessExit) { |
| 3486 const int kRequestID = 1; | 3484 const int kRequestID = 1; |
| 3487 | 3485 |
| 3488 // Create a temporary file. | 3486 // Create a temporary file. |
| 3489 base::FilePath file_path; | 3487 base::FilePath file_path; |
| 3490 ASSERT_TRUE(base::CreateTemporaryFile(&file_path)); | 3488 ASSERT_TRUE(base::CreateTemporaryFile(&file_path)); |
| 3491 scoped_refptr<ShareableFileReference> deletable_file = | 3489 scoped_refptr<ShareableFileReference> deletable_file = |
| 3492 ShareableFileReference::GetOrCreate( | 3490 ShareableFileReference::GetOrCreate( |
| 3493 file_path, | 3491 file_path, ShareableFileReference::DELETE_ON_FINAL_RELEASE, |
| 3494 ShareableFileReference::DELETE_ON_FINAL_RELEASE, | 3492 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE).get()); |
| 3495 BrowserThread::GetMessageLoopProxyForThread( | |
| 3496 BrowserThread::FILE).get()); | |
| 3497 | 3493 |
| 3498 // Register it for a resource request. | 3494 // Register it for a resource request. |
| 3499 host_.RegisterDownloadedTempFile(filter_->child_id(), kRequestID, file_path); | 3495 host_.RegisterDownloadedTempFile(filter_->child_id(), kRequestID, file_path); |
| 3500 deletable_file = NULL; | 3496 deletable_file = NULL; |
| 3501 | 3497 |
| 3502 // Should be readable now. | 3498 // Should be readable now. |
| 3503 EXPECT_TRUE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( | 3499 EXPECT_TRUE(ChildProcessSecurityPolicyImpl::GetInstance()->CanReadFile( |
| 3504 filter_->child_id(), file_path)); | 3500 filter_->child_id(), file_path)); |
| 3505 | 3501 |
| 3506 // Let the process die. | 3502 // Let the process die. |
| (...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3899 return nullptr; | 3895 return nullptr; |
| 3900 } | 3896 } |
| 3901 | 3897 |
| 3902 INSTANTIATE_TEST_CASE_P( | 3898 INSTANTIATE_TEST_CASE_P( |
| 3903 ResourceDispatcherHostTests, | 3899 ResourceDispatcherHostTests, |
| 3904 ResourceDispatcherHostTest, | 3900 ResourceDispatcherHostTest, |
| 3905 testing::Values(TestConfig::kDefault, | 3901 testing::Values(TestConfig::kDefault, |
| 3906 TestConfig::kOptimizeIPCForSmallResourceEnabled)); | 3902 TestConfig::kOptimizeIPCForSmallResourceEnabled)); |
| 3907 | 3903 |
| 3908 } // namespace content | 3904 } // namespace content |
| OLD | NEW |