| Index: chrome/browser/policy/cloud_policy_identity_strategy.cc
|
| diff --git a/chrome/browser/policy/cloud_policy_identity_strategy.cc b/chrome/browser/policy/cloud_policy_identity_strategy.cc
|
| index 6aa80bb736b1e5127aad9ef3033f041c0d6e420c..ac0d34d5e16f80dae2a02ea6fe523385d3ac0033 100644
|
| --- a/chrome/browser/policy/cloud_policy_identity_strategy.cc
|
| +++ b/chrome/browser/policy/cloud_policy_identity_strategy.cc
|
| @@ -3,27 +3,33 @@
|
| // found in the LICENSE file.
|
|
|
| #include "chrome/browser/policy/cloud_policy_identity_strategy.h"
|
| +#include "chrome/common/guid.h"
|
|
|
| namespace policy {
|
|
|
| -CloudPolicyIdentityStrategy::CloudPolicyIdentityStrategy() {}
|
| -
|
| -CloudPolicyIdentityStrategy::~CloudPolicyIdentityStrategy() {}
|
| +CloudPolicyIdentityStrategy::CloudPolicyIdentityStrategy(CloudPolicyData* data)
|
| + : data_(data) {
|
| + data->AddObserver(this);
|
| +}
|
|
|
| -void CloudPolicyIdentityStrategy::AddObserver(Observer* obs) {
|
| - observer_list_.AddObserver(obs);
|
| +CloudPolicyIdentityStrategy::~CloudPolicyIdentityStrategy() {
|
| + data()->RemoveObserver(this);
|
| }
|
|
|
| -void CloudPolicyIdentityStrategy::RemoveObserver(Observer* obs) {
|
| - observer_list_.RemoveObserver(obs);
|
| +CloudPolicyData* CloudPolicyIdentityStrategy::data() {
|
| + return data_;
|
| }
|
|
|
| -void CloudPolicyIdentityStrategy::NotifyDeviceTokenChanged() {
|
| - FOR_EACH_OBSERVER(Observer, observer_list_, OnDeviceTokenChanged());
|
| +void CloudPolicyIdentityStrategy::OnDeviceTokenChanged() {
|
| }
|
|
|
| -void CloudPolicyIdentityStrategy::NotifyAuthChanged() {
|
| - FOR_EACH_OBSERVER(Observer, observer_list_, OnCredentialsChanged());
|
| +void CloudPolicyIdentityStrategy::OnCredentialsChanged() {
|
| + if (data()->token_cache_loaded() &&
|
| + !data()->user_name().empty() &&
|
| + !data()->gaia_token().empty() &&
|
| + data()->device_id().empty()) {
|
| + data()->set_device_id(guid::GenerateGUID());
|
| + }
|
| }
|
|
|
| } // namespace policy
|
|
|