diff options
author | polina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-30 21:42:37 +0000 |
---|---|---|
committer | polina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-30 21:42:37 +0000 |
commit | 917e86adc3f824f518c999dcba20bfd4cbf18a18 (patch) | |
tree | 52fe38f61527360231c17a905015066fb5d34bba /ppapi/cpp/file_ref.cc | |
parent | 9ae7b9195f0e06b64664bba52e9cc0e8b3470f56 (diff) | |
download | chromium_src-917e86adc3f824f518c999dcba20bfd4cbf18a18.zip chromium_src-917e86adc3f824f518c999dcba20bfd4cbf18a18.tar.gz chromium_src-917e86adc3f824f518c999dcba20bfd4cbf18a18.tar.bz2 |
Add a flag field to PP_CompletionCallback to control if the callback should
always be invoked asynchronously on success or error or skipped if the
operation can complete synchronously without blocking. Keep the default
behavior as-is until clients update their code. Bump revisions of all
interfaces that take callbacks as args. Update browser interface function
implementations and C++ layer to force callbacks if sync option is not set.
Change ppapi/tests to run tests involving callbacks with both flag options.
BUG=79376
TEST=ppapi_tests + bots
Review URL: http://codereview.chromium.org/6899055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91205 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/file_ref.cc')
-rw-r--r-- | ppapi/cpp/file_ref.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ppapi/cpp/file_ref.cc b/ppapi/cpp/file_ref.cc index fdae3d8..ed98974 100644 --- a/ppapi/cpp/file_ref.cc +++ b/ppapi/cpp/file_ref.cc @@ -69,7 +69,7 @@ FileRef FileRef::GetParent() const { int32_t FileRef::MakeDirectory(const CompletionCallback& cc) { if (!has_interface<PPB_FileRef>()) - return PP_ERROR_NOINTERFACE; + return cc.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_FileRef>()->MakeDirectory( pp_resource(), PP_FALSE, // make_ancestors @@ -79,7 +79,7 @@ int32_t FileRef::MakeDirectory(const CompletionCallback& cc) { int32_t FileRef::MakeDirectoryIncludingAncestors( const CompletionCallback& cc) { if (!has_interface<PPB_FileRef>()) - return PP_ERROR_NOINTERFACE; + return cc.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_FileRef>()->MakeDirectory( pp_resource(), PP_TRUE, // make_ancestors @@ -90,7 +90,7 @@ int32_t FileRef::Touch(PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback& cc) { if (!has_interface<PPB_FileRef>()) - return PP_ERROR_NOINTERFACE; + return cc.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_FileRef>()->Touch( pp_resource(), last_access_time, last_modified_time, cc.pp_completion_callback()); @@ -98,7 +98,7 @@ int32_t FileRef::Touch(PP_Time last_access_time, int32_t FileRef::Delete(const CompletionCallback& cc) { if (!has_interface<PPB_FileRef>()) - return PP_ERROR_NOINTERFACE; + return cc.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_FileRef>()->Delete( pp_resource(), cc.pp_completion_callback()); } @@ -106,7 +106,7 @@ int32_t FileRef::Delete(const CompletionCallback& cc) { int32_t FileRef::Rename(const FileRef& new_file_ref, const CompletionCallback& cc) { if (!has_interface<PPB_FileRef>()) - return PP_ERROR_NOINTERFACE; + return cc.MayForce(PP_ERROR_NOINTERFACE); return get_interface<PPB_FileRef>()->Rename( pp_resource(), new_file_ref.pp_resource(), cc.pp_completion_callback()); } |