summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/pepper_file_chooser.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/pepper_file_chooser.h')
-rw-r--r--webkit/glue/plugins/pepper_file_chooser.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/webkit/glue/plugins/pepper_file_chooser.h b/webkit/glue/plugins/pepper_file_chooser.h
index 8474188..eafdd0e 100644
--- a/webkit/glue/plugins/pepper_file_chooser.h
+++ b/webkit/glue/plugins/pepper_file_chooser.h
@@ -6,33 +6,45 @@
#define WEBKIT_GLUE_PLUGINS_PEPPER_FILE_CHOOSER_H_
#include <string>
+#include <vector>
-#include "third_party/ppapi/c/ppb_file_chooser.h"
+#include "base/scoped_ptr.h"
+#include "third_party/ppapi/c/dev/ppb_file_chooser_dev.h"
+#include "third_party/ppapi/c/pp_completion_callback.h"
#include "webkit/glue/plugins/pepper_resource.h"
namespace pepper {
+class PluginDelegate;
class PluginInstance;
class FileChooser : public Resource {
public:
- FileChooser(PluginInstance* instance, const PP_FileChooserOptions* options);
+ FileChooser(PluginInstance* instance,
+ const PP_FileChooserOptions_Dev* options);
virtual ~FileChooser();
// Returns a pointer to the interface implementing PPB_FileChooser that is
// exposed to the plugin.
- static const PPB_FileChooser* GetInterface();
+ static const PPB_FileChooser_Dev* GetInterface();
// Resource overrides.
FileChooser* AsFileChooser() { return this; }
+ // Stores the list of selected files.
+ void StoreChosenFiles(const std::vector<std::string>& files);
+
// PPB_FileChooser implementation.
int32_t Show(PP_CompletionCallback callback);
scoped_refptr<FileRef> GetNextChosenFile();
private:
- PP_FileChooserMode mode_;
+ PluginDelegate* delegate_;
+ PP_FileChooserMode_Dev mode_;
std::string accept_mime_types_;
+ PP_CompletionCallback completion_callback_;
+ std::vector< scoped_refptr<FileRef> > chosen_files_;
+ size_t next_chosen_file_index_;
};
} // namespace pepper