diff options
Diffstat (limited to 'webkit/glue/plugins/pepper_file_chooser.h')
-rw-r--r-- | webkit/glue/plugins/pepper_file_chooser.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/webkit/glue/plugins/pepper_file_chooser.h b/webkit/glue/plugins/pepper_file_chooser.h new file mode 100644 index 0000000..8474188 --- /dev/null +++ b/webkit/glue/plugins/pepper_file_chooser.h @@ -0,0 +1,40 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef WEBKIT_GLUE_PLUGINS_PEPPER_FILE_CHOOSER_H_ +#define WEBKIT_GLUE_PLUGINS_PEPPER_FILE_CHOOSER_H_ + +#include <string> + +#include "third_party/ppapi/c/ppb_file_chooser.h" +#include "webkit/glue/plugins/pepper_resource.h" + +namespace pepper { + +class PluginInstance; + +class FileChooser : public Resource { + public: + FileChooser(PluginInstance* instance, const PP_FileChooserOptions* options); + virtual ~FileChooser(); + + // Returns a pointer to the interface implementing PPB_FileChooser that is + // exposed to the plugin. + static const PPB_FileChooser* GetInterface(); + + // Resource overrides. + FileChooser* AsFileChooser() { return this; } + + // PPB_FileChooser implementation. + int32_t Show(PP_CompletionCallback callback); + scoped_refptr<FileRef> GetNextChosenFile(); + + private: + PP_FileChooserMode mode_; + std::string accept_mime_types_; +}; + +} // namespace pepper + +#endif // WEBKIT_GLUE_PLUGINS_PEPPER_FILE_CHOOSER_H_ |