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

Unified Diff: ppapi/proxy/file_system_resource.cc

Issue 26803004: PPAPI: Add PluginPrivateFileSystem (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/proxy/file_system_resource.cc
diff --git a/ppapi/proxy/file_system_resource.cc b/ppapi/proxy/file_system_resource.cc
index af1928b4c66c73ee486a46ce4b861ec8f23e211d..d5458d0184e920fe73bcce8676e31db98aadeac1 100644
--- a/ppapi/proxy/file_system_resource.cc
+++ b/ppapi/proxy/file_system_resource.cc
@@ -94,6 +94,24 @@ int32_t FileSystemResource::InitIsolatedFileSystem(
return PP_OK_COMPLETIONPENDING;
}
+int32_t FileSystemResource::OpenPluginPrivateFileSystem(
+ const base::Callback<void(int32_t)>& callback) {
+ // This call is mutually exclusive with Open() above, so we can reuse the
+ // called_open state.
+ DCHECK(type_ == PP_FILESYSTEMTYPE_ISOLATED);
+ if (called_open_)
+ return PP_ERROR_FAILED;
+ called_open_ = true;
+
+ Call<PpapiPluginMsg_FileSystem_OpenPluginPrivateFileSystemReply>(BROWSER,
+ PpapiHostMsg_FileSystem_OpenPluginPrivateFileSystem(),
+ base::Bind(&FileSystemResource::OpenPluginPrivateFileSystemComplete,
+ this,
+ callback));
+
+ return PP_OK_COMPLETIONPENDING;
+}
+
void FileSystemResource::OpenComplete(
scoped_refptr<TrackedCallback> callback,
const ResourceMessageReplyParams& params) {
@@ -112,5 +130,22 @@ void FileSystemResource::InitIsolatedFileSystemComplete(
callback.Run(params.result());
}
+void FileSystemResource::OpenPluginPrivateFileSystemComplete(
+ const base::Callback<void(int32_t)>& callback,
+ const ResourceMessageReplyParams& params,
+ const std::string& fsid) {
+ Call<PpapiPluginMsg_FileSystem_InitPluginPrivateFileSystemReply>(RENDERER,
teravest 2013/10/29 17:14:11 Why doesn't this call go to the BROWSER as well?
+ PpapiHostMsg_FileSystem_InitPluginPrivateFileSystem(fsid),
+ base::Bind(&FileSystemResource::InitPluginPrivateFileSystemComplete,
+ this,
+ callback));
+}
+
+void FileSystemResource::InitPluginPrivateFileSystemComplete(
+ const base::Callback<void(int32_t)>& callback,
+ const ResourceMessageReplyParams& params) {
+ callback.Run(params.result());
+}
+
} // namespace proxy
} // namespace ppapi

Powered by Google App Engine
This is Rietveld 408576698