Chromium Code Reviews| Index: content/browser/renderer_host/pepper/pepper_file_ref_host.cc |
| diff --git a/content/browser/renderer_host/pepper/pepper_file_ref_host.cc b/content/browser/renderer_host/pepper/pepper_file_ref_host.cc |
| index 51715a17a55669a4da23d74ba0629fa92158da40..e0a668bde41475455dae8e9d87c766f77b280bc0 100644 |
| --- a/content/browser/renderer_host/pepper/pepper_file_ref_host.cc |
| +++ b/content/browser/renderer_host/pepper/pepper_file_ref_host.cc |
| @@ -127,9 +127,21 @@ base::FilePath PepperFileRefHost::GetExternalPath() const { |
| return base::FilePath(); |
| } |
| -int32_t PepperFileRefHost::HasPermissions(int permissions) const { |
| +int32_t PepperFileRefHost::CanRead() const { |
| if (backend_) |
| - return backend_->HasPermissions(permissions); |
| + return backend_->CanRead(); |
| + return PP_ERROR_FAILED; |
| +} |
| + |
| +int32_t PepperFileRefHost::CanWrite() const { |
| + if (backend_) |
| + return backend_->CanWrite(); |
| + return PP_ERROR_FAILED; |
| +} |
| + |
| +int32_t PepperFileRefHost::CanCreate() const { |
| + if (backend_) |
| + return backend_->CanCreate(); |
| return PP_ERROR_FAILED; |
| } |
| @@ -163,7 +175,7 @@ int32_t PepperFileRefHost::OnResourceMessageReceived( |
| int32_t PepperFileRefHost::OnMakeDirectory( |
| ppapi::host::HostMessageContext* context, |
| bool make_ancestors) { |
| - int32_t rv = HasPermissions(fileapi::kCreateFilePermissions); |
| + int32_t rv = CanCreate(); |
| if (rv != PP_OK) |
| return rv; |
| return backend_->MakeDirectory(context->MakeReplyMessageContext(), |
| @@ -175,7 +187,7 @@ int32_t PepperFileRefHost::OnTouch(ppapi::host::HostMessageContext* context, |
| PP_Time last_modified_time) { |
| // TODO(teravest): Change this to be kWriteFilePermissions here and in |
| // fileapi_message_filter. |
| - int32_t rv = HasPermissions(fileapi::kCreateFilePermissions); |
| + int32_t rv = CanCreate(); |
| if (rv != PP_OK) |
| return rv; |
| return backend_->Touch(context->MakeReplyMessageContext(), |
| @@ -184,7 +196,7 @@ int32_t PepperFileRefHost::OnTouch(ppapi::host::HostMessageContext* context, |
| } |
| int32_t PepperFileRefHost::OnDelete(ppapi::host::HostMessageContext* context) { |
| - int32_t rv = HasPermissions(fileapi::kWriteFilePermissions); |
| + int32_t rv = CanWrite(); |
| if (rv != PP_OK) |
| return rv; |
| return backend_->Delete(context->MakeReplyMessageContext()); |
| @@ -192,8 +204,11 @@ int32_t PepperFileRefHost::OnDelete(ppapi::host::HostMessageContext* context) { |
| int32_t PepperFileRefHost::OnRename(ppapi::host::HostMessageContext* context, |
| PP_Resource new_file_ref) { |
| - int32_t rv = HasPermissions( |
| - fileapi::kReadFilePermissions | fileapi::kWriteFilePermissions); |
| + int32_t rv = CanRead(); |
| + if (rv != PP_OK) |
| + return rv; |
| + |
| + rv = CanWrite(); |
|
Tom Sepez
2013/07/19 18:39:28
Doesn't checking read/write separately have the ef
tommycli
2013/07/23 21:12:35
Done.
|
| if (rv != PP_OK) |
| return rv; |
| @@ -206,7 +221,7 @@ int32_t PepperFileRefHost::OnRename(ppapi::host::HostMessageContext* context, |
| if (!file_ref_host) |
| return PP_ERROR_BADRESOURCE; |
| - rv = file_ref_host->HasPermissions(fileapi::kCreateFilePermissions); |
| + rv = file_ref_host->CanCreate(); |
| if (rv != PP_OK) |
| return rv; |
| @@ -215,7 +230,7 @@ int32_t PepperFileRefHost::OnRename(ppapi::host::HostMessageContext* context, |
| } |
| int32_t PepperFileRefHost::OnQuery(ppapi::host::HostMessageContext* context) { |
| - int32_t rv = HasPermissions(fileapi::kReadFilePermissions); |
| + int32_t rv = CanRead(); |
| if (rv != PP_OK) |
| return rv; |
| return backend_->Query(context->MakeReplyMessageContext()); |
| @@ -223,7 +238,7 @@ int32_t PepperFileRefHost::OnQuery(ppapi::host::HostMessageContext* context) { |
| int32_t PepperFileRefHost::OnReadDirectoryEntries( |
| ppapi::host::HostMessageContext* context) { |
| - int32_t rv = HasPermissions(fileapi::kReadFilePermissions); |
| + int32_t rv = CanRead(); |
| if (rv != PP_OK) |
| return rv; |
| return backend_->ReadDirectoryEntries(context->MakeReplyMessageContext()); |