diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/FileChooser.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/FileChooser.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/FileChooser.h b/src/3rdparty/webkit/WebCore/platform/FileChooser.h index 8192fe80fc..4028d41c1e 100644 --- a/src/3rdparty/webkit/WebCore/platform/FileChooser.h +++ b/src/3rdparty/webkit/WebCore/platform/FileChooser.h @@ -41,13 +41,16 @@ class Icon; class FileChooserClient { public: virtual void valueChanged() = 0; + virtual void repaint() = 0; virtual bool allowsMultipleFiles() = 0; + virtual String acceptTypes() = 0; + virtual void chooseIconForFiles(const Vector<String>&) = 0; virtual ~FileChooserClient(); }; class FileChooser : public RefCounted<FileChooser> { public: - static PassRefPtr<FileChooser> create(FileChooserClient*, const String& initialFilename); + static PassRefPtr<FileChooser> create(FileChooserClient*, const Vector<String>& initialFilenames); ~FileChooser(); void disconnectClient() { m_client = 0; } @@ -62,13 +65,16 @@ public: void chooseFile(const String& path); void chooseFiles(const Vector<String>& paths); - + // Called when FileChooserClient finishes to load an icon requested by iconForFiles(). + void iconLoaded(PassRefPtr<Icon>); + bool allowsMultipleFiles() const { return m_client ? m_client->allowsMultipleFiles() : false; } + // Acceptable MIME types. It's an 'accept' attribute value of the corresponding INPUT element. + String acceptTypes() const { return m_client ? m_client->acceptTypes() : String(); } private: - FileChooser(FileChooserClient*, const String& initialfilename); - static PassRefPtr<Icon> chooseIcon(const String& filename); - static PassRefPtr<Icon> chooseIcon(Vector<String> filenames); + FileChooser(FileChooserClient*, const Vector<String>& initialFilenames); + void loadIcon(); FileChooserClient* m_client; Vector<String> m_filenames; |