Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6818)

Unified Diff: chrome/browser/download/save_package_file_picker.cc

Issue 10069014: Save Page As MHTML (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: whitespace Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..7234be8a5e627934aa8038342935f3d3a2d7f7bb 100644
--- a/chrome/browser/download/save_package_file_picker.cc
+++ b/chrome/browser/download/save_package_file_picker.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/download/save_package_file_picker.h"
+#include "base/metrics/histogram.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/platform_util.h"
@@ -33,6 +34,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_MHTML,
};
int SavePackageTypeToIndex(SavePageType type) {
@@ -48,10 +50,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 +89,42 @@ SavePackageFilePicker::SavePackageFilePicker(
extra_extension = suggested_path.Extension().substr(1);
}
- file_type_info.extensions.resize(2);
+ file_type_info.extensions.resize(3);
Randy Smith (Not in Mondays) 2012/04/16 17:45:47 nit, suggestion (i.e. up to you), while you're her
benjhayden 2012/04/16 19:08:06 Done.
+
Randy Smith (Not in Mondays) 2012/04/16 17:45:47 nit, while you're here: Could you put in a comment
benjhayden 2012/04/16 19:08:06 Done.
+ file_type_info.extension_description_overrides.push_back(
+ l10n_util::GetStringUTF16(kIndexToIDS[kSelectFileHtmlOnlyIndex]));
Randy Smith (Not in Mondays) 2012/04/16 17:45:47 nit, suggestion, while you're here: We're dealing
benjhayden 2012/04/16 19:08:06 Done.
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);
}
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,11 +170,13 @@ 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) {
SavePageType save_type = kIndexToSaveType[index];
+ UMA_HISTOGRAM_ENUMERATION(
+ "Download.SavePageType", save_type, content::SAVE_PAGE_TYPE_MAX);
Profile* profile =
Profile::FromBrowserContext(process->GetBrowserContext());
PrefService* prefs = profile->GetPrefs();
« no previous file with comments | « no previous file | chrome/browser/download/save_page_browsertest.cc » ('j') | chrome/browser/download/save_page_browsertest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698