Index: chrome/browser/chromeos/settings/device_oauth2_token_service.h |
diff --git a/chrome/browser/chromeos/settings/device_oauth2_token_service.h b/chrome/browser/chromeos/settings/device_oauth2_token_service.h |
index 1ce619691a64620465b91751839eee9b684e240b..6cf4270a5e457b80d9eb010ac24ef07e98d07e0e 100644 |
--- a/chrome/browser/chromeos/settings/device_oauth2_token_service.h |
+++ b/chrome/browser/chromeos/settings/device_oauth2_token_service.h |
@@ -34,12 +34,18 @@ namespace chromeos { |
// |
// See |OAuth2TokenService| for usage details. |
// |
+// When using DeviceOAuth2TokenSerivce, a value of |GetDeviceAccountId| should |
+// be used in places where API expects |account_id|. |
+// |
// Note that requests must be made from the UI thread. |
class DeviceOAuth2TokenService : public OAuth2TokenService { |
public: |
// Specialization of StartRequest that in parallel validates that the refresh |
// token stored on the device is owned by the device service account. |
- virtual scoped_ptr<Request> StartRequest(const ScopeSet& scopes, |
+ // TODO(fgorski): Remove override of StartRequest to make the method |
+ // non-virtual. See crbug.com/282454 for details. |
+ virtual scoped_ptr<Request> StartRequest(const std::string& account_id, |
+ const ScopeSet& scopes, |
Consumer* consumer) OVERRIDE; |
// Persist the given refresh token on the device. Overwrites any previous |
@@ -48,7 +54,13 @@ class DeviceOAuth2TokenService : public OAuth2TokenService { |
static void RegisterPrefs(PrefRegistrySimple* registry); |
- virtual std::string GetRefreshToken() OVERRIDE; |
+ // Gets the refresh token used by the service. |account_id| is expected to be |
+ // a value of |GetDeviceAccountId|. |
+ virtual std::string GetRefreshToken(const std::string& account_id) OVERRIDE; |
+ |
+ // Gets the device account id for use with |StartRequest| and |
+ // |IsRefreshTokenAvailable| methods. |
+ const std::string& GetDeviceAccountId() const; |
protected: |
// Pull the robot account ID from device policy. |
@@ -79,6 +91,7 @@ class DeviceOAuth2TokenService : public OAuth2TokenService { |
// Cache the decrypted refresh token, so we only decrypt once. |
std::string refresh_token_; |
PrefService* local_state_; |
+ std::string device_account_id_; |
DISALLOW_COPY_AND_ASSIGN(DeviceOAuth2TokenService); |
}; |