diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 01:07:51 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 01:07:51 +0000 |
commit | 3f2ad773733b6a7d62f9498e1ef21c381db4bc67 (patch) | |
tree | 7664739a4020f84b43ca9828e51f06c5efc8b9e5 | |
parent | 420a0ecb8f7a1d1d7b0f186878bd1b52a927f8ea (diff) | |
download | chromium_src-3f2ad773733b6a7d62f9498e1ef21c381db4bc67.zip chromium_src-3f2ad773733b6a7d62f9498e1ef21c381db4bc67.tar.gz chromium_src-3f2ad773733b6a7d62f9498e1ef21c381db4bc67.tar.bz2 |
ui/base/models: Use TreeNode::IsRoot in some obvious places.
Changes done here:
- Convert IsRoot to is_root (simple getter accessor).
- Add a simple unittest.
BUG=None
TEST=out/Debug/app_unittests --gtest_filter=TreeNodeModelTest.IsRoot
R=sky@chromium.org
Review URL: http://codereview.chromium.org/7104004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87402 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/extension_bookmarks_module.cc | 4 | ||||
-rw-r--r-- | chrome/browser/sync/glue/bookmark_change_processor.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc | 2 | ||||
-rw-r--r-- | ui/base/models/tree_node_model.h | 6 | ||||
-rw-r--r-- | ui/base/models/tree_node_model_unittest.cc | 9 |
5 files changed, 17 insertions, 8 deletions
diff --git a/chrome/browser/extensions/extension_bookmarks_module.cc b/chrome/browser/extensions/extension_bookmarks_module.cc index 3e3a769..185b212 100644 --- a/chrome/browser/extensions/extension_bookmarks_module.cc +++ b/chrome/browser/extensions/extension_bookmarks_module.cc @@ -449,7 +449,7 @@ bool CreateBookmarkFunction::RunImpl() { error_ = keys::kNoParentError; return false; } - if (parent->parent() == NULL) { // Can't create children of the root. + if (parent->is_root()) { // Can't create children of the root. error_ = keys::kModifySpecialError; return false; } @@ -705,7 +705,7 @@ class RemoveBookmarksBucketMapper : public BookmarkBucketMapper<std::string> { for (IdList::iterator it = ids.begin(); it != ids.end(); ++it) { BookmarkModel* model = profile_->GetBookmarkModel(); const BookmarkNode* node = model->GetNodeByID(*it); - if (!node || !node->parent()) + if (!node || node->is_root()) return; std::string bucket_id; diff --git a/chrome/browser/sync/glue/bookmark_change_processor.cc b/chrome/browser/sync/glue/bookmark_change_processor.cc index bd0a82b..da0605c 100644 --- a/chrome/browser/sync/glue/bookmark_change_processor.cc +++ b/chrome/browser/sync/glue/bookmark_change_processor.cc @@ -95,7 +95,7 @@ void BookmarkChangeProcessor::RemoveSyncNodeHierarchy( sync_api::WriteTransaction trans(share_handle()); // Later logic assumes that |topmost| has been unlinked. - DCHECK(!topmost->parent()); + DCHECK(topmost->is_root()); // A BookmarkModel deletion event means that |node| and all its children were // deleted. Sync backend expects children to be deleted individually, so we do @@ -107,7 +107,7 @@ void BookmarkChangeProcessor::RemoveSyncNodeHierarchy( int index = 0; while (node) { // The top of |index_stack| should always be |node|'s index. - DCHECK(!node->parent() || (node->parent()->GetIndexOf(node) == + DCHECK(node->is_root() || (node->parent()->GetIndexOf(node) == index_stack.top())); if (index == node->child_count()) { // If we've processed all of |node|'s children, delete |node| and move diff --git a/chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc b/chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc index 2d39eac..9e0b4e7 100644 --- a/chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc +++ b/chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc @@ -67,7 +67,7 @@ class BookmarkEditorGtk::ContextMenuController void RunMenu(const gfx::Point& point, guint32 event_time) { const BookmarkNode* selected_node = GetSelectedNode(); if (selected_node) - running_menu_for_root_ = selected_node->parent()->IsRoot(); + running_menu_for_root_ = selected_node->parent()->is_root(); #if defined(TOOLKIT_VIEWS) menu_->RunContextMenuAt(point); #else diff --git a/ui/base/models/tree_node_model.h b/ui/base/models/tree_node_model.h index a4509cf..254cd20 100644 --- a/ui/base/models/tree_node_model.h +++ b/ui/base/models/tree_node_model.h @@ -133,6 +133,9 @@ class TreeNode : public TreeModelNode { const NodeType* parent() const { return parent_; } NodeType* parent() { return parent_; } + // Returns true if this is the root node. + bool is_root() const { return parent_ == NULL; } + // Returns the index of |node|, or -1 if |node| is not a child of this. int GetIndexOf(const NodeType* node) const { DCHECK(node); @@ -149,9 +152,6 @@ class TreeNode : public TreeModelNode { // TreeModelNode: virtual const string16& GetTitle() const OVERRIDE { return title_; } - // Returns true if this is the root. - bool IsRoot() const { return parent_ == NULL; } - // Returns true if this == ancestor, or one of this nodes parents is // ancestor. bool HasAncestor(const NodeType* ancestor) const { diff --git a/ui/base/models/tree_node_model_unittest.cc b/ui/base/models/tree_node_model_unittest.cc index acee7d0..b6097c3 100644 --- a/ui/base/models/tree_node_model_unittest.cc +++ b/ui/base/models/tree_node_model_unittest.cc @@ -317,4 +317,13 @@ TEST_F(TreeNodeModelTest, BasicOperations) { delete root; } +TEST_F(TreeNodeModelTest, IsRoot) { + TreeNodeWithValue<int> root; + EXPECT_TRUE(root.is_root()); + + TreeNodeWithValue<int>* child1 = new TreeNodeWithValue<int>(1); + root.Add(child1, root.child_count()); + EXPECT_FALSE(child1->is_root()); +} + } // namespace ui |