summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/file_ref.cc
diff options
context:
space:
mode:
authorpolina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 21:42:37 +0000
committerpolina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 21:42:37 +0000
commit917e86adc3f824f518c999dcba20bfd4cbf18a18 (patch)
tree52fe38f61527360231c17a905015066fb5d34bba /ppapi/cpp/file_ref.cc
parent9ae7b9195f0e06b64664bba52e9cc0e8b3470f56 (diff)
downloadchromium_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.cc10
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());
}