Chromium Code Reviews| Index: chrome/browser/download/save_package_file_picker.cc |
| diff --git a/chrome/browser/download/save_package_file_picker.cc b/chrome/browser/download/save_package_file_picker.cc |
| index e56c1bbf05a4e91ced5a14f18d55f5a77c3bdbb8..ec1bbed78fcb541c3137cd1b8bc3c00954fb1d00 100644 |
| --- a/chrome/browser/download/save_package_file_picker.cc |
| +++ b/chrome/browser/download/save_package_file_picker.cc |
| @@ -33,6 +33,7 @@ const SavePageType kIndexToSaveType[] = { |
| content::SAVE_PAGE_TYPE_UNKNOWN, |
| content::SAVE_PAGE_TYPE_AS_ONLY_HTML, |
| content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML, |
| + content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML_SINGLE_FILE_MHTML, |
|
achuithb
2012/04/12 19:40:02
Just asking here - does this need to be so long? I
benjhayden
2012/04/13 20:44:11
Done.
|
| }; |
| int SavePackageTypeToIndex(SavePageType type) { |
| @@ -48,10 +49,14 @@ int SavePackageTypeToIndex(SavePageType type) { |
| // the user chooses when picking a save type. |
| const int kSelectFileHtmlOnlyIndex = 1; |
| const int kSelectFileCompleteIndex = 2; |
| +const int kSelectFileCompleteSingleFileIndex = 3; |
| // Used for mapping between the IDS_ string identifiers and the indexes above. |
| const int kIndexToIDS[] = { |
| - 0, IDS_SAVE_PAGE_DESC_HTML_ONLY, IDS_SAVE_PAGE_DESC_COMPLETE, |
| + 0, |
| + IDS_SAVE_PAGE_DESC_HTML_ONLY, |
| + IDS_SAVE_PAGE_DESC_COMPLETE, |
| + IDS_SAVE_PAGE_DESC_COMPLETE_SINGLE_FILE, |
| }; |
| } |
| @@ -83,31 +88,43 @@ SavePackageFilePicker::SavePackageFilePicker( |
| extra_extension = suggested_path.Extension().substr(1); |
| } |
| - file_type_info.extensions.resize(2); |
| + file_type_info.extensions.resize(3); |
| + |
| + file_type_info.extension_description_overrides.push_back( |
| + l10n_util::GetStringUTF16(kIndexToIDS[kSelectFileHtmlOnlyIndex])); |
|
Randy Smith (Not in Mondays)
2012/04/12 18:00:02
Why did you need to add an override here? (To be
benjhayden
2012/04/13 20:44:11
I didn't actually change any functionality here.
I
|
| file_type_info.extensions[kSelectFileHtmlOnlyIndex - 1].push_back( |
| FILE_PATH_LITERAL("htm")); |
| file_type_info.extensions[kSelectFileHtmlOnlyIndex - 1].push_back( |
| FILE_PATH_LITERAL("html")); |
| - |
| if (add_extra_extension) { |
| file_type_info.extensions[kSelectFileHtmlOnlyIndex - 1].push_back( |
| extra_extension); |
| } |
| + |
|
Randy Smith (Not in Mondays)
2012/04/12 18:00:02
nit: Remove extra blank line.
benjhayden
2012/04/13 20:44:11
Done.
|
| file_type_info.extension_description_overrides.push_back( |
| - l10n_util::GetStringUTF16(kIndexToIDS[kSelectFileCompleteIndex - 1])); |
| + l10n_util::GetStringUTF16(kIndexToIDS[kSelectFileCompleteIndex])); |
| file_type_info.extensions[kSelectFileCompleteIndex - 1].push_back( |
| FILE_PATH_LITERAL("htm")); |
| file_type_info.extensions[kSelectFileCompleteIndex - 1].push_back( |
| FILE_PATH_LITERAL("html")); |
| - |
| if (add_extra_extension) { |
| file_type_info.extensions[kSelectFileCompleteIndex - 1].push_back( |
| extra_extension); |
| } |
| file_type_info.extension_description_overrides.push_back( |
| - l10n_util::GetStringUTF16(kIndexToIDS[kSelectFileCompleteIndex])); |
| + l10n_util::GetStringUTF16(kIndexToIDS[ |
| + kSelectFileCompleteSingleFileIndex])); |
| + file_type_info.extensions[kSelectFileCompleteSingleFileIndex - 1].push_back( |
| + FILE_PATH_LITERAL("mht")); |
| + file_type_info.extensions[kSelectFileCompleteSingleFileIndex - 1].push_back( |
| + FILE_PATH_LITERAL("mhtml")); |
| + if (add_extra_extension) { |
| + file_type_info.extensions[ |
| + kSelectFileCompleteSingleFileIndex - 1].push_back(extra_extension); |
| + } |
| + |
| file_type_info.include_all_files = false; |
| } else { |
| file_type_info.extensions.resize(1); |
| @@ -153,7 +170,7 @@ void SavePackageFilePicker::FileSelected(const FilePath& path, |
| void* params) { |
| // The option index is not zero-based. |
| DCHECK(index >= kSelectFileHtmlOnlyIndex && |
| - index <= kSelectFileCompleteIndex); |
| + index <= kSelectFileCompleteSingleFileIndex); |
| RenderProcessHost* process = RenderProcessHost::FromID(render_process_id_); |
| if (process) { |