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

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

Issue 1873663002: Convert //google_apis from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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) 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/gaia_oauth_client.h" 5 #include "google_apis/gaia/gaia_oauth_client.h"
6 6
7 #include <memory>
7 #include <utility> 8 #include <utility>
8 9
9 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
10 #include "base/logging.h" 11 #include "base/logging.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "google_apis/gaia/gaia_urls.h" 14 #include "google_apis/gaia/gaia_urls.h"
15 #include "net/base/escape.h" 15 #include "net/base/escape.h"
16 #include "net/base/load_flags.h" 16 #include "net/base/load_flags.h"
17 #include "net/http/http_status_code.h" 17 #include "net/http/http_status_code.h"
18 #include "net/url_request/url_fetcher.h" 18 #include "net/url_request/url_fetcher.h"
19 #include "net/url_request/url_fetcher_delegate.h" 19 #include "net/url_request/url_fetcher_delegate.h"
20 #include "net/url_request/url_request_context_getter.h" 20 #include "net/url_request/url_request_context_getter.h"
21 #include "url/gurl.h" 21 #include "url/gurl.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 void MakeGaiaRequest(const GURL& url, 91 void MakeGaiaRequest(const GURL& url,
92 const std::string& post_body, 92 const std::string& post_body,
93 int max_retries, 93 int max_retries,
94 GaiaOAuthClient::Delegate* delegate); 94 GaiaOAuthClient::Delegate* delegate);
95 void HandleResponse(const net::URLFetcher* source, 95 void HandleResponse(const net::URLFetcher* source,
96 bool* should_retry_request); 96 bool* should_retry_request);
97 97
98 int num_retries_; 98 int num_retries_;
99 scoped_refptr<net::URLRequestContextGetter> request_context_getter_; 99 scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
100 GaiaOAuthClient::Delegate* delegate_; 100 GaiaOAuthClient::Delegate* delegate_;
101 scoped_ptr<net::URLFetcher> request_; 101 std::unique_ptr<net::URLFetcher> request_;
102 RequestType request_type_; 102 RequestType request_type_;
103 }; 103 };
104 104
105 void GaiaOAuthClient::Core::GetTokensFromAuthCode( 105 void GaiaOAuthClient::Core::GetTokensFromAuthCode(
106 const OAuthClientInfo& oauth_client_info, 106 const OAuthClientInfo& oauth_client_info,
107 const std::string& auth_code, 107 const std::string& auth_code,
108 int max_retries, 108 int max_retries,
109 GaiaOAuthClient::Delegate* delegate) { 109 GaiaOAuthClient::Delegate* delegate) {
110 DCHECK_EQ(request_type_, NO_PENDING_REQUEST); 110 DCHECK_EQ(request_type_, NO_PENDING_REQUEST);
111 request_type_ = TOKENS_FROM_AUTH_CODE; 111 request_type_ = TOKENS_FROM_AUTH_CODE;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 request_->Start(); 245 request_->Start();
246 } 246 }
247 } 247 }
248 248
249 void GaiaOAuthClient::Core::HandleResponse( 249 void GaiaOAuthClient::Core::HandleResponse(
250 const net::URLFetcher* source, 250 const net::URLFetcher* source,
251 bool* should_retry_request) { 251 bool* should_retry_request) {
252 // Move ownership of the request fetcher into a local scoped_ptr which 252 // Move ownership of the request fetcher into a local scoped_ptr which
253 // will be nuked when we're done handling the request, unless we need 253 // will be nuked when we're done handling the request, unless we need
254 // to retry, in which case ownership will be returned to request_. 254 // to retry, in which case ownership will be returned to request_.
255 scoped_ptr<net::URLFetcher> old_request = std::move(request_); 255 std::unique_ptr<net::URLFetcher> old_request = std::move(request_);
256 DCHECK_EQ(source, old_request.get()); 256 DCHECK_EQ(source, old_request.get());
257 257
258 // HTTP_BAD_REQUEST means the arguments are invalid. HTTP_UNAUTHORIZED means 258 // HTTP_BAD_REQUEST means the arguments are invalid. HTTP_UNAUTHORIZED means
259 // the access or refresh token is invalid. No point retrying. We are 259 // the access or refresh token is invalid. No point retrying. We are
260 // done here. 260 // done here.
261 int response_code = source->GetResponseCode(); 261 int response_code = source->GetResponseCode();
262 if (response_code == net::HTTP_BAD_REQUEST || 262 if (response_code == net::HTTP_BAD_REQUEST ||
263 response_code == net::HTTP_UNAUTHORIZED) { 263 response_code == net::HTTP_UNAUTHORIZED) {
264 delegate_->OnOAuthError(); 264 delegate_->OnOAuthError();
265 return; 265 return;
266 } 266 }
267 267
268 scoped_ptr<base::DictionaryValue> response_dict; 268 std::unique_ptr<base::DictionaryValue> response_dict;
269 if (source->GetResponseCode() == net::HTTP_OK) { 269 if (source->GetResponseCode() == net::HTTP_OK) {
270 std::string data; 270 std::string data;
271 source->GetResponseAsString(&data); 271 source->GetResponseAsString(&data);
272 scoped_ptr<base::Value> message_value = base::JSONReader::Read(data); 272 std::unique_ptr<base::Value> message_value = base::JSONReader::Read(data);
273 if (message_value.get() && 273 if (message_value.get() &&
274 message_value->IsType(base::Value::TYPE_DICTIONARY)) { 274 message_value->IsType(base::Value::TYPE_DICTIONARY)) {
275 response_dict.reset( 275 response_dict.reset(
276 static_cast<base::DictionaryValue*>(message_value.release())); 276 static_cast<base::DictionaryValue*>(message_value.release()));
277 } 277 }
278 } 278 }
279 279
280 if (!response_dict.get()) { 280 if (!response_dict.get()) {
281 // If we don't have an access token yet and the the error was not 281 // If we don't have an access token yet and the the error was not
282 // RC_BAD_REQUEST, we may need to retry. 282 // RC_BAD_REQUEST, we may need to retry.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 } 405 }
406 406
407 void GaiaOAuthClient::GetTokenHandleInfo(const std::string& token_handle, 407 void GaiaOAuthClient::GetTokenHandleInfo(const std::string& token_handle,
408 int max_retries, 408 int max_retries,
409 Delegate* delegate) { 409 Delegate* delegate) {
410 return core_->GetTokenInfo("token_handle", token_handle, max_retries, 410 return core_->GetTokenInfo("token_handle", token_handle, max_retries,
411 delegate); 411 delegate);
412 } 412 }
413 413
414 } // namespace gaia 414 } // namespace gaia
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698