| Index: content/browser/child_process_security_policy_impl.cc
|
| ===================================================================
|
| --- content/browser/child_process_security_policy_impl.cc (revision 229901)
|
| +++ content/browser/child_process_security_policy_impl.cc (working copy)
|
| @@ -38,9 +38,10 @@
|
| WRITE_FILE_PERMISSION = 1 << 1,
|
| CREATE_NEW_FILE_PERMISSION = 1 << 2,
|
| CREATE_OVERWRITE_FILE_PERMISSION = 1 << 3,
|
| + DELETE_FILE_PERMISSION = 1 << 4,
|
|
|
| // Used by Media Galleries API
|
| - COPY_INTO_FILE_PERMISSION = 1 << 4,
|
| + COPY_INTO_FILE_PERMISSION = 1 << 5,
|
| };
|
|
|
| // Used internally only. Bitmasks that are actually used by the Grant* and Can*
|
| @@ -56,9 +57,11 @@
|
| CREATE_OVERWRITE_FILE_PERMISSION |
|
| READ_FILE_PERMISSION |
|
| WRITE_FILE_PERMISSION |
|
| - COPY_INTO_FILE_PERMISSION,
|
| + COPY_INTO_FILE_PERMISSION |
|
| + DELETE_FILE_PERMISSION,
|
|
|
| COPY_INTO_FILE_GRANT = COPY_INTO_FILE_PERMISSION,
|
| + DELETE_FILE_GRANT = DELETE_FILE_PERMISSION,
|
| };
|
|
|
| } // namespace
|
| @@ -478,6 +481,11 @@
|
| GrantPermissionsForFileSystem(child_id, filesystem_id, COPY_INTO_FILE_GRANT);
|
| }
|
|
|
| +void ChildProcessSecurityPolicyImpl::GrantDeleteFromFileSystem(
|
| + int child_id, const std::string& filesystem_id) {
|
| + GrantPermissionsForFileSystem(child_id, filesystem_id, DELETE_FILE_GRANT);
|
| +}
|
| +
|
| void ChildProcessSecurityPolicyImpl::GrantSendMIDISysExMessage(int child_id) {
|
| base::AutoLock lock(lock_);
|
|
|
| @@ -627,6 +635,12 @@
|
| COPY_INTO_FILE_GRANT);
|
| }
|
|
|
| +bool ChildProcessSecurityPolicyImpl::CanDeleteFromFileSystem(
|
| + int child_id, const std::string& filesystem_id) {
|
| + return HasPermissionsForFileSystem(child_id, filesystem_id,
|
| + DELETE_FILE_GRANT);
|
| +}
|
| +
|
| bool ChildProcessSecurityPolicyImpl::HasPermissionsForFile(
|
| int child_id, const base::FilePath& file, int permissions) {
|
| base::AutoLock lock(lock_);
|
| @@ -716,6 +730,12 @@
|
| return HasPermissionsForFileSystemFile(child_id, url, COPY_INTO_FILE_GRANT);
|
| }
|
|
|
| +bool ChildProcessSecurityPolicyImpl::CanDeleteFileSystemFile(
|
| + int child_id,
|
| + const fileapi::FileSystemURL& url) {
|
| + return HasPermissionsForFileSystemFile(child_id, url, DELETE_FILE_GRANT);
|
| +}
|
| +
|
| bool ChildProcessSecurityPolicyImpl::HasWebUIBindings(int child_id) {
|
| base::AutoLock lock(lock_);
|
|
|
|
|