summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cookies_tree_model.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-22 01:05:23 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-22 01:05:23 +0000
commit18cc5ff8be2bcd41bb1ec60c88e36214fe334ceb (patch)
treed80407a45543cf123f9b7f328fcb38bde280792d /chrome/browser/cookies_tree_model.cc
parentfc11a6acf6bf1091014b5f8178548ad33b0895b9 (diff)
downloadchromium_src-18cc5ff8be2bcd41bb1ec60c88e36214fe334ceb.zip
chromium_src-18cc5ff8be2bcd41bb1ec60c88e36214fe334ceb.tar.gz
chromium_src-18cc5ff8be2bcd41bb1ec60c88e36214fe334ceb.tar.bz2
Improve the algorithm of TreeNode::Remove.
Now it uses the same algorithm used in ui/views/view.[cc,h] of RemoveChildView. R=sky@chromium.org BUG=None TEST=out/Debug/app_unittests --gtest_filter=TreeNodeModelTest.* Review URL: http://codereview.chromium.org/6714034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78953 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cookies_tree_model.cc')
-rw-r--r--chrome/browser/cookies_tree_model.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/chrome/browser/cookies_tree_model.cc b/chrome/browser/cookies_tree_model.cc
index f76c256..2f7f2e2 100644
--- a/chrome/browser/cookies_tree_model.cc
+++ b/chrome/browser/cookies_tree_model.cc
@@ -635,7 +635,7 @@ void CookiesTreeModel::DeleteAllStoredObjects() {
root->DeleteStoredObjects();
int num_children = root->child_count();
for (int i = num_children - 1; i >= 0; --i)
- delete Remove(root, i);
+ delete Remove(root, root->GetChild(i));
NotifyObserverTreeNodeChanged(root);
NotifyObserverEndBatch();
}
@@ -644,10 +644,8 @@ void CookiesTreeModel::DeleteCookieNode(CookieTreeNode* cookie_node) {
if (cookie_node == GetRoot())
return;
cookie_node->DeleteStoredObjects();
- // find the parent and index
CookieTreeNode* parent_node = cookie_node->parent();
- int cookie_node_index = parent_node->GetIndexOf(cookie_node);
- delete Remove(parent_node, cookie_node_index);
+ delete Remove(parent_node, cookie_node);
if (parent_node->child_count() == 0)
DeleteCookieNode(parent_node);
}
@@ -657,7 +655,7 @@ void CookiesTreeModel::UpdateSearchResults(const std::wstring& filter) {
int num_children = root->child_count();
NotifyObserverBeginBatch();
for (int i = num_children - 1; i >= 0; --i)
- delete Remove(root, i);
+ delete Remove(root, root->GetChild(i));
LoadCookiesWithFilter(filter);
PopulateDatabaseInfoWithFilter(filter);
PopulateLocalStorageInfoWithFilter(filter);