• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef PPAPI_THUNK_PPB_FILE_CHOOSER_API_H_
6 #define PPAPI_THUNK_PPB_FILE_CHOOSER_API_H_
7 
8 #include "base/memory/ref_counted.h"
9 #include "ppapi/c/dev/ppb_file_chooser_dev.h"
10 
11 namespace ppapi {
12 
13 class TrackedCallback;
14 
15 namespace thunk {
16 
17 class PPB_FileChooser_API {
18  public:
~PPB_FileChooser_API()19   virtual ~PPB_FileChooser_API() {}
20 
21   virtual int32_t Show(const PP_ArrayOutput& output,
22                        scoped_refptr<TrackedCallback> callback) = 0;
23 
24   // Trusted API.
25   virtual int32_t ShowWithoutUserGesture(
26       PP_Bool save_as,
27       PP_Var suggested_file_name,
28       const PP_ArrayOutput& output,
29       scoped_refptr<TrackedCallback> callback) = 0;
30 
31   // Version 0.5 API.
32   virtual int32_t Show0_5(scoped_refptr<TrackedCallback> callback) = 0;
33   virtual PP_Resource GetNextChosenFile() = 0;
34 
35   // Trusted version 0.5 API.
36   virtual int32_t ShowWithoutUserGesture0_5(
37       PP_Bool save_as,
38       PP_Var suggested_file_name,
39       scoped_refptr<TrackedCallback> callback) = 0;
40 };
41 
42 }  // namespace thunk
43 }  // namespace ppapi
44 
45 #endif  // PPAPI_THUNK_PPB_FILE_CHOOSER_API_H_
46