summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_model.cc
diff options
context:
space:
mode:
authormunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-12 06:56:49 +0000
committermunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-12 06:56:49 +0000
commit4d89f386af65daedfa0acda2ec501c501af84fb8 (patch)
tree381594fdfb4b2b9c2dc1a1691023fd271438211a /chrome/browser/bookmarks/bookmark_model.cc
parent884bc1739d4c28b05a932e661e0fcf9392ebb7f0 (diff)
downloadchromium_src-4d89f386af65daedfa0acda2ec501c501af84fb8.zip
chromium_src-4d89f386af65daedfa0acda2ec501c501af84fb8.tar.gz
chromium_src-4d89f386af65daedfa0acda2ec501c501af84fb8.tar.bz2
Move the bookmark node iD generation to bookmark model isntead of
bookmark node. This will also make the IDs more dense. Review URL: http://codereview.chromium.org/99304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15839 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_model.cc')
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc31
1 files changed, 12 insertions, 19 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index 646aa3f..209cc2b 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -19,19 +19,6 @@ using base::Time;
// BookmarkNode ---------------------------------------------------------------
-namespace {
-
-// ID for BookmarkNodes.
-// Various places assume an invalid id if == 0, for that reason we start with 1.
-int next_id_ = 1;
-
-}
-
-// static
-void BookmarkNode::SetNextId(int next_id) {
- next_id_ = next_id;
-}
-
const SkBitmap& BookmarkNode::GetFavIcon() {
if (!loaded_favicon_) {
loaded_favicon_ = true;
@@ -52,7 +39,7 @@ BookmarkNode::BookmarkNode(BookmarkModel* model, int id, const GURL& url)
void BookmarkNode::Initialize(BookmarkModel* model, int id) {
model_ = model;
- id_ = id == 0 ? next_id_++ : id;
+ id_ = id;
loaded_favicon_ = false;
favicon_load_handle_ = 0;
type_ = !url_.is_empty() ? history::StarredEntry::URL :
@@ -108,9 +95,9 @@ BookmarkModel::BookmarkModel(Profile* profile)
ALLOW_THIS_IN_INITIALIZER_LIST(root_(this, GURL())),
bookmark_bar_node_(NULL),
other_node_(NULL),
+ next_node_id_(1),
observers_(ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY),
- loaded_signal_(TRUE, FALSE)
-{
+ loaded_signal_(TRUE, FALSE) {
// Create the bookmark bar and other bookmarks folders. These always exist.
CreateBookmarkNode();
CreateOtherBookmarksNode();
@@ -289,7 +276,9 @@ BookmarkNode* BookmarkModel::AddGroup(
return NULL;
}
- BookmarkNode* new_node = new BookmarkNode(this, GURL());
+ BookmarkNode* new_node = new BookmarkNode(this,
+ generate_next_node_id(),
+ GURL());
new_node->date_group_modified_ = Time::Now();
new_node->SetTitle(title);
new_node->type_ = history::StarredEntry::USER_GROUP;
@@ -320,7 +309,7 @@ BookmarkNode* BookmarkModel::AddURLWithCreationTime(
SetDateGroupModified(parent, creation_time);
- BookmarkNode* new_node = new BookmarkNode(this, url);
+ BookmarkNode* new_node = new BookmarkNode(this, generate_next_node_id(), url);
new_node->SetTitle(title);
new_node->date_added_ = creation_time;
new_node->type_ = history::StarredEntry::URL;
@@ -578,7 +567,7 @@ BookmarkNode* BookmarkModel::CreateRootNodeFromStarredEntry(
const history::StarredEntry& entry) {
DCHECK(entry.type == history::StarredEntry::BOOKMARK_BAR ||
entry.type == history::StarredEntry::OTHER);
- BookmarkNode* node = new BookmarkNode(this, GURL());
+ BookmarkNode* node = new BookmarkNode(this, generate_next_node_id(), GURL());
node->Reset(entry);
if (entry.type == history::StarredEntry::BOOKMARK_BAR)
node->SetTitle(l10n_util::GetString(IDS_BOOMARK_BAR_FOLDER_NAME));
@@ -670,3 +659,7 @@ void BookmarkModel::PopulateNodesByURL(BookmarkNode* node) {
for (int i = 0; i < node->GetChildCount(); ++i)
PopulateNodesByURL(node->GetChild(i));
}
+
+int BookmarkModel::generate_next_node_id() {
+ return next_node_id_++;
+}