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

Unified Diff: remoting/host/setup/oauth_client.h

Issue 1099553003: Added unit tests for getCredentialsFromAuthCode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
Index: remoting/host/setup/oauth_client.h
diff --git a/remoting/host/setup/oauth_client.h b/remoting/host/setup/oauth_client.h
index 5cc8f1f3bcfe099ac1e6cacb25db9dd7adbd7cba..9f76925f5ff0e94e212f0d7fc60dbcdd9ef3461a 100644
--- a/remoting/host/setup/oauth_client.h
+++ b/remoting/host/setup/oauth_client.h
@@ -19,9 +19,7 @@ class URLRequestContext;
namespace remoting {
-// A wrapper around GaiaOAuthClient that provides a more convenient interface,
-// with queueing of requests and a callback rather than a delegate.
-class OAuthClient : public gaia::GaiaOAuthClient::Delegate {
+class OAuthClient {
public:
// Called when GetCredentialsFromAuthCode is completed, with the |user_email|
// and |refresh_token| that correspond to the given |auth_code|, or with empty
@@ -30,10 +28,30 @@ class OAuthClient : public gaia::GaiaOAuthClient::Delegate {
const std::string& user_email,
const std::string& refresh_token)> CompletionCallback;
- OAuthClient(
+ virtual ~OAuthClient();
Lambros 2015/04/24 18:15:50 You should inline this dtor, because this class is
John Williams 2015/04/24 21:05:13 Done.
+
+ // Redeems |auth_code| using |oauth_client_info| to obtain |refresh_token| and
+ // |access_token|, then uses the userinfo endpoint to obtain |user_email|.
+ // Calls CompletionCallback with |user_email| and |refresh_token| when done,
+ // or with empty strings on error.
+ // If a request is received while another one is being processed, it is
+ // enqueued and processed after the first one is finished.
+ virtual void GetCredentialsFromAuthCode(
+ const gaia::OAuthClientInfo& oauth_client_info,
+ const std::string& auth_code,
+ CompletionCallback on_done) = 0;
+};
+
+// A wrapper around GaiaOAuthClient that provides a more convenient interface,
Lambros 2015/04/24 18:15:50 nit: gaia::GaiaOAuthClient, because of the naming
John Williams 2015/04/24 21:05:13 Done.
+// with queueing of requests and a callback rather than a delegate.
+class GaiaOAuthClient :
Lambros 2015/04/24 18:15:50 I think this should be in its own file, gaia_oauth
John Williams 2015/04/24 21:05:13 Done.
+ public OAuthClient,
+ public gaia::GaiaOAuthClient::Delegate {
+ public:
+ GaiaOAuthClient(
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter);
- ~OAuthClient() override;
+ ~GaiaOAuthClient() override;
// Redeems |auth_code| using |oauth_client_info| to obtain |refresh_token| and
// |access_token|, then uses the userinfo endpoint to obtain |user_email|.
@@ -44,7 +62,7 @@ class OAuthClient : public gaia::GaiaOAuthClient::Delegate {
void GetCredentialsFromAuthCode(
const gaia::OAuthClientInfo& oauth_client_info,
const std::string& auth_code,
- CompletionCallback on_done);
+ CompletionCallback on_done) override;
// gaia::GaiaOAuthClient::Delegate
void OnGetTokensResponse(const std::string& refresh_token,
@@ -76,7 +94,7 @@ class OAuthClient : public gaia::GaiaOAuthClient::Delegate {
std::string refresh_token_;
CompletionCallback on_done_;
- DISALLOW_COPY_AND_ASSIGN(OAuthClient);
+ DISALLOW_COPY_AND_ASSIGN(GaiaOAuthClient);
};
} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698