Index: chrome/browser/chromeos/login/signed_settings_helper.cc |
diff --git a/chrome/browser/chromeos/login/signed_settings_helper.cc b/chrome/browser/chromeos/login/signed_settings_helper.cc |
index 2c2309d5428ece9d023b458c1e416a14f2df977a..e5ea6fb990e50767bc0527d75d19a0365ab8b6e9 100644 |
--- a/chrome/browser/chromeos/login/signed_settings_helper.cc |
+++ b/chrome/browser/chromeos/login/signed_settings_helper.cc |
@@ -10,6 +10,7 @@ |
#include "base/lazy_instance.h" |
#include "base/logging.h" |
#include "base/memory/ref_counted.h" |
+#include "base/values.h" |
#include "chrome/browser/chromeos/login/signed_settings.h" |
#include "chrome/browser/policy/proto/device_management_backend.pb.h" |
#include "content/public/browser/browser_thread.h" |
@@ -170,12 +171,12 @@ class StorePropertyOpContext : public SignedSettings::Delegate<bool>, |
public OpContext { |
public: |
StorePropertyOpContext(const std::string& name, |
- const std::string& value, |
+ const base::Value& value, |
SignedSettingsHelper::Callback* callback, |
OpContext::Delegate* delegate) |
: OpContext(callback, delegate), |
name_(name), |
- value_(value) { |
+ value_(value.DeepCopy()) { |
} |
// chromeos::SignedSettings::Delegate implementation |
@@ -183,25 +184,25 @@ class StorePropertyOpContext : public SignedSettings::Delegate<bool>, |
bool unused) OVERRIDE { |
VLOG(2) << "OnSettingsOpCompleted, code = " << code; |
if (callback_) |
- callback_->OnStorePropertyCompleted(code, name_, value_); |
+ callback_->OnStorePropertyCompleted(code, name_, *value_); |
OnOpCompleted(); |
} |
protected: |
// OpContext implemenetation |
virtual void CreateOp() OVERRIDE { |
- op_ = SignedSettings::CreateStorePropertyOp(name_, value_, this); |
+ op_ = SignedSettings::CreateStorePropertyOp(name_, *value_, this); |
} |
private: |
std::string name_; |
- std::string value_; |
+ scoped_ptr<base::Value> value_; |
DISALLOW_COPY_AND_ASSIGN(StorePropertyOpContext); |
}; |
class RetrievePropertyOpContext |
- : public SignedSettings::Delegate<std::string>, |
+ : public SignedSettings::Delegate<const base::Value*>, |
public OpContext { |
public: |
RetrievePropertyOpContext(const std::string& name, |
@@ -213,7 +214,7 @@ class RetrievePropertyOpContext |
// chromeos::SignedSettings::Delegate implementation |
virtual void OnSettingsOpCompleted(SignedSettings::ReturnCode code, |
- std::string value) OVERRIDE { |
+ const base::Value* value) OVERRIDE { |
if (callback_) |
callback_->OnRetrievePropertyCompleted(code, name_, value); |
@@ -303,7 +304,7 @@ class SignedSettingsHelperImpl : public SignedSettingsHelper, |
bool add_to_whitelist, |
Callback* callback) OVERRIDE; |
virtual void StartStorePropertyOp(const std::string& name, |
- const std::string& value, |
+ const base::Value& value, |
Callback* callback) OVERRIDE; |
virtual void StartRetrieveProperty(const std::string& name, |
Callback* callback) OVERRIDE; |
@@ -367,7 +368,7 @@ void SignedSettingsHelperImpl::StartWhitelistOp( |
void SignedSettingsHelperImpl::StartStorePropertyOp( |
const std::string& name, |
- const std::string& value, |
+ const base::Value& value, |
SignedSettingsHelper::Callback* callback) { |
AddOpContext(new StorePropertyOpContext( |
name, |