Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2824)

Unified Diff: chrome/browser/bookmarks/bookmark_model.cc

Issue 113882: Add a preference to enable/disable ID persistence in bookmark model and... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/bookmarks/bookmark_model.h ('k') | chrome/browser/bookmarks/bookmark_storage.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/bookmarks/bookmark_model.cc
===================================================================
--- chrome/browser/bookmarks/bookmark_model.cc (revision 16874)
+++ chrome/browser/bookmarks/bookmark_model.cc (working copy)
@@ -14,6 +14,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profile.h"
#include "chrome/common/notification_service.h"
+#include "chrome/common/pref_service.h"
#include "grit/generated_resources.h"
using base::Time;
@@ -54,6 +55,9 @@
namespace {
+// Constant for persist IDs prefernece.
+const wchar_t kPrefPersistIDs[] = L"bookmarks.persist_ids";
+
// Comparator used when sorting bookmarks. Folders are sorted first, then
// bookmarks.
class SortComparator : public std::binary_function<BookmarkNode*,
@@ -84,6 +88,7 @@
BookmarkModel::BookmarkModel(Profile* profile)
: profile_(profile),
loaded_(false),
+ persist_ids_(false),
root_(GURL()),
bookmark_bar_node_(NULL),
other_node_(NULL),
@@ -94,6 +99,8 @@
// Profile is null during testing.
DoneLoading(CreateLoadDetails());
}
+ RegisterPreferences();
+ LoadPreferences();
}
BookmarkModel::~BookmarkModel() {
@@ -377,6 +384,16 @@
store_ = NULL;
}
+void BookmarkModel::SetPersistIDs(bool value) {
+ if (value == persist_ids_)
+ return;
+ persist_ids_ = value;
+ if (profile_) {
+ PrefService* pref_service = profile_->GetPrefs();
+ pref_service->SetBoolean(kPrefPersistIDs, persist_ids_);
+ }
+}
+
bool BookmarkModel::IsBookmarkedNoLock(const GURL& url) {
BookmarkNode tmp_node(url);
return (nodes_ordered_by_url_set_.find(&tmp_node) !=
@@ -689,3 +706,18 @@
return new BookmarkStorage::LoadDetails(
bb_node, other_folder_node, new BookmarkIndex(), next_node_id_);
}
+
+void BookmarkModel::RegisterPreferences() {
+ if (!profile_)
+ return;
+ PrefService* pref_service = profile_->GetPrefs();
+ if (!pref_service->IsPrefRegistered(kPrefPersistIDs))
+ pref_service->RegisterBooleanPref(kPrefPersistIDs, false);
+}
+
+void BookmarkModel::LoadPreferences() {
+ if (!profile_)
+ return;
+ PrefService* pref_service = profile_->GetPrefs();
+ persist_ids_ = pref_service->GetBoolean(kPrefPersistIDs);
+}
« no previous file with comments | « chrome/browser/bookmarks/bookmark_model.h ('k') | chrome/browser/bookmarks/bookmark_storage.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698