summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 21:06:48 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 21:06:48 +0000
commit65486ad7c53dd9da35c5464bf8f6ade16bca1f58 (patch)
tree54bd4e702efaf01d0abf5c2e2ae4edb4a7cc898a /content
parent20e7cd1e49135d40d2d84f87358000defbf82cf6 (diff)
downloadchromium_src-65486ad7c53dd9da35c5464bf8f6ade16bca1f58.zip
chromium_src-65486ad7c53dd9da35c5464bf8f6ade16bca1f58.tar.gz
chromium_src-65486ad7c53dd9da35c5464bf8f6ade16bca1f58.tar.bz2
Change media galleries to external file system type to add toURL support
BUG=160900 R=creis@chromium.org, joi@chromium.org, thestig@chromium.org, tsepez@chromium.org, tzik@chromium.org Review URL: https://codereview.chromium.org/185393012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260276 0039d316-1c4b-4281-b951-d872f2087c98
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|.