diff options
author | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-12 06:56:49 +0000 |
---|---|---|
committer | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-12 06:56:49 +0000 |
commit | 4d89f386af65daedfa0acda2ec501c501af84fb8 (patch) | |
tree | 381594fdfb4b2b9c2dc1a1691023fd271438211a /chrome/browser/bookmarks/bookmark_model.cc | |
parent | 884bc1739d4c28b05a932e661e0fcf9392ebb7f0 (diff) | |
download | chromium_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.cc | 31 |
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_++; +} |