| 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 <set> | 5 #include <set> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/platform_file.h" | 10 #include "base/platform_file.h" |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 test_browser_client_.AddScheme(scheme); | 82 test_browser_client_.AddScheme(scheme); |
| 83 } | 83 } |
| 84 | 84 |
| 85 void GrantPermissionsForFile(ChildProcessSecurityPolicyImpl* p, | 85 void GrantPermissionsForFile(ChildProcessSecurityPolicyImpl* p, |
| 86 int child_id, | 86 int child_id, |
| 87 const base::FilePath& file, | 87 const base::FilePath& file, |
| 88 int permissions) { | 88 int permissions) { |
| 89 p->GrantPermissionsForFile(child_id, file, permissions); | 89 p->GrantPermissionsForFile(child_id, file, permissions); |
| 90 } | 90 } |
| 91 | 91 |
| 92 void CheckHasNoFileSystemPermission(ChildProcessSecurityPolicyImpl* p, |
| 93 const std::string& child_id) { |
| 94 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, child_id)); |
| 95 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, child_id)); |
| 96 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, child_id)); |
| 97 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, child_id)); |
| 98 } |
| 99 |
| 100 void CheckHasNoFileSystemFilePermission(ChildProcessSecurityPolicyImpl* p, |
| 101 const base::FilePath& file, |
| 102 const fileapi::FileSystemURL& url) { |
| 103 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); |
| 104 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); |
| 105 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); |
| 106 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); |
| 107 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); |
| 108 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); |
| 109 EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, url)); |
| 110 EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, url)); |
| 111 } |
| 112 |
| 92 private: | 113 private: |
| 93 ChildProcessSecurityPolicyTestBrowserClient test_browser_client_; | 114 ChildProcessSecurityPolicyTestBrowserClient test_browser_client_; |
| 94 ContentBrowserClient* old_browser_client_; | 115 ContentBrowserClient* old_browser_client_; |
| 95 }; | 116 }; |
| 96 | 117 |
| 97 | 118 |
| 98 TEST_F(ChildProcessSecurityPolicyTest, IsWebSafeSchemeTest) { | 119 TEST_F(ChildProcessSecurityPolicyTest, IsWebSafeSchemeTest) { |
| 99 ChildProcessSecurityPolicyImpl* p = | 120 ChildProcessSecurityPolicyImpl* p = |
| 100 ChildProcessSecurityPolicyImpl::GetInstance(); | 121 ChildProcessSecurityPolicyImpl::GetInstance(); |
| 101 | 122 |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 "read_filesystem", | 314 "read_filesystem", |
| 294 base::FilePath()); | 315 base::FilePath()); |
| 295 std::string read_write_id = fileapi::IsolatedContext::GetInstance()-> | 316 std::string read_write_id = fileapi::IsolatedContext::GetInstance()-> |
| 296 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, | 317 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, |
| 297 "read_write_filesystem", | 318 "read_write_filesystem", |
| 298 base::FilePath()); | 319 base::FilePath()); |
| 299 std::string copy_into_id = fileapi::IsolatedContext::GetInstance()-> | 320 std::string copy_into_id = fileapi::IsolatedContext::GetInstance()-> |
| 300 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, | 321 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, |
| 301 "copy_into_filesystem", | 322 "copy_into_filesystem", |
| 302 base::FilePath()); | 323 base::FilePath()); |
| 324 std::string delete_from_id = fileapi::IsolatedContext::GetInstance()-> |
| 325 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, |
| 326 "delete_from_filesystem", |
| 327 base::FilePath()); |
| 303 | 328 |
| 304 // Test initially having no permissions. | 329 // Test initially having no permissions. |
| 305 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); | 330 CheckHasNoFileSystemPermission(p, read_id); |
| 306 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); | 331 CheckHasNoFileSystemPermission(p, read_write_id); |
| 307 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); | 332 CheckHasNoFileSystemPermission(p, copy_into_id); |
| 308 | 333 CheckHasNoFileSystemPermission(p, delete_from_id); |
| 309 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id)); | |
| 310 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); | |
| 311 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); | |
| 312 | |
| 313 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); | |
| 314 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); | |
| 315 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); | |
| 316 | 334 |
| 317 // Testing varying combinations of grants and checks. | 335 // Testing varying combinations of grants and checks. |
| 318 p->GrantReadFileSystem(kRendererID, read_id); | 336 p->GrantReadFileSystem(kRendererID, read_id); |
| 319 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_id)); | 337 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_id)); |
| 320 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); | 338 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); |
| 321 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); | 339 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); |
| 340 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, read_id)); |
| 322 | 341 |
| 323 p->GrantReadFileSystem(kRendererID, read_write_id); | 342 p->GrantReadFileSystem(kRendererID, read_write_id); |
| 324 p->GrantWriteFileSystem(kRendererID, read_write_id); | 343 p->GrantWriteFileSystem(kRendererID, read_write_id); |
| 325 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_write_id)); | 344 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_write_id)); |
| 326 EXPECT_TRUE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); | 345 EXPECT_TRUE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); |
| 327 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); | 346 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); |
| 347 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, read_write_id)); |
| 328 | 348 |
| 329 p->GrantCopyIntoFileSystem(kRendererID, copy_into_id); | 349 p->GrantCopyIntoFileSystem(kRendererID, copy_into_id); |
| 330 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); | 350 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); |
| 331 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); | 351 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); |
| 332 EXPECT_TRUE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); | 352 EXPECT_TRUE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); |
| 353 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, copy_into_id)); |
| 354 |
| 355 p->GrantDeleteFromFileSystem(kRendererID, delete_from_id); |
| 356 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, delete_from_id)); |
| 357 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, delete_from_id)); |
| 358 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, delete_from_id)); |
| 359 EXPECT_TRUE(p->CanDeleteFromFileSystem(kRendererID, delete_from_id)); |
| 333 | 360 |
| 334 // Test revoke permissions on renderer ID removal. | 361 // Test revoke permissions on renderer ID removal. |
| 335 p->Remove(kRendererID); | 362 p->Remove(kRendererID); |
| 336 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); | 363 CheckHasNoFileSystemPermission(p, read_id); |
| 337 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); | 364 CheckHasNoFileSystemPermission(p, read_write_id); |
| 338 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); | 365 CheckHasNoFileSystemPermission(p, copy_into_id); |
| 339 | 366 CheckHasNoFileSystemPermission(p, delete_from_id); |
| 340 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id)); | |
| 341 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); | |
| 342 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); | |
| 343 | |
| 344 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); | |
| 345 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); | |
| 346 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); | |
| 347 | 367 |
| 348 // Test having no permissions upon re-adding same renderer ID. | 368 // Test having no permissions upon re-adding same renderer ID. |
| 349 p->Add(kRendererID); | 369 p->Add(kRendererID); |
| 350 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); | 370 CheckHasNoFileSystemPermission(p, read_id); |
| 351 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); | 371 CheckHasNoFileSystemPermission(p, read_write_id); |
| 352 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); | 372 CheckHasNoFileSystemPermission(p, copy_into_id); |
| 353 | 373 CheckHasNoFileSystemPermission(p, delete_from_id); |
| 354 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id)); | |
| 355 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); | |
| 356 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); | |
| 357 | |
| 358 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); | |
| 359 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); | |
| 360 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); | |
| 361 | 374 |
| 362 // Cleanup. | 375 // Cleanup. |
| 363 p->Remove(kRendererID); | 376 p->Remove(kRendererID); |
| 364 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_id); | 377 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_id); |
| 365 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_write_id); | 378 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_write_id); |
| 366 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(copy_into_id); | 379 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(copy_into_id); |
| 380 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(delete_from_id); |
| 367 } | 381 } |
| 368 | 382 |
| 369 TEST_F(ChildProcessSecurityPolicyTest, FilePermissionGrantingAndRevoking) { | 383 TEST_F(ChildProcessSecurityPolicyTest, FilePermissionGrantingAndRevoking) { |
| 370 ChildProcessSecurityPolicyImpl* p = | 384 ChildProcessSecurityPolicyImpl* p = |
| 371 ChildProcessSecurityPolicyImpl::GetInstance(); | 385 ChildProcessSecurityPolicyImpl::GetInstance(); |
| 372 | 386 |
| 373 p->RegisterFileSystemPermissionPolicy( | 387 p->RegisterFileSystemPermissionPolicy( |
| 374 fileapi::kFileSystemTypeTest, | 388 fileapi::kFileSystemTypeTest, |
| 375 fileapi::FILE_PERMISSION_USE_FILE_PERMISSION); | 389 fileapi::FILE_PERMISSION_USE_FILE_PERMISSION); |
| 376 | 390 |
| 377 p->Add(kRendererID); | 391 p->Add(kRendererID); |
| 378 base::FilePath file(TEST_PATH("/dir/testfile")); | 392 base::FilePath file(TEST_PATH("/dir/testfile")); |
| 379 file = file.NormalizePathSeparators(); | 393 file = file.NormalizePathSeparators(); |
| 380 fileapi::FileSystemURL url = fileapi::FileSystemURL::CreateForTest( | 394 fileapi::FileSystemURL url = fileapi::FileSystemURL::CreateForTest( |
| 381 GURL("http://foo/"), fileapi::kFileSystemTypeTest, file); | 395 GURL("http://foo/"), fileapi::kFileSystemTypeTest, file); |
| 382 | 396 |
| 383 // Test initially having no permissions. | 397 // Test initially having no permissions. |
| 384 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 398 CheckHasNoFileSystemFilePermission(p, file, url); |
| 385 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | |
| 386 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); | |
| 387 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | |
| 388 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | |
| 389 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | |
| 390 | 399 |
| 391 // Testing every combination of permissions granting and revoking. | 400 // Testing every combination of permissions granting and revoking. |
| 392 p->GrantReadFile(kRendererID, file); | 401 p->GrantReadFile(kRendererID, file); |
| 393 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); | 402 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); |
| 394 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | 403 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); |
| 395 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); | 404 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); |
| 396 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | 405 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); |
| 397 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | 406 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); |
| 398 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | 407 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); |
| 408 EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, url)); |
| 409 EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, url)); |
| 399 p->RevokeAllPermissionsForFile(kRendererID, file); | 410 p->RevokeAllPermissionsForFile(kRendererID, file); |
| 400 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 411 CheckHasNoFileSystemFilePermission(p, file, url); |
| 401 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | |
| 402 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); | |
| 403 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | |
| 404 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | |
| 405 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | |
| 406 | 412 |
| 407 p->GrantCreateReadWriteFile(kRendererID, file); | 413 p->GrantCreateReadWriteFile(kRendererID, file); |
| 408 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); | 414 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); |
| 409 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); | 415 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); |
| 410 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); | 416 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); |
| 411 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); | 417 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); |
| 412 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); | 418 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); |
| 413 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | 419 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); |
| 420 EXPECT_TRUE(p->CanCopyIntoFileSystemFile(kRendererID, url)); |
| 421 EXPECT_TRUE(p->CanDeleteFileSystemFile(kRendererID, url)); |
| 414 p->RevokeAllPermissionsForFile(kRendererID, file); | 422 p->RevokeAllPermissionsForFile(kRendererID, file); |
| 415 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 423 CheckHasNoFileSystemFilePermission(p, file, url); |
| 416 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | |
| 417 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); | |
| 418 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | |
| 419 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | |
| 420 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | |
| 421 | 424 |
| 422 // Test revoke permissions on renderer ID removal. | 425 // Test revoke permissions on renderer ID removal. |
| 423 p->GrantCreateReadWriteFile(kRendererID, file); | 426 p->GrantCreateReadWriteFile(kRendererID, file); |
| 424 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); | 427 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); |
| 425 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); | 428 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); |
| 426 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); | 429 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); |
| 427 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); | 430 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); |
| 428 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); | 431 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); |
| 429 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | 432 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); |
| 433 EXPECT_TRUE(p->CanCopyIntoFileSystemFile(kRendererID, url)); |
| 434 EXPECT_TRUE(p->CanDeleteFileSystemFile(kRendererID, url)); |
| 430 p->Remove(kRendererID); | 435 p->Remove(kRendererID); |
| 431 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 436 CheckHasNoFileSystemFilePermission(p, file, url); |
| 432 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | |
| 433 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); | |
| 434 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | |
| 435 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | |
| 436 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | |
| 437 | 437 |
| 438 // Test having no permissions upon re-adding same renderer ID. | 438 // Test having no permissions upon re-adding same renderer ID. |
| 439 p->Add(kRendererID); | 439 p->Add(kRendererID); |
| 440 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 440 CheckHasNoFileSystemFilePermission(p, file, url); |
| 441 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); | |
| 442 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url)); | |
| 443 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); | |
| 444 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); | |
| 445 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); | |
| 446 | 441 |
| 447 // Cleanup. | 442 // Cleanup. |
| 448 p->Remove(kRendererID); | 443 p->Remove(kRendererID); |
| 449 } | 444 } |
| 450 | 445 |
| 451 TEST_F(ChildProcessSecurityPolicyTest, FilePermissions) { | 446 TEST_F(ChildProcessSecurityPolicyTest, FilePermissions) { |
| 452 base::FilePath granted_file = base::FilePath(TEST_PATH("/home/joe")); | 447 base::FilePath granted_file = base::FilePath(TEST_PATH("/home/joe")); |
| 453 base::FilePath sibling_file = base::FilePath(TEST_PATH("/home/bob")); | 448 base::FilePath sibling_file = base::FilePath(TEST_PATH("/home/bob")); |
| 454 base::FilePath child_file = base::FilePath(TEST_PATH("/home/joe/file")); | 449 base::FilePath child_file = base::FilePath(TEST_PATH("/home/joe/file")); |
| 455 base::FilePath parent_file = base::FilePath(TEST_PATH("/home")); | 450 base::FilePath parent_file = base::FilePath(TEST_PATH("/home")); |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 // queried on the IO thread. The ChildProcessSecurityPolicy needs to be | 634 // queried on the IO thread. The ChildProcessSecurityPolicy needs to be |
| 640 // prepared to answer policy questions about renderers who no longer exist. | 635 // prepared to answer policy questions about renderers who no longer exist. |
| 641 | 636 |
| 642 // In this case, we default to secure behavior. | 637 // In this case, we default to secure behavior. |
| 643 EXPECT_FALSE(p->CanRequestURL(kRendererID, url)); | 638 EXPECT_FALSE(p->CanRequestURL(kRendererID, url)); |
| 644 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); | 639 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); |
| 645 EXPECT_FALSE(p->HasWebUIBindings(kRendererID)); | 640 EXPECT_FALSE(p->HasWebUIBindings(kRendererID)); |
| 646 } | 641 } |
| 647 | 642 |
| 648 } // namespace content | 643 } // namespace content |
| OLD | NEW |