summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_view_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/render_view_impl.cc')
-rw-r--r--content/renderer/render_view_impl.cc17
1 files changed, 12 insertions, 5 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index d3ca701..525cec2 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -4153,13 +4153,20 @@ void RenderViewImpl::OnFileChooserResponse(
if (file_chooser_completions_.empty())
return;
- WebVector<WebString> ws_file_names(files.size());
- for (size_t i = 0; i < files.size(); ++i)
- ws_file_names[i] = webkit_glue::FilePathToWebString(files[i].path);
+ // Convert Chrome's SelectedFileInfo list to WebKit's.
+ WebVector<WebFileChooserCompletion::SelectedFileInfo> selected_files(
+ files.size());
+ for (size_t i = 0; i < files.size(); ++i) {
+ WebFileChooserCompletion::SelectedFileInfo selected_file;
+ selected_file.path = webkit_glue::FilePathToWebString(files[i].path);
+ selected_file.displayName = webkit_glue::FilePathStringToWebString(
+ files[i].display_name);
+ selected_files[i] = selected_file;
+ }
- // TODO(satorux,kinuko): Pass display names too. crosbug.com/27222
if (file_chooser_completions_.front()->completion)
- file_chooser_completions_.front()->completion->didChooseFile(ws_file_names);
+ file_chooser_completions_.front()->completion->didChooseFile(
+ selected_files);
file_chooser_completions_.pop_front();
// If there are more pending file chooser requests, schedule one now.