diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 01:05:23 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 01:05:23 +0000 |
commit | 18cc5ff8be2bcd41bb1ec60c88e36214fe334ceb (patch) | |
tree | d80407a45543cf123f9b7f328fcb38bde280792d /chrome/browser/cookies_tree_model.cc | |
parent | fc11a6acf6bf1091014b5f8178548ad33b0895b9 (diff) | |
download | chromium_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.cc | 8 |
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); |