| 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(
|
|
|