Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1029)

Side by Side Diff: chrome/browser/extensions/api/downloads/downloads_api.cc

Issue 10907151: Extensions Docs Server: Enum values do not show up if enum is a type (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rtcPrivate fix Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/downloads/downloads_api.h" 5 #include "chrome/browser/extensions/api/downloads/downloads_api.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cctype> 8 #include <cctype>
9 #include <iterator> 9 #include <iterator>
10 #include <set> 10 #include <set>
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 424
425 DownloadQuery query_out; 425 DownloadQuery query_out;
426 426
427 if (query_in.limit.get()) { 427 if (query_in.limit.get()) {
428 if (*query_in.limit.get() < 0) { 428 if (*query_in.limit.get() < 0) {
429 *error = download_extension_errors::kInvalidQueryLimit; 429 *error = download_extension_errors::kInvalidQueryLimit;
430 return; 430 return;
431 } 431 }
432 query_out.Limit(*query_in.limit.get()); 432 query_out.Limit(*query_in.limit.get());
433 } 433 }
434 if (query_in.state.get()) { 434 std::string state_string =
435 DownloadItem::DownloadState state = StateEnumFromString( 435 extensions::api::downloads::ToString(query_in.state);
436 *query_in.state.get()); 436 if (!state_string.empty()) {
437 DownloadItem::DownloadState state = StateEnumFromString(state_string);
437 if (state == DownloadItem::MAX_DOWNLOAD_STATE) { 438 if (state == DownloadItem::MAX_DOWNLOAD_STATE) {
438 *error = download_extension_errors::kInvalidStateError; 439 *error = download_extension_errors::kInvalidStateError;
439 return; 440 return;
440 } 441 }
441 query_out.AddFilter(state); 442 query_out.AddFilter(state);
442 } 443 }
443 if (query_in.danger.get()) { 444 std::string danger_string =
444 content::DownloadDangerType danger_type = 445 extensions::api::downloads::ToString(query_in.danger);
445 DangerEnumFromString(*query_in.danger.get()); 446 if (!danger_string.empty()) {
447 content::DownloadDangerType danger_type = DangerEnumFromString(
448 danger_string);
446 if (danger_type == content::DOWNLOAD_DANGER_TYPE_MAX) { 449 if (danger_type == content::DOWNLOAD_DANGER_TYPE_MAX) {
447 *error = download_extension_errors::kInvalidDangerTypeError; 450 *error = download_extension_errors::kInvalidDangerTypeError;
448 return; 451 return;
449 } 452 }
450 query_out.AddFilter(danger_type); 453 query_out.AddFilter(danger_type);
451 } 454 }
452 if (query_in.order_by.get()) { 455 if (query_in.order_by.get()) {
453 CompileDownloadQueryOrderBy(*query_in.order_by.get(), error, &query_out); 456 CompileDownloadQueryOrderBy(*query_in.order_by.get(), error, &query_out);
454 if (!error->empty()) 457 if (!error->empty())
455 return; 458 return;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 ++iter) { 620 ++iter) {
618 const HeaderNameValuePair& name_value = **iter; 621 const HeaderNameValuePair& name_value = **iter;
619 if (!net::HttpUtil::IsSafeHeader(name_value.name)) { 622 if (!net::HttpUtil::IsSafeHeader(name_value.name)) {
620 error_ = download_extension_errors::kGenericError; 623 error_ = download_extension_errors::kGenericError;
621 return false; 624 return false;
622 } 625 }
623 download_params->add_request_header(name_value.name, name_value.value); 626 download_params->add_request_header(name_value.name, name_value.value);
624 } 627 }
625 } 628 }
626 629
627 if (options.method.get()) 630 std::string method_string =
628 download_params->set_method(*options.method.get()); 631 extensions::api::downloads::ToString(options.method);
632 if (!method_string.empty())
633 download_params->set_method(method_string);
629 if (options.body.get()) 634 if (options.body.get())
630 download_params->set_post_body(*options.body.get()); 635 download_params->set_post_body(*options.body.get());
631 download_params->set_callback(base::Bind( 636 download_params->set_callback(base::Bind(
632 &DownloadsDownloadFunction::OnStarted, this)); 637 &DownloadsDownloadFunction::OnStarted, this));
633 // Prevent login prompts for 401/407 responses. 638 // Prevent login prompts for 401/407 responses.
634 download_params->set_load_flags(net::LOAD_DO_NOT_PROMPT_FOR_LOGIN); 639 download_params->set_load_flags(net::LOAD_DO_NOT_PROMPT_FOR_LOGIN);
635 640
636 DownloadManager* manager = BrowserContext::GetDownloadManager( 641 DownloadManager* manager = BrowserContext::GetDownloadManager(
637 current_profile); 642 current_profile);
638 manager->DownloadUrl(download_params.Pass()); 643 manager->DownloadUrl(download_params.Pass());
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1002 if (profile_->HasOffTheRecordProfile() && 1007 if (profile_->HasOffTheRecordProfile() &&
1003 !profile_->IsOffTheRecord()) { 1008 !profile_->IsOffTheRecord()) {
1004 DispatchEventInternal( 1009 DispatchEventInternal(
1005 profile_->GetOffTheRecordProfile(), 1010 profile_->GetOffTheRecordProfile(),
1006 event_name, 1011 event_name,
1007 json_args, 1012 json_args,
1008 scoped_ptr<base::ListValue>(args->DeepCopy())); 1013 scoped_ptr<base::ListValue>(args->DeepCopy()));
1009 } 1014 }
1010 DispatchEventInternal(profile_, event_name, json_args, args.Pass()); 1015 DispatchEventInternal(profile_, event_name, json_args, args.Pass());
1011 } 1016 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698