Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc

Issue 113363004: PPAPI: Add new PPB_FileRef.MakeDirectory to support exclusive operation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review fix Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/pepper/pepper_internal_file_ref_backend. h" 5 #include "content/browser/renderer_host/pepper/pepper_internal_file_ref_backend. h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 void PepperInternalFileRefBackend::DidFinish( 85 void PepperInternalFileRefBackend::DidFinish(
86 ppapi::host::ReplyMessageContext context, 86 ppapi::host::ReplyMessageContext context,
87 const IPC::Message& msg, 87 const IPC::Message& msg,
88 base::PlatformFileError error) { 88 base::PlatformFileError error) {
89 context.params.set_result(ppapi::PlatformFileErrorToPepperError(error)); 89 context.params.set_result(ppapi::PlatformFileErrorToPepperError(error));
90 host_->SendReply(context, msg); 90 host_->SendReply(context, msg);
91 } 91 }
92 92
93 int32_t PepperInternalFileRefBackend::MakeDirectory( 93 int32_t PepperInternalFileRefBackend::MakeDirectory(
94 ppapi::host::ReplyMessageContext reply_context, 94 ppapi::host::ReplyMessageContext reply_context,
95 bool exclusive,
95 bool make_ancestors) { 96 bool make_ancestors) {
96 if (!GetFileSystemURL().is_valid()) 97 if (!GetFileSystemURL().is_valid())
97 return PP_ERROR_FAILED; 98 return PP_ERROR_FAILED;
98 99
99 GetFileSystemContext()->operation_runner()->CreateDirectory( 100 GetFileSystemContext()->operation_runner()->CreateDirectory(
100 GetFileSystemURL(), 101 GetFileSystemURL(),
101 false, 102 exclusive,
102 make_ancestors, 103 make_ancestors,
103 base::Bind(&PepperInternalFileRefBackend::DidFinish, 104 base::Bind(&PepperInternalFileRefBackend::DidFinish,
104 weak_factory_.GetWeakPtr(), 105 weak_factory_.GetWeakPtr(),
105 reply_context, 106 reply_context,
106 PpapiPluginMsg_FileRef_MakeDirectoryReply())); 107 PpapiPluginMsg_FileRef_MakeDirectoryReply()));
107 return PP_OK_COMPLETIONPENDING; 108 return PP_OK_COMPLETIONPENDING;
108 } 109 }
109 110
110 int32_t PepperInternalFileRefBackend::Touch( 111 int32_t PepperInternalFileRefBackend::Touch(
111 ppapi::host::ReplyMessageContext reply_context, 112 ppapi::host::ReplyMessageContext reply_context,
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 ChildProcessSecurityPolicyImpl* policy = 292 ChildProcessSecurityPolicyImpl* policy =
292 ChildProcessSecurityPolicyImpl::GetInstance(); 293 ChildProcessSecurityPolicyImpl::GetInstance();
293 if (!policy->CanReadFileSystemFile(render_process_id_, url) || 294 if (!policy->CanReadFileSystemFile(render_process_id_, url) ||
294 !policy->CanWriteFileSystemFile(render_process_id_, url)) { 295 !policy->CanWriteFileSystemFile(render_process_id_, url)) {
295 return PP_ERROR_NOACCESS; 296 return PP_ERROR_NOACCESS;
296 } 297 }
297 return PP_OK; 298 return PP_OK;
298 } 299 }
299 300
300 } // namespace content 301 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698