summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-01 01:07:51 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-01 01:07:51 +0000
commit3f2ad773733b6a7d62f9498e1ef21c381db4bc67 (patch)
tree7664739a4020f84b43ca9828e51f06c5efc8b9e5
parent420a0ecb8f7a1d1d7b0f186878bd1b52a927f8ea (diff)
downloadchromium_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.cc4
-rw-r--r--chrome/browser/sync/glue/bookmark_change_processor.cc4
-rw-r--r--chrome/browser/ui/gtk/bookmarks/bookmark_editor_gtk.cc2
-rw-r--r--ui/base/models/tree_node_model.h6
-rw-r--r--ui/base/models/tree_node_model_unittest.cc9
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