Index: chrome/browser/extensions/api/downloads/downloads_api.cc |
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc |
index e4cc721dde93ab4c8fdf3ce47386cf429b176540..f2394a1a2efe6e2a8332ff74a435bd29fe3d9d9f 100644 |
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc |
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc |
@@ -431,18 +431,21 @@ void RunDownloadQuery( |
} |
query_out.Limit(*query_in.limit.get()); |
} |
- if (query_in.state.get()) { |
- DownloadItem::DownloadState state = StateEnumFromString( |
- *query_in.state.get()); |
+ std::string state_string = |
+ extensions::api::downloads::ToString(query_in.state); |
+ if (!state_string.empty()) { |
+ DownloadItem::DownloadState state = StateEnumFromString(state_string); |
if (state == DownloadItem::MAX_DOWNLOAD_STATE) { |
*error = download_extension_errors::kInvalidStateError; |
return; |
} |
query_out.AddFilter(state); |
} |
- if (query_in.danger.get()) { |
- content::DownloadDangerType danger_type = |
- DangerEnumFromString(*query_in.danger.get()); |
+ std::string danger_string = |
+ extensions::api::downloads::ToString(query_in.danger); |
+ if (!danger_string.empty()) { |
+ content::DownloadDangerType danger_type = DangerEnumFromString( |
+ danger_string); |
if (danger_type == content::DOWNLOAD_DANGER_TYPE_MAX) { |
*error = download_extension_errors::kInvalidDangerTypeError; |
return; |
@@ -624,8 +627,10 @@ bool DownloadsDownloadFunction::RunImpl() { |
} |
} |
- if (options.method.get()) |
- download_params->set_method(*options.method.get()); |
+ std::string method_string = |
+ extensions::api::downloads::ToString(options.method); |
+ if (!method_string.empty()) |
+ download_params->set_method(method_string); |
if (options.body.get()) |
download_params->set_post_body(*options.body.get()); |
download_params->set_callback(base::Bind( |