diff options
author | rdsmith@chromium.org <rdsmith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-17 01:50:52 +0000 |
---|---|---|
committer | rdsmith@chromium.org <rdsmith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-17 01:50:52 +0000 |
commit | cda790613b518dee5a3ea4ce7d83989c1acd166a (patch) | |
tree | 63559cfe77454c489e41c1f69bd685e09d68cc78 /chrome/browser/automation/automation_provider.cc | |
parent | 155727895a28eabf46792cf1934d6e0b6db11ee3 (diff) | |
download | chromium_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.cc | 70 |
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; |