Index: content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc |
diff --git a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc |
index 6b12a32ddf424940aa38c64b651548a887236d0d..27ba37dfcca0ddbda4168912d1448b634d1d7dac 100644 |
--- a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc |
+++ b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc |
@@ -105,10 +105,35 @@ base::FilePath PepperExternalFileRefBackend::GetExternalPath() const { |
return path_; |
} |
-int32_t PepperExternalFileRefBackend::HasPermissions( |
- int permissions) const { |
- if (!ChildProcessSecurityPolicyImpl::GetInstance()->HasPermissionsForFile( |
- render_process_id_, path_, permissions)) { |
+int32_t PepperExternalFileRefBackend::CanRead() const { |
+ if (!ChildProcessSecurityPolicyImpl::GetInstance()-> |
+ CanReadFile(render_process_id_, path_)) { |
+ return PP_ERROR_NOACCESS; |
+ } |
+ return PP_OK; |
+} |
+ |
+int32_t PepperExternalFileRefBackend::CanWrite() const { |
+ if (!ChildProcessSecurityPolicyImpl::GetInstance()-> |
+ CanWriteFile(render_process_id_, path_)) { |
+ return PP_ERROR_NOACCESS; |
+ } |
+ return PP_OK; |
+} |
+ |
+int32_t PepperExternalFileRefBackend::CanCreate() const { |
+ if (!ChildProcessSecurityPolicyImpl::GetInstance()-> |
+ CanCreateFile(render_process_id_, path_)) { |
+ return PP_ERROR_NOACCESS; |
+ } |
+ return PP_OK; |
+} |
+ |
+int32_t PepperExternalFileRefBackend::CanReadWrite() const { |
+ ChildProcessSecurityPolicyImpl* policy = |
+ ChildProcessSecurityPolicyImpl::GetInstance(); |
+ if (!policy->CanReadFile(render_process_id_, path_) || |
+ !policy->CanWriteFile(render_process_id_, path_)) { |
return PP_ERROR_NOACCESS; |
} |
return PP_OK; |