Index: chrome/browser/download/save_package.cc |
=================================================================== |
--- chrome/browser/download/save_package.cc (revision 13572) |
+++ chrome/browser/download/save_package.cc (working copy) |
@@ -995,8 +995,8 @@ |
void SavePackage::GetSaveInfo() { |
// Use "Web Page, Complete" option as default choice of saving page. |
- int filter_index = 2; |
- std::wstring filter; |
+ int file_type_index = 2; |
+ SelectFileDialog::FileTypeInfo file_type_info; |
FilePath::StringType default_extension; |
FilePath title = |
FilePath::FromWStringHack(UTF16ToWideHack(web_contents_->GetTitle())); |
@@ -1009,22 +1009,22 @@ |
// If the contents can not be saved as complete-HTML, do not show the |
// file filters. |
if (CanSaveAsComplete(save_params->current_tab_mime_type)) { |
- filter = l10n_util::GetString(IDS_SAVE_PAGE_FILTER); |
- filter.resize(filter.size() + 2); |
- filter[filter.size() - 1] = L'\0'; |
- filter[filter.size() - 2] = L'\0'; |
+ file_type_info.extensions.resize(2); |
+ file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("htm")); |
+ file_type_info.extension_description_overrides.push_back( |
+ WideToUTF16(l10n_util::GetString(IDS_SAVE_PAGE_DESC_HTML_ONLY))); |
+ file_type_info.extensions[1].push_back(FILE_PATH_LITERAL("htm")); |
+ file_type_info.extension_description_overrides.push_back( |
+ WideToUTF16(l10n_util::GetString(IDS_SAVE_PAGE_DESC_COMPLETE))); |
+ file_type_info.include_all_files = false; |
default_extension = FILE_PATH_LITERAL("htm"); |
} else { |
-#if defined(OS_WIN) |
- filter = win_util::GetFileFilterFromPath(suggested_path.ToWStringHack()); |
-#else |
- // TODO(port): implement this. |
- NOTIMPLEMENTED(); |
-#endif |
- filter_index = 1; |
+ file_type_info.extensions.resize(1); |
+ file_type_info.extensions[0].push_back(suggested_path.Extension()); |
+ file_type_info.include_all_files = true; |
+ file_type_index = 1; |
} |
- |
#if defined(OS_LINUX) || defined(OS_WIN) |
if (g_should_prompt_for_filename) { |
if (!select_file_dialog_.get()) |
@@ -1032,8 +1032,8 @@ |
select_file_dialog_->SelectFile(SelectFileDialog::SELECT_SAVEAS_FILE, |
string16(), |
suggested_path, |
- filter, |
- filter_index, |
+ &file_type_info, |
+ file_type_index, |
default_extension, |
platform_util::GetTopLevel( |
web_contents_->GetNativeView()), |
@@ -1042,7 +1042,7 @@ |
#endif // defined(OS_LINUX) || defined(OS_WIN) |
{ |
// Just use 'suggested_path' instead of opening the dialog prompt. |
- ContinueSave(save_params, suggested_path, filter_index); |
+ ContinueSave(save_params, suggested_path, file_type_index); |
delete save_params; |
} |
} |