Index: chrome/browser/extensions/api/storage/policy_value_store.cc |
diff --git a/chrome/browser/extensions/api/storage/policy_value_store.cc b/chrome/browser/extensions/api/storage/policy_value_store.cc |
index 595d1614961950a5678dbce99993374f59da933a..08833fd3c3f1c5aac74eff83c17f43684b925a46 100644 |
--- a/chrome/browser/extensions/api/storage/policy_value_store.cc |
+++ b/chrome/browser/extensions/api/storage/policy_value_store.cc |
@@ -10,18 +10,20 @@ |
#include "chrome/browser/policy/policy_map.h" |
#include "chrome/browser/policy/policy_types.h" |
#include "chrome/browser/value_store/value_store_change.h" |
+#include "chrome/browser/value_store/value_store_util.h" |
#include "content/public/browser/browser_thread.h" |
using content::BrowserThread; |
+namespace util = value_store_util; |
+ |
namespace extensions { |
namespace { |
-const char kReadOnlyStoreErrorMessage[] = "This is a read-only store."; |
- |
-ValueStore::WriteResult WriteResultError() { |
- return ValueStore::MakeWriteResult(kReadOnlyStoreErrorMessage); |
+scoped_ptr<ValueStore::Error> ReadOnlyError(scoped_ptr<std::string> key) { |
+ return make_scoped_ptr(new ValueStore::Error( |
+ ValueStore::READ_ONLY, "This is a read-only store.", key.Pass())); |
} |
} // namespace |
@@ -58,11 +60,11 @@ void PolicyValueStore::SetCurrentPolicy(const policy::PolicyMap& policy, |
ValueStore::ReadResult read_result = delegate_->Get(); |
if (read_result->HasError()) { |
LOG(WARNING) << "Failed to read managed settings for extension " |
- << extension_id_ << ": " << read_result->error(); |
+ << extension_id_ << ": " << read_result->error().message; |
// Leave |previous_policy| empty, so that events are generated for every |
// policy in |current_policy|. |
} else { |
- read_result->settings()->Swap(&previous_policy); |
+ read_result->settings().Swap(&previous_policy); |
} |
// Now get two lists of changes: changes after setting the current policies, |
@@ -139,25 +141,25 @@ ValueStore::ReadResult PolicyValueStore::Get() { |
ValueStore::WriteResult PolicyValueStore::Set( |
WriteOptions options, const std::string& key, const base::Value& value) { |
- return WriteResultError(); |
+ return MakeWriteResult(ReadOnlyError(util::NewKey(key))); |
} |
ValueStore::WriteResult PolicyValueStore::Set( |
WriteOptions options, const base::DictionaryValue& settings) { |
- return WriteResultError(); |
+ return MakeWriteResult(ReadOnlyError(util::NoKey())); |
} |
ValueStore::WriteResult PolicyValueStore::Remove(const std::string& key) { |
- return WriteResultError(); |
+ return MakeWriteResult(ReadOnlyError(util::NewKey(key))); |
} |
ValueStore::WriteResult PolicyValueStore::Remove( |
const std::vector<std::string>& keys) { |
- return WriteResultError(); |
+ return MakeWriteResult(ReadOnlyError(util::NoKey())); |
} |
ValueStore::WriteResult PolicyValueStore::Clear() { |
- return WriteResultError(); |
+ return MakeWriteResult(ReadOnlyError(util::NoKey())); |
} |
} // namespace extensions |