summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-16 03:05:22 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-16 03:05:22 +0000
commit6df6ec02bbb09f5c81e4bf9189bd7237eb2c4e1f (patch)
treef23910d91b36cff0366bce1400f3591ef60a0384
parent3520cbaffa294b556b0303b75dd048ad755d2df2 (diff)
downloadchromium_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.cc20
-rw-r--r--chrome/browser/bookmarks/bookmark_expanded_state_tracker.h17
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc5
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.