diff options
author | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 11:09:20 +0000 |
---|---|---|
committer | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 11:09:20 +0000 |
commit | e9c0335ee03f14e4f6577dec8d2f9c5744bc577f (patch) | |
tree | 1b5cab9e9df0d300de040d132aecb8a0573e94f5 /ppapi/cpp/file_ref.cc | |
parent | 0efdfd734dda4fcd167d66fb4225fd42c8d7fa02 (diff) | |
download | chromium_src-e9c0335ee03f14e4f6577dec8d2f9c5744bc577f.zip chromium_src-e9c0335ee03f14e4f6577dec8d2f9c5744bc577f.tar.gz chromium_src-e9c0335ee03f14e4f6577dec8d2f9c5744bc577f.tar.bz2 |
Revert 243802 "PPAPI: Add new PPB_FileRef.MakeDirectory to suppo..."
This breaks examples of NaCl SDK.
http://build.chromium.org/p/client.nacl.sdk/builders/mac-sdk-multi/builds/6796
> PPAPI: Add new PPB_FileRef.MakeDirectory to support exclusive operation
>
> Current PPB_FileRef.MakeDirectory returns PP_OK if a directory exists on
> the given path. This makes it difficult to create POSIX compatible API on
> top of PPAPI.
>
> This change introduces new PPB_FileRef.MakeDirectory as dev channel API.
> That makes a new directory according to the given PP_MakeDirectoryFlags
> values. The flags provide exclusive operation option. If exclusive flag
> is specified and a directory exists on the given path, the function fails
> and returns PP_ERROR_FILEEXISTS.
>
>
> BUG=314879
> TEST=browser_tests
>
> Review URL: https://codereview.chromium.org/113363004
TBR=nhiroki@chromium.org
Review URL: https://codereview.chromium.org/131473002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243842 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/file_ref.cc')
-rw-r--r-- | ppapi/cpp/file_ref.cc | 91 |
1 files changed, 26 insertions, 65 deletions
diff --git a/ppapi/cpp/file_ref.cc b/ppapi/cpp/file_ref.cc index f9294a7..0bc9487 100644 --- a/ppapi/cpp/file_ref.cc +++ b/ppapi/cpp/file_ref.cc @@ -4,7 +4,6 @@ #include "ppapi/cpp/file_ref.h" -#include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_errors.h" #include "ppapi/cpp/completion_callback.h" #include "ppapi/cpp/directory_entry.h" @@ -23,10 +22,6 @@ template <> const char* interface_name<PPB_FileRef_1_1>() { return PPB_FILEREF_INTERFACE_1_1; } -template <> const char* interface_name<PPB_FileRef_1_2>() { - return PPB_FILEREF_INTERFACE_1_2; -} - } // namespace FileRef::FileRef(PP_Resource resource) : Resource(resource) { @@ -37,10 +32,7 @@ FileRef::FileRef(PassRef, PP_Resource resource) : Resource(PASS_REF, resource) { FileRef::FileRef(const FileSystem& file_system, const char* path) { - if (has_interface<PPB_FileRef_1_2>()) { - PassRefFromConstructor(get_interface<PPB_FileRef_1_2>()->Create( - file_system.pp_resource(), path)); - } else if (has_interface<PPB_FileRef_1_1>()) { + if (has_interface<PPB_FileRef_1_1>()) { PassRefFromConstructor(get_interface<PPB_FileRef_1_1>()->Create( file_system.pp_resource(), path)); } else if (has_interface<PPB_FileRef_1_0>()) { @@ -54,8 +46,6 @@ FileRef::FileRef(const FileRef& other) } PP_FileSystemType FileRef::GetFileSystemType() const { - if (has_interface<PPB_FileRef_1_2>()) - return get_interface<PPB_FileRef_1_2>()->GetFileSystemType(pp_resource()); if (has_interface<PPB_FileRef_1_1>()) return get_interface<PPB_FileRef_1_1>()->GetFileSystemType(pp_resource()); if (has_interface<PPB_FileRef_1_0>()) @@ -64,10 +54,6 @@ PP_FileSystemType FileRef::GetFileSystemType() const { } Var FileRef::GetName() const { - if (has_interface<PPB_FileRef_1_2>()) { - return Var(PASS_REF, - get_interface<PPB_FileRef_1_2>()->GetName(pp_resource())); - } if (has_interface<PPB_FileRef_1_1>()) { return Var(PASS_REF, get_interface<PPB_FileRef_1_1>()->GetName(pp_resource())); @@ -80,10 +66,6 @@ Var FileRef::GetName() const { } Var FileRef::GetPath() const { - if (has_interface<PPB_FileRef_1_2>()) { - return Var(PASS_REF, - get_interface<PPB_FileRef_1_2>()->GetPath(pp_resource())); - } if (has_interface<PPB_FileRef_1_1>()) { return Var(PASS_REF, get_interface<PPB_FileRef_1_1>()->GetPath(pp_resource())); @@ -96,10 +78,6 @@ Var FileRef::GetPath() const { } FileRef FileRef::GetParent() const { - if (has_interface<PPB_FileRef_1_2>()) { - return FileRef(PASS_REF, - get_interface<PPB_FileRef_1_2>()->GetParent(pp_resource())); - } if (has_interface<PPB_FileRef_1_1>()) { return FileRef(PASS_REF, get_interface<PPB_FileRef_1_1>()->GetParent(pp_resource())); @@ -111,28 +89,34 @@ FileRef FileRef::GetParent() const { return FileRef(); } -int32_t FileRef::MakeDirectory(int32_t make_directory_flags, - const CompletionCallback& cc) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->MakeDirectory( +int32_t FileRef::MakeDirectory(const CompletionCallback& cc) { + if (has_interface<PPB_FileRef_1_1>()) { + return get_interface<PPB_FileRef_1_1>()->MakeDirectory( + pp_resource(), + PP_FALSE, // make_ancestors + cc.pp_completion_callback()); + } + if (has_interface<PPB_FileRef_1_0>()) { + return get_interface<PPB_FileRef_1_0>()->MakeDirectory( pp_resource(), - make_directory_flags, + PP_FALSE, // make_ancestors cc.pp_completion_callback()); } + return cc.MayForce(PP_ERROR_NOINTERFACE); +} + +int32_t FileRef::MakeDirectoryIncludingAncestors( + const CompletionCallback& cc) { if (has_interface<PPB_FileRef_1_1>()) { - if (make_directory_flags & ~PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS) - return cc.MayForce(PP_ERROR_NOTSUPPORTED); return get_interface<PPB_FileRef_1_1>()->MakeDirectory( pp_resource(), - PP_FromBool(make_directory_flags & PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS), + PP_TRUE, // make_ancestors cc.pp_completion_callback()); } if (has_interface<PPB_FileRef_1_0>()) { - if (make_directory_flags & ~PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS) - return cc.MayForce(PP_ERROR_NOTSUPPORTED); return get_interface<PPB_FileRef_1_0>()->MakeDirectory( pp_resource(), - PP_FromBool(make_directory_flags & PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS), + PP_TRUE, // make_ancestors cc.pp_completion_callback()); } return cc.MayForce(PP_ERROR_NOINTERFACE); @@ -141,11 +125,6 @@ int32_t FileRef::MakeDirectory(int32_t make_directory_flags, int32_t FileRef::Touch(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback& cc) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->Touch( - pp_resource(), last_access_time, last_modified_time, - cc.pp_completion_callback()); - } if (has_interface<PPB_FileRef_1_1>()) { return get_interface<PPB_FileRef_1_1>()->Touch( pp_resource(), last_access_time, last_modified_time, @@ -160,10 +139,6 @@ int32_t FileRef::Touch(PP_Time last_access_time, } int32_t FileRef::Delete(const CompletionCallback& cc) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->Delete( - pp_resource(), cc.pp_completion_callback()); - } if (has_interface<PPB_FileRef_1_1>()) { return get_interface<PPB_FileRef_1_1>()->Delete( pp_resource(), cc.pp_completion_callback()); @@ -177,10 +152,6 @@ int32_t FileRef::Delete(const CompletionCallback& cc) { int32_t FileRef::Rename(const FileRef& new_file_ref, const CompletionCallback& cc) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->Rename( - pp_resource(), new_file_ref.pp_resource(), cc.pp_completion_callback()); - } if (has_interface<PPB_FileRef_1_1>()) { return get_interface<PPB_FileRef_1_1>()->Rename( pp_resource(), new_file_ref.pp_resource(), cc.pp_completion_callback()); @@ -193,29 +164,19 @@ int32_t FileRef::Rename(const FileRef& new_file_ref, } int32_t FileRef::Query(const CompletionCallbackWithOutput<PP_FileInfo>& cc) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->Query( - pp_resource(), cc.output(), cc.pp_completion_callback()); - } - if (has_interface<PPB_FileRef_1_1>()) { - return get_interface<PPB_FileRef_1_1>()->Query( - pp_resource(), cc.output(), cc.pp_completion_callback()); - } - return cc.MayForce(PP_ERROR_NOINTERFACE); + if (!has_interface<PPB_FileRef_1_1>()) + return cc.MayForce(PP_ERROR_NOINTERFACE); + return get_interface<PPB_FileRef_1_1>()->Query( + pp_resource(), cc.output(), cc.pp_completion_callback()); } int32_t FileRef::ReadDirectoryEntries( const CompletionCallbackWithOutput<std::vector<DirectoryEntry> >& callback) { - if (has_interface<PPB_FileRef_1_2>()) { - return get_interface<PPB_FileRef_1_2>()->ReadDirectoryEntries( - pp_resource(), callback.output(), callback.pp_completion_callback()); - } - if (has_interface<PPB_FileRef_1_1>()) { - return get_interface<PPB_FileRef_1_1>()->ReadDirectoryEntries( - pp_resource(), callback.output(), callback.pp_completion_callback()); - } - return callback.MayForce(PP_ERROR_NOINTERFACE); + if (!has_interface<PPB_FileRef_1_1>()) + return callback.MayForce(PP_ERROR_NOINTERFACE); + return get_interface<PPB_FileRef_1_1>()->ReadDirectoryEntries( + pp_resource(), callback.output(), callback.pp_completion_callback()); } } // namespace pp |