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 Mon Apr 1 08:24:03 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/ppb_file_chooser_api.h" 14#include "ppapi/thunk/ppb_instance_api.h" 15#include "ppapi/thunk/resource_creation_api.h" 16#include "ppapi/thunk/thunk.h" 17 18namespace ppapi { 19namespace thunk { 20 21namespace { 22 23int32_t ShowWithoutUserGesture_0_5(PP_Resource chooser, 24 PP_Bool save_as, 25 struct PP_Var suggested_file_name, 26 struct PP_CompletionCallback callback) { 27 VLOG(4) << "PPB_FileChooserTrusted::ShowWithoutUserGesture()"; 28 EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); 29 if (enter.failed()) 30 return enter.retval(); 31 return enter.SetResult(enter.object()->ShowWithoutUserGesture0_5( 32 save_as, 33 suggested_file_name, 34 enter.callback())); 35} 36 37int32_t ShowWithoutUserGesture(PP_Resource chooser, 38 PP_Bool save_as, 39 struct PP_Var suggested_file_name, 40 struct PP_ArrayOutput output, 41 struct PP_CompletionCallback callback) { 42 VLOG(4) << "PPB_FileChooserTrusted::ShowWithoutUserGesture()"; 43 EnterResource<PPB_FileChooser_API> enter(chooser, callback, true); 44 if (enter.failed()) 45 return enter.retval(); 46 return enter.SetResult(enter.object()->ShowWithoutUserGesture( 47 save_as, 48 suggested_file_name, 49 output, 50 enter.callback())); 51} 52 53const PPB_FileChooserTrusted_0_5 g_ppb_filechoosertrusted_thunk_0_5 = { 54 &ShowWithoutUserGesture_0_5 55}; 56 57const PPB_FileChooserTrusted_0_6 g_ppb_filechoosertrusted_thunk_0_6 = { 58 &ShowWithoutUserGesture 59}; 60 61} // namespace 62 63const PPB_FileChooserTrusted_0_5* GetPPB_FileChooserTrusted_0_5_Thunk() { 64 return &g_ppb_filechoosertrusted_thunk_0_5; 65} 66 67const PPB_FileChooserTrusted_0_6* GetPPB_FileChooserTrusted_0_6_Thunk() { 68 return &g_ppb_filechoosertrusted_thunk_0_6; 69} 70 71} // namespace thunk 72} // namespace ppapi 73