| 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;
|
| }
|
| }
|
|
|