diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-24 17:24:38 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-24 17:24:38 +0000 |
commit | a62d42908f4fcb66a60808025435ecd67b89cf0a (patch) | |
tree | eefa595673e6ddc566f0b2078352b005e35561c9 | |
parent | 3d0824177f14eba2dbc775dc35ea9c5a5cac1f0f (diff) | |
download | chromium_src-a62d42908f4fcb66a60808025435ecd67b89cf0a.zip chromium_src-a62d42908f4fcb66a60808025435ecd67b89cf0a.tar.gz chromium_src-a62d42908f4fcb66a60808025435ecd67b89cf0a.tar.bz2 |
Move DownloadDangerType to its own file.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9141031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118852 0039d316-1c4b-4281-b951-d872f2087c98
25 files changed, 188 insertions, 163 deletions
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc index e430200..4c3cd71 100644 --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc @@ -137,7 +137,7 @@ void ChromeDownloadManagerDelegate::ChooseDownloadPath( bool ChromeDownloadManagerDelegate::OverrideIntermediatePath( DownloadItem* item, FilePath* intermediate_path) { - if (item->GetDangerType() != DownloadStateInfo::NOT_DANGEROUS) { + if (item->GetDangerType() != content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) { if (item->PromptUserForSaveLocation()) { // When we prompt the user, we overwrite the FullPath with what the user // wanted to use. Construct a file path using the previously determined @@ -458,7 +458,7 @@ void ChromeDownloadManagerDelegate::CheckVisitedReferrerBeforeDone( if (!state.prompt_user_for_save_location && state.force_file_name.empty() && IsDangerousFile(*download, state, visited_referrer_before)) { - state.danger = DownloadStateInfo::DANGEROUS_FILE; + state.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE; } #if defined(ENABLE_SAFE_BROWSING) @@ -470,7 +470,7 @@ void ChromeDownloadManagerDelegate::CheckVisitedReferrerBeforeDone( // TODO(noelutz): if the user changes the extension name in the UI to // something like .exe SafeBrowsing will currently *not* check if the // download is malicious. - state.danger = DownloadStateInfo::MAYBE_DANGEROUS_CONTENT; + state.danger = content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT; } #endif @@ -508,7 +508,7 @@ void ChromeDownloadManagerDelegate::CheckIfSuggestedPathExists( } // If the download is possibly dangerous, we'll use a temporary name for it. - if (state.danger != DownloadStateInfo::NOT_DANGEROUS) { + if (state.danger != content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) { state.target_name = FilePath(state.suggested_path).BaseName(); // Create a temporary file to hold the file until the user approves its // download. @@ -560,7 +560,7 @@ void ChromeDownloadManagerDelegate::CheckIfSuggestedPathExists( // See: http://code.google.com/p/chromium/issues/detail?id=3662 if (!state.prompt_user_for_save_location && state.force_file_name.empty()) { - if (state.danger != DownloadStateInfo::NOT_DANGEROUS) + if (state.danger != content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) file_util::WriteFile(state.suggested_path, "", 0); else file_util::WriteFile(download_util::GetCrDownloadPath( diff --git a/chrome/browser/download/download_extension_api.cc b/chrome/browser/download/download_extension_api.cc index 24ccfd4..9a8bf61 100644 --- a/chrome/browser/download/download_extension_api.cc +++ b/chrome/browser/download/download_extension_api.cc @@ -34,7 +34,6 @@ #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/webui/web_ui_util.h" #include "content/browser/download/download_id.h" -#include "content/browser/download/download_state_info.h" #include "content/browser/download/download_types.h" #include "content/browser/download/interrupt_reasons.h" #include "content/browser/renderer_host/render_view_host.h" @@ -94,13 +93,13 @@ const char kStateKey[] = "state"; const char kTotalBytesKey[] = "totalBytes"; const char kUrlKey[] = "url"; -const char* DangerString(DownloadStateInfo::DangerType danger) { +const char* DangerString(content::DownloadDangerType danger) { switch (danger) { - case DownloadStateInfo::MAYBE_DANGEROUS_CONTENT: - case DownloadStateInfo::NOT_DANGEROUS: return kDangerSafe; - case DownloadStateInfo::DANGEROUS_FILE: return kDangerFile; - case DownloadStateInfo::DANGEROUS_URL: return kDangerUrl; - case DownloadStateInfo::DANGEROUS_CONTENT: return kDangerContent; + case content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT: + case content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS: return kDangerSafe; + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE: return kDangerFile; + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL: return kDangerUrl; + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT: return kDangerContent; default: NOTREACHED(); return ""; diff --git a/chrome/browser/download/download_extension_api.h b/chrome/browser/download/download_extension_api.h index dea8e67..4ea5e08 100644 --- a/chrome/browser/download/download_extension_api.h +++ b/chrome/browser/download/download_extension_api.h @@ -14,7 +14,6 @@ #include "base/memory/singleton.h" #include "base/string16.h" #include "chrome/browser/extensions/extension_function.h" -#include "content/browser/download/download_state_info.h" #include "content/public/browser/download_item.h" #include "content/public/browser/download_manager.h" diff --git a/chrome/browser/download/download_item_unittest.cc b/chrome/browser/download/download_item_unittest.cc index bb8ee214..41c6cf6 100644 --- a/chrome/browser/download/download_item_unittest.cc +++ b/chrome/browser/download/download_item_unittest.cc @@ -228,7 +228,7 @@ TEST_F(DownloadItemTest, NotificationAfterSetFileCheckResults) { MockObserver safe_observer(safe_item); DownloadStateInfo state = safe_item->GetStateInfo();; - state.danger = DownloadStateInfo::NOT_DANGEROUS; + state.danger = content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS; safe_item->SetFileCheckResults(state); ASSERT_FALSE(safe_observer.CheckUpdated()); @@ -237,7 +237,7 @@ TEST_F(DownloadItemTest, NotificationAfterSetFileCheckResults) { MockObserver unsafeurl_observer(unsafeurl_item); state = unsafeurl_item->GetStateInfo();; - state.danger = DownloadStateInfo::DANGEROUS_URL; + state.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL; unsafeurl_item->SetFileCheckResults(state); ASSERT_TRUE(unsafeurl_observer.CheckUpdated()); @@ -248,7 +248,7 @@ TEST_F(DownloadItemTest, NotificationAfterSetFileCheckResults) { MockObserver unsafefile_observer(unsafefile_item); state = unsafefile_item->GetStateInfo();; - state.danger = DownloadStateInfo::DANGEROUS_FILE; + state.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE; unsafefile_item->SetFileCheckResults(state); ASSERT_TRUE(unsafefile_observer.CheckUpdated()); diff --git a/chrome/browser/download/download_manager_unittest.cc b/chrome/browser/download/download_manager_unittest.cc index 2cdd5b8..2b303e8 100644 --- a/chrome/browser/download/download_manager_unittest.cc +++ b/chrome/browser/download/download_manager_unittest.cc @@ -386,29 +386,31 @@ const struct { const struct { FilePath::StringType suggested_path; - DownloadStateInfo::DangerType danger; + content::DownloadDangerType danger; bool finish_before_rename; int expected_rename_count; } kDownloadRenameCases[] = { // Safe download, download finishes BEFORE file name determined. // Renamed twice (linear path through UI). Crdownload file does not need // to be deleted. - { FILE_PATH_LITERAL("foo.zip"), DownloadStateInfo::NOT_DANGEROUS, true, 2, }, + { FILE_PATH_LITERAL("foo.zip"), content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, + true, 2, }, // Potentially dangerous download (e.g., file is dangerous), download finishes // BEFORE file name determined. Needs to be renamed only once. { FILE_PATH_LITERAL("Unconfirmed xxx.crdownload"), - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, true, 1, }, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, true, 1, }, { FILE_PATH_LITERAL("Unconfirmed xxx.crdownload"), - DownloadStateInfo::DANGEROUS_FILE, true, 1, }, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, true, 1, }, // Safe download, download finishes AFTER file name determined. // Needs to be renamed twice. - { FILE_PATH_LITERAL("foo.zip"), DownloadStateInfo::NOT_DANGEROUS, false, 2, }, + { FILE_PATH_LITERAL("foo.zip"), content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, + false, 2, }, // Potentially dangerous download, download finishes AFTER file name // determined. Needs to be renamed only once. { FILE_PATH_LITERAL("Unconfirmed xxx.crdownload"), - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, false, 1, }, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, false, 1, }, { FILE_PATH_LITERAL("Unconfirmed xxx.crdownload"), - DownloadStateInfo::DANGEROUS_FILE, false, 1, }, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, false, 1, }, }; // This is an observer that records what download IDs have opened a select @@ -548,7 +550,7 @@ const struct DownloadFilenameTestCase { const FilePath::CharType* suggested_path; const FilePath::CharType* target_name; PromptForSaveLocation prompt_user_for_save_location; - DownloadStateInfo::DangerType danger_type; + content::DownloadDangerType danger_type; // If we receive a ChooseDownloadPath() call to prompt the user for a download // location, |prompt_path| is the expected prompt path. The @@ -571,7 +573,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL(""), DONT_PROMPT, - DownloadStateInfo::NOT_DANGEROUS, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/foo.txt.crdownload"), FILE_PATH_LITERAL("$dl/foo.txt"), @@ -582,7 +584,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL(""), PROMPT, - DownloadStateInfo::NOT_DANGEROUS, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL("$dl/foo.txt.crdownload"), FILE_PATH_LITERAL("$dl/foo.txt"), @@ -594,7 +596,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL(""), PROMPT, - DownloadStateInfo::NOT_DANGEROUS, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL("$dl/bar.txt.crdownload"), FILE_PATH_LITERAL("$dl/bar.txt"), @@ -606,7 +608,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL(""), PROMPT, - DownloadStateInfo::NOT_DANGEROUS, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, FILE_PATH_LITERAL("$dl/foo.txt"), FILE_PATH_LITERAL("$alt/bar.txt.crdownload"), FILE_PATH_LITERAL("$alt/bar.txt"), @@ -617,7 +619,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), DONT_PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/foo.exe"), @@ -628,7 +630,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL("$dl/foo.exe"), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/foo.exe"), @@ -640,7 +642,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL("$dl/foo.exe"), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/bar.exe"), @@ -652,7 +654,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL("$dl/foo.exe"), FILE_PATH_LITERAL("$alt/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$alt/bar.exe"), @@ -663,7 +665,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), PROMPT, - DownloadStateInfo::DANGEROUS_URL, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/foo.exe"), @@ -674,7 +676,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), DONT_PROMPT, - DownloadStateInfo::DANGEROUS_URL, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL(""), @@ -686,7 +688,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("foo.exe"), PROMPT, - DownloadStateInfo::DANGEROUS_URL, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, FILE_PATH_LITERAL("$dl/foo.exe"), FILE_PATH_LITERAL("$alt/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$alt/bar.exe"), @@ -699,7 +701,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/exists.txt"), FILE_PATH_LITERAL(""), DONT_PROMPT, - DownloadStateInfo::NOT_DANGEROUS, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/exists.txt.crdownload"), FILE_PATH_LITERAL("$dl/exists.txt"), @@ -711,7 +713,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("exists.exe"), DONT_PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/exists (1).exe"), @@ -723,7 +725,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("exists.exe"), DONT_PROMPT, - DownloadStateInfo::DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT, FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/exists (1).exe"), @@ -736,7 +738,7 @@ const struct DownloadFilenameTestCase { FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("exists.exe"), PROMPT, - DownloadStateInfo::MAYBE_DANGEROUS_CONTENT, + content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, FILE_PATH_LITERAL("$dl/exists.exe"), FILE_PATH_LITERAL("$dl/Unconfirmed xxx.download"), FILE_PATH_LITERAL("$dl/exists.exe"), @@ -815,10 +817,10 @@ TEST_F(DownloadManagerTest, DownloadFilenameTest) { state.prompt_user_for_save_location = (kDownloadFilenameTestCases[i].prompt_user_for_save_location == PROMPT); state.target_name = FilePath(kDownloadFilenameTestCases[i].target_name); - if (state.danger == DownloadStateInfo::DANGEROUS_CONTENT) { + if (state.danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT) { // DANGEROUS_CONTENT will only be known once we have all the data. We let // our TestDownloadManagerDelegate handle it. - state.danger = DownloadStateInfo::MAYBE_DANGEROUS_CONTENT; + state.danger = content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT; download_manager_delegate_->SetMarkContentsDangerous(true); } download->SetFileCheckResults(state); @@ -898,7 +900,7 @@ TEST_F(DownloadManagerTest, DownloadRenameTest) { OnResponseCompleted(i, 1024, std::string("fake_hash")); } // Validating the download item, so it will complete. - if (state.danger == DownloadStateInfo::DANGEROUS_FILE) + if (state.danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE) download->DangerousDownloadValidated(); message_loop_.RunAllPending(); } diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc index b676e4c..d667b09 100644 --- a/chrome/browser/download/download_shelf_context_menu.cc +++ b/chrome/browser/download/download_shelf_context_menu.cc @@ -31,9 +31,10 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetMenuModel() { ui::SimpleMenuModel* model = NULL; if (download_item_->GetSafetyState() == DownloadItem::DANGEROUS) { - if (download_item_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL || + if (download_item_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL || download_item_->GetDangerType() == - DownloadStateInfo::DANGEROUS_CONTENT) { + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT) { model = GetMaliciousMenuModel(); } else { NOTREACHED(); @@ -53,7 +54,7 @@ bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const { return download_item_->CanShowInFolder(); case ALWAYS_OPEN_TYPE: return download_item_->CanOpenDownload() && - !Extension::IsExtension(download_item_->GetStateInfo().target_name); + !Extension::IsExtension(download_item_->GetTargetName()); case CANCEL: return download_item_->IsPartialDownload(); case TOGGLE_PAUSE: diff --git a/chrome/browser/download/download_util.cc b/chrome/browser/download/download_util.cc index 56301bf..e58897a 100644 --- a/chrome/browser/download/download_util.cc +++ b/chrome/browser/download/download_util.cc @@ -33,7 +33,6 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/time_format.h" #include "content/browser/download/download_create_info.h" -#include "content/browser/download/download_state_info.h" #include "content/browser/download/download_types.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/resource_dispatcher_host.h" @@ -93,13 +92,13 @@ namespace { // CreateDownloadItemValue(). We only return strings for DANGEROUS_FILE, // DANGEROUS_URL and DANGEROUS_CONTENT because the |danger_type| value is only // defined if the value of |state| is |DANGEROUS|. -const char* GetDangerTypeString(DownloadStateInfo::DangerType danger_type) { +const char* GetDangerTypeString(content::DownloadDangerType danger_type) { switch (danger_type) { - case DownloadStateInfo::DANGEROUS_FILE: + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE: return "DANGEROUS_FILE"; - case DownloadStateInfo::DANGEROUS_URL: + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL: return "DANGEROUS_URL"; - case DownloadStateInfo::DANGEROUS_CONTENT: + case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT: return "DANGEROUS_CONTENT"; default: // We shouldn't be returning a danger type string if it is @@ -458,9 +457,12 @@ DictionaryValue* CreateDownloadItemValue(DownloadItem* download, int id) { file_value->SetString("state", "DANGEROUS"); // These are the only danger states we expect to see (and the UI is // equipped to handle): - DCHECK(download->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE || - download->GetDangerType() == DownloadStateInfo::DANGEROUS_URL || - download->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT); + DCHECK(download->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE || + download->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL || + download->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT); const char* danger_type_value = GetDangerTypeString(download->GetDangerType()); file_value->SetString("danger_type", danger_type_value); diff --git a/chrome/browser/ui/cocoa/download/download_item_controller.mm b/chrome/browser/ui/cocoa/download/download_item_controller.mm index 22ab1e0..aa896e5 100644 --- a/chrome/browser/ui/cocoa/download/download_item_controller.mm +++ b/chrome/browser/ui/cocoa/download/download_item_controller.mm @@ -22,7 +22,6 @@ #import "chrome/browser/ui/cocoa/download/download_shelf_controller.h" #import "chrome/browser/ui/cocoa/themed_window.h" #import "chrome/browser/ui/cocoa/ui_localizer.h" -#include "content/browser/download/download_state_info.h" #include "content/public/browser/download_item.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" @@ -177,7 +176,7 @@ class DownloadShelfContextMenuMac : public DownloadShelfContextMenu { // The dangerous download label, button text and icon are different under // different cases. if (downloadModel->download()->GetDangerType() == - DownloadStateInfo::DANGEROUS_URL) { + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL) { // TODO(noelutz): add support for malicious content. // Safebrowsing shows the download URL leads to malicious file. alertIcon = rb.GetNativeImageNamed(IDR_SAFEBROWSING_WARNING); @@ -188,7 +187,7 @@ class DownloadShelfContextMenuMac : public DownloadShelfContextMenu { } else { // It's a dangerous file type (e.g.: an executable). DCHECK_EQ(downloadModel->download()->GetDangerType(), - DownloadStateInfo::DANGEROUS_FILE); + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); alertIcon = rb.GetNativeImageNamed(IDR_WARNING); if (ChromeDownloadManagerDelegate::IsExtensionDownload( downloadModel->download())) { diff --git a/chrome/browser/ui/gtk/custom_drag.cc b/chrome/browser/ui/gtk/custom_drag.cc index 21746d5..5cc5ee8 100644 --- a/chrome/browser/ui/gtk/custom_drag.cc +++ b/chrome/browser/ui/gtk/custom_drag.cc @@ -4,6 +4,7 @@ #include "chrome/browser/ui/gtk/custom_drag.h" +#include "base/file_path.h" #include "base/utf_string_conversions.h" #include "chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h" #include "content/public/browser/download_item.h" diff --git a/chrome/browser/ui/gtk/download/download_item_gtk.cc b/chrome/browser/ui/gtk/download/download_item_gtk.cc index 1664516..bfe5768 100644 --- a/chrome/browser/ui/gtk/download/download_item_gtk.cc +++ b/chrome/browser/ui/gtk/download/download_item_gtk.cc @@ -562,7 +562,8 @@ void DownloadItemGtk::UpdateDangerWarning() { string16 dangerous_warning; // The dangerous download label text is different for different cases. - if (get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL) { + if (get_download()->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL) { // TODO(noelutz): handle malicious content warning. // Safebrowsing shows the download URL leads to malicious file. dangerous_warning = @@ -570,7 +571,7 @@ void DownloadItemGtk::UpdateDangerWarning() { } else { // It's a dangerous file type (e.g.: an executable). DCHECK(get_download()->GetDangerType() == - DownloadStateInfo::DANGEROUS_FILE); + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); if (ChromeDownloadManagerDelegate::IsExtensionDownload(get_download())) { dangerous_warning = l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION); @@ -619,17 +620,17 @@ void DownloadItemGtk::UpdateDangerWarning() { void DownloadItemGtk::UpdateDangerIcon() { if (theme_service_->UsingNativeTheme()) { - const char* stock = - get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL ? - GTK_STOCK_DIALOG_ERROR : GTK_STOCK_DIALOG_WARNING; + const char* stock = get_download()->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL ? + GTK_STOCK_DIALOG_ERROR : GTK_STOCK_DIALOG_WARNING; gtk_image_set_from_stock( GTK_IMAGE(dangerous_image_), stock, GTK_ICON_SIZE_SMALL_TOOLBAR); } else { // Set the warning icon. ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); - int pixbuf_id = - get_download()->GetDangerType() == DownloadStateInfo::DANGEROUS_URL ? - IDR_SAFEBROWSING_WARNING : IDR_WARNING; + int pixbuf_id = get_download()->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL ? + IDR_SAFEBROWSING_WARNING : IDR_WARNING; GdkPixbuf* download_pixbuf = rb.GetNativeImageNamed(pixbuf_id); gtk_image_set_from_pixbuf(GTK_IMAGE(dangerous_image_), download_pixbuf); } diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/browser/ui/views/download/download_item_view.cc index 29421ec..c77c613 100644 --- a/chrome/browser/ui/views/download/download_item_view.cc +++ b/chrome/browser/ui/views/download/download_item_view.cc @@ -23,7 +23,6 @@ #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/ui/views/download/download_shelf_context_menu_view.h" #include "chrome/browser/ui/views/download/download_shelf_view.h" -#include "content/browser/download/download_state_info.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" #include "ui/base/accessibility/accessible_view_state.h" @@ -1005,11 +1004,14 @@ void DownloadItemView::ClearWarningDialog() { void DownloadItemView::ShowWarningDialog() { DCHECK(mode_ != DANGEROUS_MODE && mode_ != MALICIOUS_MODE); - if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL || - download_->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT) { + if (download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL || + download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT) { mode_ = MALICIOUS_MODE; } else { - DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE); + DCHECK(download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); mode_ = DANGEROUS_MODE; } body_state_ = NORMAL; @@ -1060,33 +1062,39 @@ void DownloadItemView::ShowWarningDialog() { if (mode_ == MALICIOUS_MODE) { warning_icon_ = rb.GetBitmapNamed(IDR_SAFEBROWSING_WARNING); } else { - DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE); + DCHECK(download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); // The download file has dangerous file type (e.g.: an executable). warning_icon_ = rb.GetBitmapNamed(IDR_WARNING); } string16 dangerous_label; - if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_URL) { + if (download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL) { // Safebrowsing shows the download URL or content leads to malicious file. dangerous_label = l10n_util::GetStringUTF16( IDS_PROMPT_MALICIOUS_DOWNLOAD_URL); - } else if (download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE && + } else if (download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE && ChromeDownloadManagerDelegate::IsExtensionDownload(download_)) { dangerous_label = l10n_util::GetStringUTF16(IDS_PROMPT_DANGEROUS_DOWNLOAD_EXTENSION); } else { // The download file has dangerous file type (e.g.: an executable) or the // file content is known to be malicious. - DCHECK(download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE || - download_->GetDangerType() == DownloadStateInfo::DANGEROUS_CONTENT); + DCHECK(download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE || + download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT); ui::ElideString(rootname, kFileNameMaxLength - extension.length(), &rootname); string16 filename = rootname + ASCIIToUTF16(".") + extension; filename = base::i18n::GetDisplayStringInLTRDirectionality(filename); dangerous_label = l10n_util::GetStringFUTF16( - download_->GetDangerType() == DownloadStateInfo::DANGEROUS_FILE ? - IDS_PROMPT_DANGEROUS_DOWNLOAD : - IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT, + download_->GetDangerType() == + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE ? + IDS_PROMPT_DANGEROUS_DOWNLOAD : + IDS_PROMPT_MALICIOUS_DOWNLOAD_CONTENT, filename); } diff --git a/content/browser/download/download_create_info.cc b/content/browser/download/download_create_info.cc index afd95a7..fbcd175 100644 --- a/content/browser/download/download_create_info.cc +++ b/content/browser/download/download_create_info.cc @@ -20,7 +20,6 @@ DownloadCreateInfo::DownloadCreateInfo(const FilePath& path, content::PageTransition transition_type) : path(path), url_chain(1, url), - path_uniquifier(0), start_time(start_time), received_bytes(received_bytes), total_bytes(total_bytes), @@ -33,8 +32,7 @@ DownloadCreateInfo::DownloadCreateInfo(const FilePath& path, } DownloadCreateInfo::DownloadCreateInfo() - : path_uniquifier(0), - received_bytes(0), + : received_bytes(0), total_bytes(0), state(-1), download_id(DownloadId::Invalid()), diff --git a/content/browser/download/download_create_info.h b/content/browser/download/download_create_info.h index 90f9160..9be00c1 100644 --- a/content/browser/download/download_create_info.h +++ b/content/browser/download/download_create_info.h @@ -50,10 +50,6 @@ struct CONTENT_EXPORT DownloadCreateInfo { // The URL that referred us. GURL referrer_url; - // A number that should be added to the suggested path to make it unique. - // 0 means no number should be appended. Not actually stored in the db. - int path_uniquifier; - // The time when the download started. base::Time start_time; diff --git a/content/browser/download/download_item_impl.cc b/content/browser/download/download_item_impl.cc index 505fea3..cc48515 100644 --- a/content/browser/download/download_item_impl.cc +++ b/content/browser/download/download_item_impl.cc @@ -34,6 +34,7 @@ using content::BrowserThread; using content::DownloadFile; using content::DownloadItem; using content::DownloadManager; +using content::WebContents; // A DownloadItem normally goes through the following states: // * Created (when download starts) @@ -201,8 +202,7 @@ DownloadItemImpl::DownloadItemImpl( bool is_otr) : state_info_(info.original_name, info.save_info.file_path, info.has_user_gesture, info.transition_type, - info.prompt_user_for_save_location, info.path_uniquifier, - DownloadStateInfo::NOT_DANGEROUS), + info.prompt_user_for_save_location), request_handle_(request_handle), download_id_(info.download_id), full_path_(info.path), @@ -360,7 +360,7 @@ void DownloadItemImpl::DangerousDownloadValidated() { UMA_HISTOGRAM_ENUMERATION("Download.DangerousDownloadValidated", GetDangerType(), - DownloadStateInfo::DANGEROUS_TYPE_MAX); + content::DOWNLOAD_DANGER_TYPE_MAX); safety_state_ = DANGEROUS_BUT_VALIDATED; UpdateObservers(); @@ -547,12 +547,14 @@ void DownloadItemImpl::Delete(DeleteReason reason) { switch (reason) { case DELETE_DUE_TO_USER_DISCARD: - UMA_HISTOGRAM_ENUMERATION("Download.UserDiscard", GetDangerType(), - DownloadStateInfo::DANGEROUS_TYPE_MAX); + UMA_HISTOGRAM_ENUMERATION( + "Download.UserDiscard", GetDangerType(), + content::DOWNLOAD_DANGER_TYPE_MAX); break; case DELETE_DUE_TO_BROWSER_SHUTDOWN: - UMA_HISTOGRAM_ENUMERATION("Download.Discard", GetDangerType(), - DownloadStateInfo::DANGEROUS_TYPE_MAX); + UMA_HISTOGRAM_ENUMERATION( + "Download.Discard", GetDangerType(), + content::DOWNLOAD_DANGER_TYPE_MAX); break; default: NOTREACHED(); @@ -651,8 +653,9 @@ void DownloadItemImpl::OnDownloadCompleting(DownloadFileManager* file_manager) { // If we prompted the user for save location, then we should overwrite the // target. Otherwise, if the danger state was NOT_DANGEROUS, we already // uniquified the path and should overwrite. - bool should_overwrite = (PromptUserForSaveLocation() || - GetDangerType() == DownloadStateInfo::NOT_DANGEROUS); + bool should_overwrite = + (PromptUserForSaveLocation() || + GetDangerType() == content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); if (NeedsRename()) { BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, base::Bind(&DownloadFileManager::RenameCompletingDownloadFile, @@ -725,7 +728,7 @@ void DownloadItemImpl::SetFileCheckResults(const DownloadStateInfo& state) { UpdateSafetyState(); } -DownloadStateInfo::DangerType DownloadItemImpl::GetDangerType() const { +content::DownloadDangerType DownloadItemImpl::GetDangerType() const { return state_info_.danger; } @@ -736,21 +739,21 @@ bool DownloadItemImpl::IsDangerous() const { void DownloadItemImpl::MarkFileDangerous() { // TODO(rdsmith): Change to DCHECK after http://crbug.com/85408 resolved. CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - state_info_.danger = DownloadStateInfo::DANGEROUS_FILE; + state_info_.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE; UpdateSafetyState(); } void DownloadItemImpl::MarkUrlDangerous() { // TODO(rdsmith): Change to DCHECK after http://crbug.com/85408 resolved. CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - state_info_.danger = DownloadStateInfo::DANGEROUS_URL; + state_info_.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL; UpdateSafetyState(); } void DownloadItemImpl::MarkContentDangerous() { // TODO(rdsmith): Change to DCHECK after http://crbug.com/85408 resolved. CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - state_info_.danger = DownloadStateInfo::DANGEROUS_CONTENT; + state_info_.danger = content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT; UpdateSafetyState(); } @@ -767,7 +770,7 @@ DownloadPersistentStoreInfo DownloadItemImpl::GetPersistentStoreInfo() const { GetOpened()); } -TabContents* DownloadItemImpl::GetTabContents() const { +WebContents* DownloadItemImpl::GetWebContents() const { // TODO(rdsmith): Remove null check after removing GetTabContents() from // paths that might be used by DownloadItems created from history import. // Currently such items have null request_handle_s, where other items diff --git a/content/browser/download/download_item_impl.h b/content/browser/download/download_item_impl.h index dca9c0f..87c7d31 100644 --- a/content/browser/download/download_item_impl.h +++ b/content/browser/download/download_item_impl.h @@ -171,7 +171,7 @@ class CONTENT_EXPORT DownloadItemImpl : public content::DownloadItem { virtual void SetOpenWhenComplete(bool open) OVERRIDE; virtual bool GetFileExternallyRemoved() const OVERRIDE; virtual SafetyState GetSafetyState() const OVERRIDE; - virtual DownloadStateInfo::DangerType GetDangerType() const OVERRIDE; + virtual content::DownloadDangerType GetDangerType() const OVERRIDE; virtual bool IsDangerous() const OVERRIDE; virtual void MarkFileDangerous() OVERRIDE; virtual void MarkUrlDangerous() OVERRIDE; @@ -190,7 +190,7 @@ class CONTENT_EXPORT DownloadItemImpl : public content::DownloadItem { virtual DownloadPersistentStoreInfo GetPersistentStoreInfo() const OVERRIDE; virtual DownloadStateInfo GetStateInfo() const OVERRIDE; virtual content::BrowserContext* GetBrowserContext() const OVERRIDE; - virtual TabContents* GetTabContents() const OVERRIDE; + virtual content::WebContents* GetWebContents() const OVERRIDE; virtual FilePath GetTargetFilePath() const OVERRIDE; virtual FilePath GetFileNameToReportUser() const OVERRIDE; virtual FilePath GetUserVerifiedFilePath() const OVERRIDE; diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc index 82c61e3..d391e56 100644 --- a/content/browser/download/download_manager_impl.cc +++ b/content/browser/download/download_manager_impl.cc @@ -334,7 +334,7 @@ void DownloadManagerImpl::RestartDownload(int32 download_id) { if (download->PromptUserForSaveLocation()) { // We must ask the user for the place to put the download. - WebContents* contents = download->GetTabContents(); + WebContents* contents = download->GetWebContents(); // |id_ptr| will be deleted in either FileSelected() or // FileSelectionCancelled(). @@ -344,7 +344,8 @@ void DownloadManagerImpl::RestartDownload(int32 download_id) { // If |download| is a potentially dangerous file, then |suggested_path| // contains the intermediate name instead of the final download // filename. The latter is GetTargetName(). - if (download->GetDangerType() != DownloadStateInfo::NOT_DANGEROUS) + if (download->GetDangerType() != + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) target_path = suggested_path.DirName().Append(download->GetTargetName()); else target_path = suggested_path; @@ -600,7 +601,7 @@ void DownloadManagerImpl::OnDownloadRenamedToFinalName( if (!item) return; - if (item->GetDangerType() == DownloadStateInfo::NOT_DANGEROUS || + if (item->GetDangerType() == content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS || item->PromptUserForSaveLocation()) { DCHECK_EQ(0, uniquifier) << "We should not uniquify user supplied filenames or safe filenames " @@ -1011,7 +1012,7 @@ void DownloadManagerImpl::OnDownloadItemAddedToPersistentStore( void DownloadManagerImpl::ShowDownloadInBrowser(DownloadItem* download) { // The 'contents' may no longer exist if the user closed the tab before we // get this start completion event. - WebContents* content = download->GetTabContents(); + WebContents* content = download->GetWebContents(); // If the contents no longer exists, we ask the embedder to suggest another // tab. diff --git a/content/browser/download/download_query.cc b/content/browser/download/download_query.cc index 74e7470..cc14b18a 100644 --- a/content/browser/download/download_query.cc +++ b/content/browser/download/download_query.cc @@ -10,6 +10,7 @@ #include "base/bind.h" #include "base/callback.h" +#include "base/file_path.h" #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "base/stl_util.h" @@ -22,6 +23,7 @@ #include "googleurl/src/gurl.h" #include "unicode/regex.h" +using content::DownloadDangerType; using content::DownloadItem; namespace { @@ -74,7 +76,7 @@ static DownloadItem::DownloadState GetState(const DownloadItem& item) { return item.GetState(); } -static DownloadStateInfo::DangerType GetDangerType(const DownloadItem& item) { +static DownloadDangerType GetDangerType(const DownloadItem& item) { return item.GetDangerType(); } @@ -208,10 +210,9 @@ void DownloadQuery::AddFilter(DownloadItem::DownloadState state) { InnerCallback<DownloadItem::DownloadState>(base::Bind(&GetState)))); } -void DownloadQuery::AddFilter(DownloadStateInfo::DangerType danger) { - AddFilter(base::Bind(&FieldMatches<DownloadStateInfo::DangerType>, danger, EQ, - InnerCallback<DownloadStateInfo::DangerType>(base::Bind( - &GetDangerType)))); +void DownloadQuery::AddFilter(DownloadDangerType danger) { + AddFilter(base::Bind(&FieldMatches<DownloadDangerType>, danger, EQ, + InnerCallback<content::DownloadDangerType>(base::Bind(&GetDangerType)))); } bool DownloadQuery::AddFilter(DownloadQuery::FilterType type, @@ -339,7 +340,7 @@ void DownloadQuery::AddSorter(DownloadQuery::SortType type, sorters_.push_back(Sorter::Build<string16>(direction, &GetFilename)); break; case SORT_DANGER: - sorters_.push_back(Sorter::Build<DownloadStateInfo::DangerType>( + sorters_.push_back(Sorter::Build<DownloadDangerType>( direction, &GetDangerType)); break; case SORT_DANGER_ACCEPTED: diff --git a/content/browser/download/download_query.h b/content/browser/download/download_query.h index 22c026d..a9f718d 100644 --- a/content/browser/download/download_query.h +++ b/content/browser/download/download_query.h @@ -98,7 +98,7 @@ class CONTENT_EXPORT DownloadQuery { // filter out all items. bool AddFilter(const FilterCallback& filter); bool AddFilter(FilterType type, const base::Value& value); - void AddFilter(DownloadStateInfo::DangerType danger); + void AddFilter(content::DownloadDangerType danger); void AddFilter(content::DownloadItem::DownloadState state); // Adds a new sorter of type |type| with direction |direction|. After diff --git a/content/browser/download/download_query_unittest.cc b/content/browser/download/download_query_unittest.cc index 26eba38..60687ed 100644 --- a/content/browser/download/download_query_unittest.cc +++ b/content/browser/download/download_query_unittest.cc @@ -193,8 +193,8 @@ TEST_F(DownloadQueryTest, DownloadQueryAllFilters) { 17, DownloadItem::CANCELLED, DownloadItem::IN_PROGRESS))); EXPECT_CALL(mock(i), GetDangerType()).WillRepeatedly(Return(SWITCH2(i, - 18, DownloadStateInfo::DANGEROUS_FILE, - DownloadStateInfo::NOT_DANGEROUS))); + 18, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS))); } for (size_t i = 0; i < kNumItems; ++i) { switch (i) { @@ -223,7 +223,8 @@ TEST_F(DownloadQueryTest, DownloadQueryAllFilters) { match_url.spec().c_str()); break; case 16: CHECK(query()->AddFilter(base::Bind(&IdNotEqual, 16))); break; case 17: query()->AddFilter(DownloadItem::IN_PROGRESS); break; - case 18: query()->AddFilter(DownloadStateInfo::NOT_DANGEROUS); break; + case 18: query()->AddFilter(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); + break; default: NOTREACHED(); break; } Search(); @@ -254,15 +255,15 @@ TEST_F(DownloadQueryTest, DownloadQuerySortBytesReceived) { TEST_F(DownloadQueryTest, DownloadQuerySortDanger) { CreateMocks(2); EXPECT_CALL(mock(0), GetDangerType()).WillRepeatedly(Return( - DownloadStateInfo::DANGEROUS_FILE)); + content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE)); EXPECT_CALL(mock(1), GetDangerType()).WillRepeatedly(Return( - DownloadStateInfo::NOT_DANGEROUS)); + content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)); query()->AddSorter( DownloadQuery::SORT_DANGER, DownloadQuery::ASCENDING); Search(); - EXPECT_EQ(DownloadStateInfo::NOT_DANGEROUS, + EXPECT_EQ(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, results()->at(0)->GetDangerType()); - EXPECT_EQ(DownloadStateInfo::DANGEROUS_FILE, + EXPECT_EQ(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, results()->at(1)->GetDangerType()); } diff --git a/content/browser/download/download_state_info.cc b/content/browser/download/download_state_info.cc index 832753d..dd26812 100644 --- a/content/browser/download/download_state_info.cc +++ b/content/browser/download/download_state_info.cc @@ -11,7 +11,7 @@ DownloadStateInfo::DownloadStateInfo() has_user_gesture(false), transition_type(content::PAGE_TRANSITION_LINK), prompt_user_for_save_location(false), - danger(NOT_DANGEROUS) { + danger(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) { } DownloadStateInfo::DownloadStateInfo( @@ -21,7 +21,7 @@ DownloadStateInfo::DownloadStateInfo( has_user_gesture(has_user_gesture), transition_type(content::PAGE_TRANSITION_LINK), prompt_user_for_save_location(prompt_user_for_save_location), - danger(NOT_DANGEROUS) { + danger(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) { } DownloadStateInfo::DownloadStateInfo( @@ -29,15 +29,13 @@ DownloadStateInfo::DownloadStateInfo( const FilePath& forced_name, bool has_user_gesture, content::PageTransition transition_type, - bool prompt_user_for_save_location, - int uniquifier, - DangerType danger_type) + bool prompt_user_for_save_location) : target_name(target), - path_uniquifier(uniquifier), + path_uniquifier(0), has_user_gesture(has_user_gesture), transition_type(transition_type), prompt_user_for_save_location(prompt_user_for_save_location), - danger(danger_type), + danger(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS), force_file_name(forced_name) { } @@ -45,10 +43,11 @@ bool DownloadStateInfo::IsDangerous() const { // TODO(noelutz): At this point only the windows views UI supports // warnings based on dangerous content. #ifdef OS_WIN - return (danger == DANGEROUS_FILE || - danger == DANGEROUS_URL || - danger == DANGEROUS_CONTENT); + return (danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE || + danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL || + danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT); #else - return (danger == DANGEROUS_FILE || danger == DANGEROUS_URL); + return (danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE || + danger == content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL); #endif } diff --git a/content/browser/download/download_state_info.h b/content/browser/download/download_state_info.h index a59d7c78..09318dc 100644 --- a/content/browser/download/download_state_info.h +++ b/content/browser/download/download_state_info.h @@ -8,37 +8,12 @@ #include "base/file_path.h" #include "content/common/content_export.h" +#include "content/public/browser/download_danger_type.h" #include "content/public/common/page_transition_types.h" // Contains information relating to the process of determining what to do with // the download. struct DownloadStateInfo { - // This enum is also used by histograms. Do not change the ordering or remove - // items. - enum DangerType { - // The download is safe. - NOT_DANGEROUS = 0, - - // A dangerous file to the system (e.g.: a pdf or extension from - // places other than gallery). - DANGEROUS_FILE, - - // Safebrowsing download service shows this URL leads to malicious file - // download. - DANGEROUS_URL, - - // SafeBrowsing download service shows this file content as being malicious. - DANGEROUS_CONTENT, - - // The content of this download may be malicious (e.g., extension is exe but - // SafeBrowsing has not finished checking the content). - MAYBE_DANGEROUS_CONTENT, - - // Memory space for histograms is determined by the max. - // ALWAYS ADD NEW VALUES BEFORE THIS ONE. - DANGEROUS_TYPE_MAX - }; - DownloadStateInfo(); DownloadStateInfo(bool has_user_gesture, bool prompt_user_for_save_location); @@ -46,9 +21,7 @@ struct DownloadStateInfo { const FilePath& forced_name, bool has_user_gesture, content::PageTransition transition_type, - bool prompt_user_for_save_location, - int uniquifier, - DangerType danger); + bool prompt_user_for_save_location); // Indicates if the download is dangerous. CONTENT_EXPORT bool IsDangerous() const; @@ -75,7 +48,7 @@ struct DownloadStateInfo { // default location. bool prompt_user_for_save_location; - DangerType danger; + content::DownloadDangerType danger; // True if this download's file name was specified initially. FilePath force_file_name; diff --git a/content/browser/download/mock_download_item.h b/content/browser/download/mock_download_item.h index 7b3f429..42d25b8 100644 --- a/content/browser/download/mock_download_item.h +++ b/content/browser/download/mock_download_item.h @@ -84,7 +84,7 @@ class MockDownloadItem : public content::DownloadItem { MOCK_METHOD1(SetOpenWhenComplete, void(bool)); MOCK_CONST_METHOD0(GetFileExternallyRemoved, bool()); MOCK_CONST_METHOD0(GetSafetyState, SafetyState()); - MOCK_CONST_METHOD0(GetDangerType, DownloadStateInfo::DangerType()); + MOCK_CONST_METHOD0(GetDangerType, content::DownloadDangerType()); MOCK_CONST_METHOD0(IsDangerous, bool()); MOCK_METHOD0(MarkFileDangerous, void()); MOCK_METHOD0(MarkUrlDangerous, void()); @@ -103,7 +103,7 @@ class MockDownloadItem : public content::DownloadItem { MOCK_CONST_METHOD0(GetPersistentStoreInfo, DownloadPersistentStoreInfo()); MOCK_CONST_METHOD0(GetStateInfo, DownloadStateInfo()); MOCK_CONST_METHOD0(GetBrowserContext, content::BrowserContext*()); - MOCK_CONST_METHOD0(GetTabContents, TabContents*()); + MOCK_CONST_METHOD0(GetWebContents, content::WebContents*()); MOCK_CONST_METHOD0(GetTargetFilePath, FilePath()); MOCK_CONST_METHOD0(GetFileNameToReportUser, FilePath()); MOCK_CONST_METHOD0(GetUserVerifiedFilePath, FilePath()); diff --git a/content/content_browser.gypi b/content/content_browser.gypi index e4d73c3..8f6d40f 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi @@ -43,6 +43,7 @@ 'public/browser/content_ipc_logging.h', 'public/browser/devtools_agent_host_registry.h', 'public/browser/devtools_client_host.h', + 'public/browser/download_danger_type.h', 'public/browser/devtools_frontend_host_delegate.h', 'public/browser/devtools_http_handler.h', 'public/browser/devtools_http_handler_delegate.h', diff --git a/content/public/browser/download_danger_type.h b/content/public/browser/download_danger_type.h new file mode 100644 index 0000000..2c8ba88 --- /dev/null +++ b/content/public/browser/download_danger_type.h @@ -0,0 +1,39 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_PUBLIC_BROWSER_DOWNLOAD_DANGER_TYPE_H_ +#define CONTENT_PUBLIC_BROWSER_DOWNLOAD_DANGER_TYPE_H_ +#pragma once + +namespace content { + +// This enum is also used by histograms. Do not change the ordering or remove +// items. +enum DownloadDangerType { + // The download is safe. + DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS = 0, + + // A dangerous file to the system (e.g.: a pdf or extension from + // places other than gallery). + DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, + + // Safebrowsing download service shows this URL leads to malicious file + // download. + DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, + + // SafeBrowsing download service shows this file content as being malicious. + DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT, + + // The content of this download may be malicious (e.g., extension is exe but + // SafeBrowsing has not finished checking the content). + DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, + + // Memory space for histograms is determined by the max. + // ALWAYS ADD NEW VALUES BEFORE THIS ONE. + DOWNLOAD_DANGER_TYPE_MAX +}; + +} + +#endif // CONTENT_PUBLIC_BROWSER_DOWNLOAD_DANGER_TYPE_H_ diff --git a/content/public/browser/download_item.h b/content/public/browser/download_item.h index 0d194842..453d37f 100644 --- a/content/public/browser/download_item.h +++ b/content/public/browser/download_item.h @@ -24,12 +24,12 @@ #include "base/string16.h" #include "content/browser/download/download_state_info.h" #include "content/browser/download/interrupt_reasons.h" +#include "content/public/browser/download_danger_type.h" class DownloadId; class DownloadFileManager; class FilePath; class GURL; -class TabContents; struct DownloadCreateInfo; struct DownloadPersistentStoreInfo; @@ -42,6 +42,7 @@ namespace content { class BrowserContext; class DownloadManager; +class WebContents; // One DownloadItem per download. This is the model class that stores all the // state for a download. Multiple views, such as a tab's download shelf and the @@ -281,7 +282,7 @@ class CONTENT_EXPORT DownloadItem { virtual bool GetFileExternallyRemoved() const = 0; virtual SafetyState GetSafetyState() const = 0; // Why |safety_state_| is not SAFE. - virtual DownloadStateInfo::DangerType GetDangerType() const = 0; + virtual DownloadDangerType GetDangerType() const = 0; virtual bool IsDangerous() const = 0; virtual void MarkContentDangerous() = 0; virtual void MarkFileDangerous() = 0; @@ -303,7 +304,7 @@ class CONTENT_EXPORT DownloadItem { virtual DownloadPersistentStoreInfo GetPersistentStoreInfo() const = 0; virtual DownloadStateInfo GetStateInfo() const = 0; virtual BrowserContext* GetBrowserContext() const = 0; - virtual TabContents* GetTabContents() const = 0; + virtual WebContents* GetWebContents() const = 0; // Returns the final target file path for the download. virtual FilePath GetTargetFilePath() const = 0; |