1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // From trusted/ppb_file_chooser_trusted.idl, 6 // modified Tue Aug 20 08:13:36 2013. 7 8 #include "ppapi/c/pp_completion_callback.h" 9 #include "ppapi/c/pp_errors.h" 10 #include "ppapi/c/trusted/ppb_file_chooser_trusted.h" 11 #include "ppapi/shared_impl/tracked_callback.h" 12 #include "ppapi/thunk/enter.h" 13 #include "ppapi/thunk/ppapi_thunk_export.h" 14 #include "ppapi/thunk/ppb_file_chooser_api.h" 15 16 namespace ppapi { 17 namespace thunk { 18 19 namespace { 20 21 int32_t ShowWithoutUserGesture_0_5(PP_Resource chooser, 22 PP_Bool save_as, 23 struct PP_Var suggested_file_name, 24 struct PP_CompletionCallback callback) { 25 VLOG(4) << "PPB_FileChooserTrusted::ShowWithoutUserGesture()"; 26 EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); 27 if (enter.failed()) 28 return enter.retval(); 29 return enter.SetResult(enter.object()->ShowWithoutUserGesture0_5( 30 save_as, 31 suggested_file_name, 32 enter.callback())); 33 } 34 35 int32_t ShowWithoutUserGesture(PP_Resource chooser, 36 PP_Bool save_as, 37 struct PP_Var suggested_file_name, 38 struct PP_ArrayOutput output, 39 struct PP_CompletionCallback callback) { 40 VLOG(4) << "PPB_FileChooserTrusted::ShowWithoutUserGesture()"; 41 EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); 42 if (enter.failed()) 43 return enter.retval(); 44 return enter.SetResult(enter.object()->ShowWithoutUserGesture( 45 save_as, 46 suggested_file_name, 47 output, 48 enter.callback())); 49 } 50 51 const PPB_FileChooserTrusted_0_5 g_ppb_filechoosertrusted_thunk_0_5 = { 52 &ShowWithoutUserGesture_0_5 53 }; 54 55 const PPB_FileChooserTrusted_0_6 g_ppb_filechoosertrusted_thunk_0_6 = { 56 &ShowWithoutUserGesture 57 }; 58 59 } // namespace 60 61 PPAPI_THUNK_EXPORT const PPB_FileChooserTrusted_0_5* 62 GetPPB_FileChooserTrusted_0_5_Thunk() { 63 return &g_ppb_filechoosertrusted_thunk_0_5; 64 } 65 66 PPAPI_THUNK_EXPORT const PPB_FileChooserTrusted_0_6* 67 GetPPB_FileChooserTrusted_0_6_Thunk() { 68 return &g_ppb_filechoosertrusted_thunk_0_6; 69 } 70 71 } // namespace thunk 72 } // namespace ppapi 73