Index: components/prefs/scoped_user_pref_update.h |
diff --git a/components/prefs/scoped_user_pref_update.h b/components/prefs/scoped_user_pref_update.h |
deleted file mode 100644 |
index 29ad8526cd3c3c91630cd58a71f631be136e371a..0000000000000000000000000000000000000000 |
--- a/components/prefs/scoped_user_pref_update.h |
+++ /dev/null |
@@ -1,108 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// A helper class that assists preferences in firing notifications when lists |
-// or dictionaries are changed. |
- |
-#ifndef BASE_PREFS_SCOPED_USER_PREF_UPDATE_H_ |
-#define BASE_PREFS_SCOPED_USER_PREF_UPDATE_H_ |
- |
-#include <string> |
- |
-#include "base/macros.h" |
-#include "base/prefs/base_prefs_export.h" |
-#include "base/prefs/pref_service.h" |
-#include "base/threading/non_thread_safe.h" |
-#include "base/values.h" |
- |
-class PrefService; |
- |
-namespace base { |
-class DictionaryValue; |
-class ListValue; |
-} |
- |
-namespace subtle { |
- |
-// Base class for ScopedUserPrefUpdateTemplate that contains the parts |
-// that do not depend on ScopedUserPrefUpdateTemplate's template parameter. |
-// |
-// We need this base class mostly for making it a friend of PrefService |
-// and getting access to PrefService::GetMutableUserPref and |
-// PrefService::ReportUserPrefChanged. |
-class BASE_PREFS_EXPORT ScopedUserPrefUpdateBase : public base::NonThreadSafe { |
- protected: |
- ScopedUserPrefUpdateBase(PrefService* service, const std::string& path); |
- |
- // Calls Notify(). |
- ~ScopedUserPrefUpdateBase(); |
- |
- // Sets |value_| to |service_|->GetMutableUserPref and returns it. |
- base::Value* GetValueOfType(base::Value::Type type); |
- |
- private: |
- // If |value_| is not null, triggers a notification of PrefObservers and |
- // resets |value_|. |
- void Notify(); |
- |
- // Weak pointer. |
- PrefService* service_; |
- // Path of the preference being updated. |
- std::string path_; |
- // Cache of value from user pref store (set between Get() and Notify() calls). |
- base::Value* value_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ScopedUserPrefUpdateBase); |
-}; |
- |
-} // namespace subtle |
- |
-// Class to support modifications to DictionaryValues and ListValues while |
-// guaranteeing that PrefObservers are notified of changed values. |
-// |
-// This class may only be used on the UI thread as it requires access to the |
-// PrefService. |
-template <typename T, base::Value::Type type_enum_value> |
-class ScopedUserPrefUpdate : public subtle::ScopedUserPrefUpdateBase { |
- public: |
- ScopedUserPrefUpdate(PrefService* service, const std::string& path) |
- : ScopedUserPrefUpdateBase(service, path) {} |
- |
- // Triggers an update notification if Get() was called. |
- virtual ~ScopedUserPrefUpdate() {} |
- |
- // Returns a mutable |T| instance that |
- // - is already in the user pref store, or |
- // - is (silently) created and written to the user pref store if none existed |
- // before. |
- // |
- // Calling Get() implies that an update notification is necessary at |
- // destruction time. |
- // |
- // The ownership of the return value remains with the user pref store. |
- // Virtual so it can be overriden in subclasses that transform the value |
- // before returning it (for example to return a subelement of a dictionary). |
- virtual T* Get() { |
- return static_cast<T*>(GetValueOfType(type_enum_value)); |
- } |
- |
- T& operator*() { |
- return *Get(); |
- } |
- |
- T* operator->() { |
- return Get(); |
- } |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(ScopedUserPrefUpdate); |
-}; |
- |
-typedef ScopedUserPrefUpdate<base::DictionaryValue, |
- base::Value::TYPE_DICTIONARY> |
- DictionaryPrefUpdate; |
-typedef ScopedUserPrefUpdate<base::ListValue, base::Value::TYPE_LIST> |
- ListPrefUpdate; |
- |
-#endif // BASE_PREFS_SCOPED_USER_PREF_UPDATE_H_ |