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

Unified Diff: chrome/browser/local_discovery/gcd_base_api_flow.cc

Issue 298883012: Added GetURL, GetOAuthScope, GetExtraRequestHeaders into GCDBaseApiFlow::Delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/local_discovery/gcd_base_api_flow.cc
diff --git a/chrome/browser/local_discovery/gcd_base_api_flow.cc b/chrome/browser/local_discovery/gcd_base_api_flow.cc
index f44c418fbde8a73540efaff73eab1a12f386b6e1..d893ce9eeda7a0617e30bf7eeac1ea24c211e406 100644
--- a/chrome/browser/local_discovery/gcd_base_api_flow.cc
+++ b/chrome/browser/local_discovery/gcd_base_api_flow.cc
@@ -23,10 +23,18 @@ namespace {
const char kCloudPrintOAuthHeaderFormat[] = "Authorization: Bearer %s";
}
+std::string GCDBaseApiFlow::Delegate::GetOAuthScope() {
+ return cloud_devices::kCloudDevicesAuthScope;
+}
+
net::URLFetcher::RequestType GCDBaseApiFlow::Delegate::GetRequestType() {
return net::URLFetcher::GET;
}
+std::vector<std::string> GCDBaseApiFlow::Delegate::GetExtraRequestHeaders() {
+ return std::vector<std::string>();
+}
+
void GCDBaseApiFlow::Delegate::GetUploadData(std::string* upload_type,
std::string* upload_data) {
*upload_type = std::string();
@@ -36,13 +44,11 @@ void GCDBaseApiFlow::Delegate::GetUploadData(std::string* upload_type,
GCDBaseApiFlow::GCDBaseApiFlow(net::URLRequestContextGetter* request_context,
OAuth2TokenService* token_service,
const std::string& account_id,
- const GURL& url,
Delegate* delegate)
: OAuth2TokenService::Consumer("cloud_print"),
request_context_(request_context),
token_service_(token_service),
account_id_(account_id),
- url_(url),
delegate_(delegate) {
}
@@ -50,11 +56,7 @@ GCDBaseApiFlow::~GCDBaseApiFlow() {}
void GCDBaseApiFlow::Start() {
OAuth2TokenService::ScopeSet oauth_scopes;
- if (delegate_->GCDIsCloudPrint()) {
- oauth_scopes.insert(cloud_devices::kCloudPrintAuthScope);
- } else {
- oauth_scopes.insert(cloud_devices::kCloudDevicesAuthScope);
- }
+ oauth_scopes.insert(delegate_->GetOAuthScope());
oauth_request_ =
token_service_->StartRequest(account_id_, oauth_scopes, this);
}
@@ -63,7 +65,7 @@ void GCDBaseApiFlow::OnGetTokenSuccess(
const OAuth2TokenService::Request* request,
const std::string& access_token,
const base::Time& expiration_time) {
- CreateRequest(url_);
+ CreateRequest(delegate_->GetURL());
std::string authorization_header =
base::StringPrintf(kCloudPrintOAuthHeaderFormat, access_token.c_str());
@@ -94,10 +96,9 @@ void GCDBaseApiFlow::CreateRequest(const GURL& url) {
url_fetcher_->SetRequestContext(request_context_.get());
- if (delegate_->GCDIsCloudPrint()) {
- url_fetcher_->AddExtraRequestHeader(
- cloud_print::kChromeCloudPrintProxyHeader);
- }
+ std::vector<std::string> extra_headers = delegate_->GetExtraRequestHeaders();
+ for (size_t i = 0; i < extra_headers.size(); ++i)
+ url_fetcher_->AddExtraRequestHeader(extra_headers[i]);
}
void GCDBaseApiFlow::OnURLFetchComplete(const net::URLFetcher* source) {
@@ -130,4 +131,16 @@ void GCDBaseApiFlow::OnURLFetchComplete(const net::URLFetcher* source) {
delegate_->OnGCDAPIFlowComplete(this, dictionary_value);
}
+CloudPrintApiFlowDelegate::CloudPrintApiFlowDelegate() {}
+
+CloudPrintApiFlowDelegate::~CloudPrintApiFlowDelegate() {}
+
+std::string CloudPrintApiFlowDelegate::GetOAuthScope() {
+ return cloud_devices::kCloudPrintAuthScope;
+}
+
+std::vector<std::string> CloudPrintApiFlowDelegate::GetExtraRequestHeaders() {
+ return std::vector<std::string>(1, cloud_print::kChromeCloudPrintProxyHeader);
+}
+
} // namespace local_discovery
« no previous file with comments | « chrome/browser/local_discovery/gcd_base_api_flow.h ('k') | chrome/browser/local_discovery/privet_confirm_api_flow.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698