summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider.cc
diff options
context:
space:
mode:
authorrdsmith@chromium.org <rdsmith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-17 01:50:52 +0000
committerrdsmith@chromium.org <rdsmith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-17 01:50:52 +0000
commitcda790613b518dee5a3ea4ce7d83989c1acd166a (patch)
tree63559cfe77454c489e41c1f69bd685e09d68cc78 /chrome/browser/automation/automation_provider.cc
parent155727895a28eabf46792cf1934d6e0b6db11ee3 (diff)
downloadchromium_src-cda790613b518dee5a3ea4ce7d83989c1acd166a.zip
chromium_src-cda790613b518dee5a3ea4ce7d83989c1acd166a.tar.gz
chromium_src-cda790613b518dee5a3ea4ce7d83989c1acd166a.tar.bz2
Merge DownloadItem::SafetyState and DownloadDangerType
R=asanka@chromium.org R=benjhayden@chromium.org Review URL: https://chromiumcodereview.appspot.com/11693011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177304 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation/automation_provider.cc')
-rw-r--r--chrome/browser/automation/automation_provider.cc70
1 files changed, 56 insertions, 14 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc
index faa6d2b..b7d2c16 100644
--- a/chrome/browser/automation/automation_provider.cc
+++ b/chrome/browser/automation/automation_provider.cc
@@ -302,17 +302,60 @@ int AutomationProvider::GetIndexForNavigationController(
// TODO(phajdan.jr): move to TestingAutomationProvider.
DictionaryValue* AutomationProvider::GetDictionaryFromDownloadItem(
const DownloadItem* download, bool incognito) {
- std::map<DownloadItem::DownloadState, std::string> state_to_string;
- state_to_string[DownloadItem::IN_PROGRESS] = std::string("IN_PROGRESS");
- state_to_string[DownloadItem::CANCELLED] = std::string("CANCELLED");
- state_to_string[DownloadItem::INTERRUPTED] = std::string("INTERRUPTED");
- state_to_string[DownloadItem::COMPLETE] = std::string("COMPLETE");
-
- std::map<DownloadItem::SafetyState, std::string> safety_state_to_string;
- safety_state_to_string[DownloadItem::SAFE] = std::string("SAFE");
- safety_state_to_string[DownloadItem::DANGEROUS] = std::string("DANGEROUS");
- safety_state_to_string[DownloadItem::DANGEROUS_BUT_VALIDATED] =
- std::string("DANGEROUS_BUT_VALIDATED");
+ const char *download_state_string = NULL;
+ switch (download->GetState()) {
+ case DownloadItem::IN_PROGRESS:
+ download_state_string = "IN_PROGRESS";
+ break;
+ case DownloadItem::CANCELLED:
+ download_state_string = "CANCELLED";
+ break;
+ case DownloadItem::INTERRUPTED:
+ download_state_string = "INTERRUPTED";
+ break;
+ case DownloadItem::COMPLETE:
+ download_state_string = "COMPLETE";
+ break;
+ case DownloadItem::MAX_DOWNLOAD_STATE:
+ NOTREACHED();
+ download_state_string = "UNKNOWN";
+ break;
+ }
+ DCHECK(download_state_string);
+ if (!download_state_string)
+ download_state_string = "UNKNOWN";
+
+ const char* download_danger_type_string = NULL;
+ switch (download->GetDangerType()) {
+ case content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS:
+ download_danger_type_string = "NOT_DANGEROUS";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE:
+ download_danger_type_string = "DANGEROUS_FILE";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL:
+ download_danger_type_string = "DANGEROUS_URL";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_DANGEROUS_CONTENT:
+ download_danger_type_string = "DANGEROUS_CONTENT";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT:
+ download_danger_type_string = "MAYBE_DANGEROUS_CONTENT";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT:
+ download_danger_type_string = "UNCOMMON_CONTENT";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_USER_VALIDATED:
+ download_danger_type_string = "USER_VALIDATED";
+ break;
+ case content::DOWNLOAD_DANGER_TYPE_MAX:
+ NOTREACHED();
+ download_danger_type_string = "UNKNOWN";
+ break;
+ }
+ DCHECK(download_danger_type_string);
+ if (!download_danger_type_string)
+ download_danger_type_string = "UNKNOWN";
DictionaryValue* dl_item_value = new DictionaryValue;
dl_item_value->SetInteger("id", static_cast<int>(download->GetId()));
@@ -327,9 +370,8 @@ DictionaryValue* AutomationProvider::GetDictionaryFromDownloadItem(
download->GetOpenWhenComplete());
dl_item_value->SetBoolean("is_temporary", download->IsTemporary());
dl_item_value->SetBoolean("is_otr", incognito);
- dl_item_value->SetString("state", state_to_string[download->GetState()]);
- dl_item_value->SetString("safety_state",
- safety_state_to_string[download->GetSafetyState()]);
+ dl_item_value->SetString("state", download_state_string);
+ dl_item_value->SetString("danger_type", download_danger_type_string);
dl_item_value->SetInteger("PercentComplete", download->PercentComplete());
return dl_item_value;