OLD | NEW |
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 #ifndef CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ | 5 #ifndef CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ |
6 #define CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ | 6 #define CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 enum State { | 81 enum State { |
82 INITIAL, | 82 INITIAL, |
83 API_CALL_STARTED, | 83 API_CALL_STARTED, |
84 API_CALL_DONE, | 84 API_CALL_DONE, |
85 MINT_ACCESS_TOKEN_STARTED, | 85 MINT_ACCESS_TOKEN_STARTED, |
86 MINT_ACCESS_TOKEN_DONE, | 86 MINT_ACCESS_TOKEN_DONE, |
87 ERROR_STATE | 87 ERROR_STATE |
88 }; | 88 }; |
89 | 89 |
90 friend class OAuth2ApiCallFlowTest; | 90 friend class OAuth2ApiCallFlowTest; |
| 91 FRIEND_TEST_ALL_PREFIXES(OAuth2ApiCallFlowTest, CreateURLFetcher); |
91 | 92 |
92 // Helper to create an instance of access token fetcher. | 93 // Helper to create an instance of access token fetcher. |
93 // Caller owns the returned instance. | 94 // Caller owns the returned instance. |
94 // Note that this is virtual since it is mocked during unit testing. | 95 // Note that this is virtual since it is mocked during unit testing. |
95 virtual OAuth2AccessTokenFetcher* CreateAccessTokenFetcher(); | 96 virtual OAuth2AccessTokenFetcher* CreateAccessTokenFetcher(); |
96 | 97 |
97 // Creates an instance of URLFetcher that does not send or save cookies. | 98 // Creates an instance of URLFetcher that does not send or save cookies. |
98 // Template method CreateApiCallUrl is used to get the URL. | 99 // Template method CreateApiCallUrl is used to get the URL. |
99 // Template method CreateApiCallBody is used to get the body. | 100 // Template method CreateApiCallBody is used to get the body. |
100 // The URLFether's method will be GET if body is empty, POST otherwise. | 101 // The URLFether's method will be GET if body is empty, POST otherwise. |
(...skipping 16 matching lines...) Expand all Loading... |
117 // Whether we have already tried minting an access token once. | 118 // Whether we have already tried minting an access token once. |
118 bool tried_mint_access_token_; | 119 bool tried_mint_access_token_; |
119 | 120 |
120 scoped_ptr<content::URLFetcher> url_fetcher_; | 121 scoped_ptr<content::URLFetcher> url_fetcher_; |
121 scoped_ptr<OAuth2AccessTokenFetcher> oauth2_access_token_fetcher_; | 122 scoped_ptr<OAuth2AccessTokenFetcher> oauth2_access_token_fetcher_; |
122 | 123 |
123 DISALLOW_COPY_AND_ASSIGN(OAuth2ApiCallFlow); | 124 DISALLOW_COPY_AND_ASSIGN(OAuth2ApiCallFlow); |
124 }; | 125 }; |
125 | 126 |
126 #endif // CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ | 127 #endif // CHROME_COMMON_NET_GAIA_OAUTH2_API_CALL_FLOW_H_ |
OLD | NEW |