diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/child_process_security_policy_impl.cc | 10 | ||||
-rw-r--r-- | content/browser/child_process_security_policy_impl.h | 3 | ||||
-rw-r--r-- | content/public/browser/child_process_security_policy.h | 6 |
3 files changed, 19 insertions, 0 deletions
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc index c6200dd..cadd31c 100644 --- a/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc @@ -461,6 +461,16 @@ void ChildProcessSecurityPolicyImpl::GrantCreateReadWriteFile( GrantPermissionsForFile(child_id, file, CREATE_READ_WRITE_FILE_GRANT); } +void ChildProcessSecurityPolicyImpl::GrantCopyInto(int child_id, + const base::FilePath& dir) { + GrantPermissionsForFile(child_id, dir, COPY_INTO_FILE_GRANT); +} + +void ChildProcessSecurityPolicyImpl::GrantDeleteFrom( + int child_id, const base::FilePath& dir) { + GrantPermissionsForFile(child_id, dir, DELETE_FILE_GRANT); +} + void ChildProcessSecurityPolicyImpl::GrantPermissionsForFile( int child_id, const base::FilePath& file, int permissions) { base::AutoLock lock(lock_); diff --git a/content/browser/child_process_security_policy_impl.h b/content/browser/child_process_security_policy_impl.h index db640d8..005292c 100644 --- a/content/browser/child_process_security_policy_impl.h +++ b/content/browser/child_process_security_policy_impl.h @@ -45,6 +45,9 @@ class CONTENT_EXPORT ChildProcessSecurityPolicyImpl virtual void GrantReadFile(int child_id, const base::FilePath& file) OVERRIDE; virtual void GrantCreateReadWriteFile(int child_id, const base::FilePath& file) OVERRIDE; + virtual void GrantCopyInto(int child_id, const base::FilePath& dir) OVERRIDE; + virtual void GrantDeleteFrom(int child_id, + const base::FilePath& dir) OVERRIDE; virtual void GrantReadFileSystem( int child_id, const std::string& filesystem_id) OVERRIDE; diff --git a/content/public/browser/child_process_security_policy.h b/content/public/browser/child_process_security_policy.h index 2f462b2..261bf58 100644 --- a/content/public/browser/child_process_security_policy.h +++ b/content/public/browser/child_process_security_policy.h @@ -51,6 +51,12 @@ class ChildProcessSecurityPolicy { virtual void GrantCreateReadWriteFile(int child_id, const base::FilePath& file) = 0; + // This permission grants copy-into permission for |dir|. + virtual void GrantCopyInto(int child_id, const base::FilePath& dir) = 0; + + // This permission grants delete permission for |dir|. + virtual void GrantDeleteFrom(int child_id, const base::FilePath& dir) = 0; + // These methods verify whether or not the child process has been granted // permissions perform these functions on |file|. |