Index: chrome/browser/download/download_file_picker.cc |
diff --git a/chrome/browser/download/download_file_picker.cc b/chrome/browser/download/download_file_picker.cc |
index 94dc46297da1b10c5389e3c8abecd054d21d2cd2..a2d2d3e29e06ca730af29579590a1dda8bd9d2bb 100644 |
--- a/chrome/browser/download/download_file_picker.cc |
+++ b/chrome/browser/download/download_file_picker.cc |
@@ -69,7 +69,9 @@ DownloadFilePicker::DownloadFilePicker( |
select_file_dialog_ = ui::SelectFileDialog::Create( |
this, new ChromeSelectFilePolicy(web_contents)); |
ui::SelectFileDialog::FileTypeInfo file_type_info; |
- base::FilePath::StringType extension = suggested_path_.Extension(); |
+ // Platform file pickers, notably on Mac and Windows, tend to break |
+ // with double extensions like .tar.gz, so only pass in normal ones. |
+ base::FilePath::StringType extension = suggested_path_.FinalExtension(); |
if (!extension.empty()) { |
extension.erase(extension.begin()); // drop the . |
file_type_info.extensions.resize(1); |