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

Side by Side Diff: google_apis/gaia/oauth2_api_call_flow.cc

Issue 475483003: Wire easy unlock settings UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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
« no previous file with comments | « google_apis/gaia/oauth2_api_call_flow.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "google_apis/gaia/oauth2_api_call_flow.h" 5 #include "google_apis/gaia/oauth2_api_call_flow.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 if (tried_mint_access_token_) { 83 if (tried_mint_access_token_) {
84 state_ = ERROR_STATE; 84 state_ = ERROR_STATE;
85 ProcessApiCallFailure(source); 85 ProcessApiCallFailure(source);
86 } else { 86 } else {
87 BeginMintAccessToken(); 87 BeginMintAccessToken();
88 } 88 }
89 89
90 return; 90 return;
91 } 91 }
92 92
93 if (source->GetResponseCode() != net::HTTP_OK) { 93 if (source->GetResponseCode() != net::HTTP_OK &&
94 source->GetResponseCode() != net::HTTP_NO_CONTENT) {
94 state_ = ERROR_STATE; 95 state_ = ERROR_STATE;
95 ProcessApiCallFailure(source); 96 ProcessApiCallFailure(source);
96 return; 97 return;
97 } 98 }
98 99
99 ProcessApiCallSuccess(source); 100 ProcessApiCallSuccess(source);
100 } 101 }
101 102
102 void OAuth2ApiCallFlow::BeginMintAccessToken() { 103 void OAuth2ApiCallFlow::BeginMintAccessToken() {
103 CHECK(state_ == INITIAL || state_ == API_CALL_DONE); 104 CHECK(state_ == INITIAL || state_ == API_CALL_DONE);
(...skipping 14 matching lines...) Expand all
118 119
119 if (!error) { 120 if (!error) {
120 state_ = MINT_ACCESS_TOKEN_DONE; 121 state_ = MINT_ACCESS_TOKEN_DONE;
121 BeginApiCall(); 122 BeginApiCall();
122 } else { 123 } else {
123 state_ = ERROR_STATE; 124 state_ = ERROR_STATE;
124 ProcessMintAccessTokenFailure(*error); 125 ProcessMintAccessTokenFailure(*error);
125 } 126 }
126 } 127 }
127 128
129 std::string OAuth2ApiCallFlow::CreateApiCallBodyContentType() {
130 return "application/x-www-form-urlencoded";
131 }
132
128 OAuth2AccessTokenFetcher* OAuth2ApiCallFlow::CreateAccessTokenFetcher() { 133 OAuth2AccessTokenFetcher* OAuth2ApiCallFlow::CreateAccessTokenFetcher() {
129 return new OAuth2AccessTokenFetcherImpl(this, context_, refresh_token_); 134 return new OAuth2AccessTokenFetcherImpl(this, context_, refresh_token_);
130 } 135 }
131 136
132 void OAuth2ApiCallFlow::OnURLFetchComplete(const net::URLFetcher* source) { 137 void OAuth2ApiCallFlow::OnURLFetchComplete(const net::URLFetcher* source) {
133 CHECK(source); 138 CHECK(source);
134 CHECK_EQ(API_CALL_STARTED, state_); 139 CHECK_EQ(API_CALL_STARTED, state_);
135 EndApiCall(source); 140 EndApiCall(source);
136 } 141 }
137 142
(...skipping 21 matching lines...) Expand all
159 result->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 164 result->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
160 net::LOAD_DO_NOT_SAVE_COOKIES); 165 net::LOAD_DO_NOT_SAVE_COOKIES);
161 result->AddExtraRequestHeader(MakeAuthorizationHeader(access_token_)); 166 result->AddExtraRequestHeader(MakeAuthorizationHeader(access_token_));
162 // Fetchers are sometimes cancelled because a network change was detected, 167 // Fetchers are sometimes cancelled because a network change was detected,
163 // especially at startup and after sign-in on ChromeOS. Retrying once should 168 // especially at startup and after sign-in on ChromeOS. Retrying once should
164 // be enough in those cases; let the fetcher retry up to 3 times just in case. 169 // be enough in those cases; let the fetcher retry up to 3 times just in case.
165 // http://crbug.com/163710 170 // http://crbug.com/163710
166 result->SetAutomaticallyRetryOnNetworkChanges(3); 171 result->SetAutomaticallyRetryOnNetworkChanges(3);
167 172
168 if (!empty_body) 173 if (!empty_body)
169 result->SetUploadData("application/x-www-form-urlencoded", body); 174 result->SetUploadData(CreateApiCallBodyContentType(), body);
170 175
171 return result; 176 return result;
172 } 177 }
OLDNEW
« no previous file with comments | « google_apis/gaia/oauth2_api_call_flow.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698