diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-16 03:05:22 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-16 03:05:22 +0000 |
commit | 6df6ec02bbb09f5c81e4bf9189bd7237eb2c4e1f (patch) | |
tree | f23910d91b36cff0366bce1400f3591ef60a0384 | |
parent | 3520cbaffa294b556b0303b75dd048ad755d2df2 (diff) | |
download | chromium_src-6df6ec02bbb09f5c81e4bf9189bd7237eb2c4e1f.zip chromium_src-6df6ec02bbb09f5c81e4bf9189bd7237eb2c4e1f.tar.gz chromium_src-6df6ec02bbb09f5c81e4bf9189bd7237eb2c4e1f.tar.bz2 |
bookmarks: Change BookmarkExpandedStateTracker to take PrefService.
It just need PrefService instead of BrowserContext. This is a good thing per
Law of Demeter.
BUG=144783
TEST=unit_tests --gtest_filter=BookmarkExpandedStateTrackerTest.*
R=sky@chromium.org
Review URL: https://codereview.chromium.org/18536005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211754 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/bookmarks/bookmark_expanded_state_tracker.cc | 20 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_expanded_state_tracker.h | 17 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model.cc | 5 |
3 files changed, 18 insertions, 24 deletions
diff --git a/chrome/browser/bookmarks/bookmark_expanded_state_tracker.cc b/chrome/browser/bookmarks/bookmark_expanded_state_tracker.cc index 11facbf..eda271e 100644 --- a/chrome/browser/bookmarks/bookmark_expanded_state_tracker.cc +++ b/chrome/browser/bookmarks/bookmark_expanded_state_tracker.cc @@ -10,13 +10,12 @@ #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/common/pref_names.h" -#include "components/user_prefs/user_prefs.h" BookmarkExpandedStateTracker::BookmarkExpandedStateTracker( - content::BrowserContext* browser_context, - BookmarkModel* bookmark_model) - : browser_context_(browser_context), - bookmark_model_(bookmark_model) { + BookmarkModel* bookmark_model, + PrefService* pref_service) + : bookmark_model_(bookmark_model), + pref_service_(pref_service) { bookmark_model->AddObserver(this); } @@ -33,11 +32,11 @@ BookmarkExpandedStateTracker::GetExpandedNodes() { if (!bookmark_model_->loaded()) return nodes; - PrefService* prefs = user_prefs::UserPrefs::Get(browser_context_); - if (!prefs) + if (!pref_service_) return nodes; - const ListValue* value = prefs->GetList(prefs::kBookmarkEditorExpandedNodes); + const ListValue* value = + pref_service_->GetList(prefs::kBookmarkEditorExpandedNodes); if (!value) return nodes; @@ -95,8 +94,7 @@ void BookmarkExpandedStateTracker::BookmarkAllNodesRemoved( } void BookmarkExpandedStateTracker::UpdatePrefs(const Nodes& nodes) { - PrefService* prefs = user_prefs::UserPrefs::Get(browser_context_); - if (!prefs) + if (!pref_service_) return; ListValue values; @@ -105,5 +103,5 @@ void BookmarkExpandedStateTracker::UpdatePrefs(const Nodes& nodes) { new StringValue(base::Int64ToString((*i)->id()))); } - prefs->Set(prefs::kBookmarkEditorExpandedNodes, values); + pref_service_->Set(prefs::kBookmarkEditorExpandedNodes, values); } diff --git a/chrome/browser/bookmarks/bookmark_expanded_state_tracker.h b/chrome/browser/bookmarks/bookmark_expanded_state_tracker.h index a254770..96ba77f 100644 --- a/chrome/browser/bookmarks/bookmark_expanded_state_tracker.h +++ b/chrome/browser/bookmarks/bookmark_expanded_state_tracker.h @@ -9,12 +9,9 @@ #include "chrome/browser/bookmarks/base_bookmark_model_observer.h" -class BookmarkNode; class BookmarkModel; - -namespace content { -class BrowserContext; -} +class BookmarkNode; +class PrefService; // BookmarkExpandedStateTracker is used to track a set of expanded nodes. The // nodes are persisted in preferences. If an expanded node is removed from the @@ -23,8 +20,8 @@ class BookmarkExpandedStateTracker : public BaseBookmarkModelObserver { public: typedef std::set<const BookmarkNode*> Nodes; - BookmarkExpandedStateTracker(content::BrowserContext* browser_context, - BookmarkModel* bookmark_model); + BookmarkExpandedStateTracker(BookmarkModel* bookmark_model, + PrefService* pref_service); virtual ~BookmarkExpandedStateTracker(); // The set of expanded nodes. @@ -42,12 +39,12 @@ class BookmarkExpandedStateTracker : public BaseBookmarkModelObserver { const BookmarkNode* node) OVERRIDE; virtual void BookmarkAllNodesRemoved(BookmarkModel* model) OVERRIDE; - // Resets the value in preferences from |expanded_nodes_|. + // Updates the value for |prefs::kBookmarkEditorExpandedNodes| from + // GetExpandedNodes(). void UpdatePrefs(const Nodes& nodes); - content::BrowserContext* browser_context_; - BookmarkModel* bookmark_model_; + PrefService* pref_service_; DISALLOW_COPY_AND_ASSIGN(BookmarkExpandedStateTracker); }; diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc index 8e0b717..7601834 100644 --- a/chrome/browser/bookmarks/bookmark_model.cc +++ b/chrome/browser/bookmarks/bookmark_model.cc @@ -15,7 +15,6 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/values.h" -#include "build/build_config.h" #include "chrome/browser/bookmarks/bookmark_expanded_state_tracker.h" #include "chrome/browser/bookmarks/bookmark_index.h" #include "chrome/browser/bookmarks/bookmark_model_observer.h" @@ -262,8 +261,8 @@ void BookmarkModel::Load( return; } - expanded_state_tracker_.reset(new BookmarkExpandedStateTracker( - profile_, this)); + expanded_state_tracker_.reset( + new BookmarkExpandedStateTracker(this, profile_->GetPrefs())); // Listen for changes to favicons so that we can update the favicon of the // node appropriately. |