Home | History | Annotate | Download | only in thunk
      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