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

Side by Side Diff: chrome/browser/profiles/profile_downloader.cc

Issue 23382008: Making OAuth2TokenService multi-login aware, updating callers, minor fixes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing to include the update to ProfileSyncService: r224220 Created 7 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/profiles/profile_downloader.h" 5 #include "chrome/browser/profiles/profile_downloader.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 ProfileOAuth2TokenServiceFactory::GetForProfile( 210 ProfileOAuth2TokenServiceFactory::GetForProfile(
211 delegate_->GetBrowserProfile()); 211 delegate_->GetBrowserProfile());
212 if (!service) { 212 if (!service) {
213 // This can happen in some test paths. 213 // This can happen in some test paths.
214 LOG(WARNING) << "User has no token service"; 214 LOG(WARNING) << "User has no token service";
215 delegate_->OnProfileDownloadFailure( 215 delegate_->OnProfileDownloadFailure(
216 this, ProfileDownloaderDelegate::TOKEN_ERROR); 216 this, ProfileDownloaderDelegate::TOKEN_ERROR);
217 return; 217 return;
218 } 218 }
219 219
220 if (service->RefreshTokenIsAvailable()) { 220 if (service->RefreshTokenIsAvailable(
221 service->GetPrimaryAccountId())) {
221 StartFetchingOAuth2AccessToken(); 222 StartFetchingOAuth2AccessToken();
222 } else { 223 } else {
223 service->AddObserver(this); 224 service->AddObserver(this);
224 } 225 }
225 } 226 }
226 227
227 string16 ProfileDownloader::GetProfileFullName() const { 228 string16 ProfileDownloader::GetProfileFullName() const {
228 return profile_full_name_; 229 return profile_full_name_;
229 } 230 }
230 231
(...skipping 26 matching lines...) Expand all
257 user_entry_fetcher_->SetExtraRequestHeaders( 258 user_entry_fetcher_->SetExtraRequestHeaders(
258 base::StringPrintf(kAuthorizationHeader, auth_token_.c_str())); 259 base::StringPrintf(kAuthorizationHeader, auth_token_.c_str()));
259 } 260 }
260 user_entry_fetcher_->Start(); 261 user_entry_fetcher_->Start();
261 } 262 }
262 263
263 void ProfileDownloader::StartFetchingOAuth2AccessToken() { 264 void ProfileDownloader::StartFetchingOAuth2AccessToken() {
264 Profile* profile = delegate_->GetBrowserProfile(); 265 Profile* profile = delegate_->GetBrowserProfile();
265 OAuth2TokenService::ScopeSet scopes; 266 OAuth2TokenService::ScopeSet scopes;
266 scopes.insert(kAPIScope); 267 scopes.insert(kAPIScope);
267 oauth2_access_token_request_ = 268 ProfileOAuth2TokenService* token_service =
268 ProfileOAuth2TokenServiceFactory::GetForProfile(profile) 269 ProfileOAuth2TokenServiceFactory::GetForProfile(profile);
269 ->StartRequestWithContext(profile->GetRequestContext(), scopes, this); 270 oauth2_access_token_request_ = token_service->StartRequest(
271 token_service->GetPrimaryAccountId(), scopes, this);
270 } 272 }
271 273
272 ProfileDownloader::~ProfileDownloader() {} 274 ProfileDownloader::~ProfileDownloader() {}
273 275
274 void ProfileDownloader::OnURLFetchComplete(const net::URLFetcher* source) { 276 void ProfileDownloader::OnURLFetchComplete(const net::URLFetcher* source) {
275 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 277 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
276 std::string data; 278 std::string data;
277 source->GetResponseAsString(&data); 279 source->GetResponseAsString(&data);
278 bool network_error = 280 bool network_error =
279 source->GetStatus().status() != net::URLRequestStatus::SUCCESS; 281 source->GetStatus().status() != net::URLRequestStatus::SUCCESS;
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 // Callback for OAuth2TokenService::Request on failure. 384 // Callback for OAuth2TokenService::Request on failure.
383 void ProfileDownloader::OnGetTokenFailure( 385 void ProfileDownloader::OnGetTokenFailure(
384 const OAuth2TokenService::Request* request, 386 const OAuth2TokenService::Request* request,
385 const GoogleServiceAuthError& error) { 387 const GoogleServiceAuthError& error) {
386 DCHECK_EQ(request, oauth2_access_token_request_.get()); 388 DCHECK_EQ(request, oauth2_access_token_request_.get());
387 oauth2_access_token_request_.reset(); 389 oauth2_access_token_request_.reset();
388 LOG(WARNING) << "ProfileDownloader: token request using refresh token failed"; 390 LOG(WARNING) << "ProfileDownloader: token request using refresh token failed";
389 delegate_->OnProfileDownloadFailure( 391 delegate_->OnProfileDownloadFailure(
390 this, ProfileDownloaderDelegate::TOKEN_ERROR); 392 this, ProfileDownloaderDelegate::TOKEN_ERROR);
391 } 393 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698