| Index: chrome/browser/prefs/testing_pref_store.h
|
| diff --git a/chrome/browser/prefs/testing_pref_store.h b/chrome/browser/prefs/testing_pref_store.h
|
| index fe014f45730ccbb33c692ce4dc0ac09eef0dcff9..555ee6907c6dbc11054c6065b6810a9aa8240a7a 100644
|
| --- a/chrome/browser/prefs/testing_pref_store.h
|
| +++ b/chrome/browser/prefs/testing_pref_store.h
|
| @@ -7,46 +7,61 @@
|
| #pragma once
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/observer_list.h"
|
| #include "base/scoped_ptr.h"
|
| -#include "chrome/common/pref_store_base.h"
|
| +#include "chrome/browser/prefs/pref_value_map.h"
|
| +#include "chrome/common/persistent_pref_store.h"
|
|
|
| class DictionaryValue;
|
|
|
| -// |TestingPrefStore| is a stub implementation of the |PrefStore| interface.
|
| -// It allows to get and set the state of the |PrefStore| as well as triggering
|
| -// notifications.
|
| -class TestingPrefStore : public PrefStoreBase {
|
| +// |TestingPrefStore| is a preference store implementation that allows tests to
|
| +// explicitly manipulate the contents of the store, triggering notifications
|
| +// where appropriate.
|
| +class TestingPrefStore : public PersistentPrefStore {
|
| public:
|
| TestingPrefStore();
|
| virtual ~TestingPrefStore() {}
|
|
|
| - virtual DictionaryValue* prefs() const { return prefs_.get(); }
|
| -
|
| - virtual PrefStore::PrefReadError ReadPrefs();
|
| + // Overriden from PrefStore.
|
| + virtual ReadResult GetValue(const std::string& key, Value** result) const;
|
| + virtual void AddObserver(PrefStore::Observer* observer);
|
| + virtual void RemoveObserver(PrefStore::Observer* observer);
|
| + virtual bool IsInitializationComplete() const { return init_complete_; }
|
|
|
| + // PersistentPrefStore overrides:
|
| + virtual void SetValue(const std::string& key, Value* value);
|
| + virtual void SetValueSilently(const std::string& key, Value* value);
|
| + virtual void RemoveValue(const std::string& key);
|
| virtual bool ReadOnly() const { return read_only_; }
|
| -
|
| + virtual PersistentPrefStore::PrefReadError ReadPrefs();
|
| virtual bool WritePrefs();
|
| + virtual void ScheduleWritePrefs() {}
|
| +
|
| + // Marks the store as having completed initialization.
|
| + void SetInitializationCompleted();
|
| +
|
| + // Used for tests to trigger notifications explicitly.
|
| + void NotifyPrefValueChanged(const std::string& key);
|
| + void NotifyInitializationCompleted();
|
| +
|
| + // Some convenience getters/setters.
|
| + void SetString(const std::string& key, const std::string& value);
|
| + void SetInteger(const std::string& key, int value);
|
| + void SetBoolean(const std::string& key, bool value);
|
| +
|
| + bool GetString(const std::string& key, std::string* value) const;
|
| + bool GetInteger(const std::string& key, int* value) const;
|
| + bool GetBoolean(const std::string& key, bool* value) const;
|
|
|
| // Getter and Setter methods for setting and getting the state of the
|
| - // |DummyPrefStore|.
|
| + // |TestingPrefStore|.
|
| virtual void set_read_only(bool read_only) { read_only_ = read_only; }
|
| - virtual void set_prefs(DictionaryValue* prefs) { prefs_.reset(prefs); }
|
| virtual void set_prefs_written(bool status) { prefs_written_ = status; }
|
| virtual bool get_prefs_written() { return prefs_written_; }
|
|
|
| - // Publish these functions so testing code can call them.
|
| - virtual void NotifyPrefValueChanged(const std::string& key);
|
| - virtual void NotifyInitializationCompleted();
|
| -
|
| - // Whether the store has completed all asynchronous initialization.
|
| - virtual bool IsInitializationComplete() { return init_complete_; }
|
| -
|
| - // Mark the store as having completed initialization.
|
| - void SetInitializationCompleted();
|
| -
|
| private:
|
| - scoped_ptr<DictionaryValue> prefs_;
|
| + // Stores the preference values.
|
| + PrefValueMap prefs_;
|
|
|
| // Flag that indicates if the PrefStore is read-only
|
| bool read_only_;
|
| @@ -57,6 +72,8 @@ class TestingPrefStore : public PrefStoreBase {
|
| // Whether initialization has been completed.
|
| bool init_complete_;
|
|
|
| + ObserverList<PrefStore::Observer, true> observers_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(TestingPrefStore);
|
| };
|
|
|
|
|