Index: chrome/browser/policy/device_token_fetcher.cc |
diff --git a/chrome/browser/policy/device_token_fetcher.cc b/chrome/browser/policy/device_token_fetcher.cc |
index 2d514b603aae312e454ad2f1e5247e9f01e418c7..3f977c1a25ccfdbc754e1f8d841cda5ccd9bb9fc 100644 |
--- a/chrome/browser/policy/device_token_fetcher.cc |
+++ b/chrome/browser/policy/device_token_fetcher.cc |
@@ -65,6 +65,7 @@ DeviceTokenFetcher::ObserverRegistrar::~ObserverRegistrar() { |
void DeviceTokenFetcher::ObserverRegistrar::Init( |
DeviceTokenFetcher* token_fetcher) { |
+ RemoveAll(); |
danno
2011/01/06 19:19:49
It's not obvious to me why this has been added but
Jakob Kummerow
2011/01/07 09:48:51
It's been added so that Init() can be called multi
Mattias Nissler (ping if slow)
2011/01/07 11:15:33
This is actually a left-over from an experiment an
|
token_fetcher_ = token_fetcher; |
} |
@@ -192,7 +193,11 @@ void DeviceTokenFetcher::OnError(DeviceManagementBackend::ErrorCode code) { |
} |
void DeviceTokenFetcher::Restart() { |
- DCHECK(!IsTokenPending()); |
+ // Complain if there's currently an asynchronous operation going on. |
+ DCHECK(state_ == kStateNotStarted || |
+ state_ == kStateHasDeviceToken || |
+ state_ == kStateFailure || |
+ state_ == kStateNotManaged); |
danno
2011/01/06 19:19:49
Similar to above: if you are fixing a particular b
Mattias Nissler (ping if slow)
2011/01/07 11:15:33
This allows us to Restart() the fetcher even befor
|
device_token_.clear(); |
device_token_load_complete_event_.Reset(); |
MakeReadyToRequestDeviceToken(); |