summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/browser/child_process_security_policy_impl.cc10
-rw-r--r--content/browser/child_process_security_policy_impl.h3
-rw-r--r--content/public/browser/child_process_security_policy.h6
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|.