| Index: content/browser/child_process_security_policy_impl.cc
|
| diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
| index 3ddd5d5e3050ec60921614ef64726eedb1a7acd2..b9e53d3c73f485a4e81251123d6cee74a3bc5861 100644
|
| --- a/content/browser/child_process_security_policy_impl.cc
|
| +++ b/content/browser/child_process_security_policy_impl.cc
|
| @@ -49,6 +49,30 @@ const int kEnumerateDirectoryPermissions =
|
| kReadFilePermissions |
|
| base::PLATFORM_FILE_ENUMERATE;
|
|
|
| +const int kReadWriteFilePermissions =
|
| + base::PLATFORM_FILE_OPEN |
|
| + base::PLATFORM_FILE_CREATE |
|
| + base::PLATFORM_FILE_OPEN_ALWAYS |
|
| + base::PLATFORM_FILE_CREATE_ALWAYS |
|
| + base::PLATFORM_FILE_OPEN_TRUNCATED |
|
| + base::PLATFORM_FILE_READ |
|
| + base::PLATFORM_FILE_WRITE |
|
| + base::PLATFORM_FILE_EXCLUSIVE_READ |
|
| + base::PLATFORM_FILE_EXCLUSIVE_WRITE |
|
| + base::PLATFORM_FILE_ASYNC |
|
| + base::PLATFORM_FILE_WRITE_ATTRIBUTES;
|
| +
|
| +const int kCreateWriteFilePermissions =
|
| + base::PLATFORM_FILE_CREATE |
|
| + base::PLATFORM_FILE_CREATE_ALWAYS |
|
| + base::PLATFORM_FILE_OPEN |
|
| + base::PLATFORM_FILE_OPEN_ALWAYS |
|
| + base::PLATFORM_FILE_OPEN_TRUNCATED |
|
| + base::PLATFORM_FILE_WRITE |
|
| + base::PLATFORM_FILE_WRITE_ATTRIBUTES |
|
| + base::PLATFORM_FILE_ASYNC;
|
| + // need EXCLUSIVE_WRITE in this mix?
|
| +
|
| } // namespace
|
|
|
| // The SecurityState class is used to maintain per-child process security state
|
| @@ -408,6 +432,16 @@ void ChildProcessSecurityPolicyImpl::GrantReadFile(int child_id,
|
| GrantPermissionsForFile(child_id, file, kReadFilePermissions);
|
| }
|
|
|
| +void ChildProcessSecurityPolicyImpl::GrantReadWriteFile(
|
| + int child_id, const base::FilePath& file) {
|
| + GrantPermissionsForFile(child_id, file, kReadWriteFilePermissions);
|
| +}
|
| +
|
| +void ChildProcessSecurityPolicyImpl::GrantCreateWriteFile(
|
| + int child_id, const base::FilePath& file) {
|
| + GrantPermissionsForFile(child_id, file, kCreateWriteFilePermissions);
|
| +}
|
| +
|
| void ChildProcessSecurityPolicyImpl::GrantReadDirectory(
|
| int child_id, const base::FilePath& directory) {
|
| GrantPermissionsForFile(child_id, directory, kEnumerateDirectoryPermissions);
|
|
|