diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-05 03:07:29 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-05 03:07:29 +0000 |
commit | 1bea0d292c065d66f2f509f884023b69d8d37f04 (patch) | |
tree | 0c257c71b39a066db3723dc9063c2b9bd834ff32 /ppapi/thunk/ppb_file_chooser_thunk.cc | |
parent | 81283c90a1729e33ee61808430b3d86ff5320ce6 (diff) | |
download | chromium_src-1bea0d292c065d66f2f509f884023b69d8d37f04.zip chromium_src-1bea0d292c065d66f2f509f884023b69d8d37f04.tar.gz chromium_src-1bea0d292c065d66f2f509f884023b69d8d37f04.tar.bz2 |
Convert most users in thunk that used MayForceCallback to use the new Enter... format that does callback validation and forcing in its destructor.
This adds the same support for callback tracking for EnterFunction... as my previous patch did for EnterResource.
Review URL: http://codereview.chromium.org/9113044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120499 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/thunk/ppb_file_chooser_thunk.cc')
-rw-r--r-- | ppapi/thunk/ppb_file_chooser_thunk.cc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/ppapi/thunk/ppb_file_chooser_thunk.cc b/ppapi/thunk/ppb_file_chooser_thunk.cc index 1e783f9..b43b06a 100644 --- a/ppapi/thunk/ppb_file_chooser_thunk.cc +++ b/ppapi/thunk/ppb_file_chooser_thunk.cc @@ -7,7 +7,6 @@ #include "ppapi/c/pp_errors.h" #include "ppapi/c/trusted/ppb_file_chooser_trusted.h" #include "ppapi/shared_impl/var.h" -#include "ppapi/thunk/common.h" #include "ppapi/thunk/enter.h" #include "ppapi/thunk/thunk.h" #include "ppapi/thunk/ppb_file_chooser_api.h" @@ -21,7 +20,7 @@ namespace { PP_Resource Create(PP_Instance instance, PP_FileChooserMode_Dev mode, struct PP_Var accept_mime_types) { - EnterFunction<ResourceCreationAPI> enter(instance, true); + EnterResourceCreation enter(instance); if (enter.failed()) return 0; scoped_refptr<StringVar> string_var = @@ -36,11 +35,10 @@ PP_Bool IsFileChooser(PP_Resource resource) { } int32_t Show(PP_Resource chooser, PP_CompletionCallback callback) { - EnterResource<PPB_FileChooser_API> enter(chooser, true); + EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); if (enter.failed()) - return MayForceCallback(callback, PP_ERROR_BADRESOURCE); - int32_t result = enter.object()->Show(callback); - return MayForceCallback(callback, result); + return enter.retval(); + return enter.SetResult(enter.object()->Show(callback)); } PP_Resource GetNextChosenFile(PP_Resource chooser) { @@ -54,15 +52,14 @@ int32_t ShowWithoutUserGesture(PP_Resource chooser, PP_Bool save_as, PP_Var suggested_file_name, PP_CompletionCallback callback) { - EnterResource<PPB_FileChooser_API> enter(chooser, true); + EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); if (enter.failed()) - return MayForceCallback(callback, PP_ERROR_BADRESOURCE); + return enter.retval(); scoped_refptr<StringVar> string_var = StringVar::FromPPVar(suggested_file_name); std::string str = string_var ? string_var->value() : std::string(); - int32_t result = enter.object()->ShowWithoutUserGesture( - save_as == PP_TRUE, str.c_str(), callback); - return MayForceCallback(callback, result); + return enter.SetResult(enter.object()->ShowWithoutUserGesture( + save_as == PP_TRUE, str.c_str(), callback)); } const PPB_FileChooser_Dev g_ppb_file_chooser_thunk = { |