diff options
author | zork@google.com <zork@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-13 23:54:57 +0000 |
---|---|---|
committer | zork@google.com <zork@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-13 23:54:57 +0000 |
commit | b62d1a8c6795a9feefe4a2e688463c56ce46a6bd (patch) | |
tree | 229f2d9bd915151f13642b5841c58603b0819690 /webkit/glue | |
parent | 10dd1a30fbaee0315e78d1752cbf1fa8e22c99e4 (diff) | |
download | chromium_src-b62d1a8c6795a9feefe4a2e688463c56ce46a6bd.zip chromium_src-b62d1a8c6795a9feefe4a2e688463c56ce46a6bd.tar.gz chromium_src-b62d1a8c6795a9feefe4a2e688463c56ce46a6bd.tar.bz2 |
Updating so that Gears can spawn file selectors when running in the renderer process
Review URL: http://codereview.chromium.org/14907
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7986 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/chrome_client_impl.cc | 13 | ||||
-rw-r--r-- | webkit/glue/webview_delegate.h | 7 |
2 files changed, 15 insertions, 5 deletions
diff --git a/webkit/glue/chrome_client_impl.cc b/webkit/glue/chrome_client_impl.cc index 278134b..d19c28c 100644 --- a/webkit/glue/chrome_client_impl.cc +++ b/webkit/glue/chrome_client_impl.cc @@ -42,8 +42,14 @@ class WebFileChooserCallbackImpl : public WebFileChooserCallback { : file_chooser_(file_chooser) { } - void OnFileChoose(const std::wstring& file_name) { - file_chooser_->chooseFile(webkit_glue::StdWStringToString(file_name)); + void OnFileChoose(const std::vector<std::wstring>& file_names) { + assert(file_names.size() <= 1); + if (file_names.empty()) { + file_chooser_->chooseFile(webkit_glue::StdWStringToString(L"")); + } else { + file_chooser_->chooseFile( + webkit_glue::StdWStringToString(file_names.front().c_str())); + } } private: @@ -457,7 +463,8 @@ void ChromeClientImpl::runOpenPanel(WebCore::Frame* frame, suggestion = webkit_glue::StringToStdWString(fileChooser->filenames()[0]); WebFileChooserCallbackImpl* chooser = new WebFileChooserCallbackImpl(fileChooser); - delegate->RunFileChooser(suggestion, chooser); + delegate->RunFileChooser(false, std::wstring(), suggestion, + std::wstring(), chooser); } void ChromeClientImpl::popupOpened(WebCore::FramelessScrollView* popup_view, diff --git a/webkit/glue/webview_delegate.h b/webkit/glue/webview_delegate.h index b2fca89..09abc68 100644 --- a/webkit/glue/webview_delegate.h +++ b/webkit/glue/webview_delegate.h @@ -90,7 +90,7 @@ class WebFileChooserCallback { public: WebFileChooserCallback() {} virtual ~WebFileChooserCallback() {} - virtual void OnFileChoose(const std::wstring& file_name) { } + virtual void OnFileChoose(const std::vector<std::wstring>& file_names) { } private: DISALLOW_EVIL_CONSTRUCTORS(WebFileChooserCallback); @@ -538,7 +538,10 @@ class WebViewDelegate : virtual public WebWidgetDelegate { // populated with the given initial_filename string. The WebViewDelegate // will own the WebFileChooserCallback object and is responsible for // freeing it. - virtual void RunFileChooser(const std::wstring& initial_filename, + virtual void RunFileChooser(bool multi_select, + const std::wstring& title, + const std::wstring& initial_filename, + const std::wstring& filter, WebFileChooserCallback* file_chooser) { delete file_chooser; } |