| Index: webkit/plugins/ppapi/ppb_file_system_impl.cc
|
| ===================================================================
|
| --- webkit/plugins/ppapi/ppb_file_system_impl.cc (revision 75471)
|
| +++ webkit/plugins/ppapi/ppb_file_system_impl.cc (working copy)
|
| @@ -12,6 +12,7 @@
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginContainer.h"
|
| #include "webkit/fileapi/file_system_types.h"
|
| +#include "webkit/plugins/ppapi/common.h"
|
| #include "webkit/plugins/ppapi/file_callbacks.h"
|
| #include "webkit/plugins/ppapi/plugin_delegate.h"
|
| #include "webkit/plugins/ppapi/plugin_module.h"
|
| @@ -31,11 +32,22 @@
|
| if (!plugin_instance)
|
| return 0;
|
|
|
| + if (type != PP_FILESYSTEMTYPE_EXTERNAL &&
|
| + type != PP_FILESYSTEMTYPE_LOCALPERSISTENT &&
|
| + type != PP_FILESYSTEMTYPE_LOCALTEMPORARY)
|
| + return 0;
|
| +
|
| PPB_FileSystem_Impl* file_system =
|
| new PPB_FileSystem_Impl(plugin_instance, type);
|
| return file_system->GetReference();
|
| }
|
|
|
| +PP_Bool IsFileSystem(PP_Resource resource) {
|
| + scoped_refptr<PPB_FileSystem_Impl> file_system(
|
| + Resource::GetAs<PPB_FileSystem_Impl>(resource));
|
| + return BoolToPPBool(!!file_system.get());
|
| +}
|
| +
|
| int32_t Open(PP_Resource file_system_id,
|
| int64 expected_size,
|
| PP_CompletionCallback callback) {
|
| @@ -66,9 +78,19 @@
|
| return PP_ERROR_WOULDBLOCK;
|
| }
|
|
|
| +PP_FileSystemType_Dev GetType(PP_Resource resource) {
|
| + scoped_refptr<PPB_FileSystem_Impl> file_system(
|
| + Resource::GetAs<PPB_FileSystem_Impl>(resource));
|
| + if (!file_system)
|
| + return PP_FILESYSTEMTYPE_NONE;
|
| + return file_system->type();
|
| +}
|
| +
|
| const PPB_FileSystem_Dev ppb_filesystem = {
|
| &Create,
|
| - &Open
|
| + &IsFileSystem,
|
| + &Open,
|
| + &GetType
|
| };
|
|
|
| } // namespace
|
| @@ -79,6 +101,7 @@
|
| instance_(instance),
|
| type_(type),
|
| opened_(false) {
|
| + DCHECK(type_ != PP_FILESYSTEMTYPE_NONE);
|
| }
|
|
|
| PPB_FileSystem_Impl* PPB_FileSystem_Impl::AsPPB_FileSystem_Impl() {
|
|
|