| Index: chrome/browser/cookies_tree_model.cc
|
| ===================================================================
|
| --- chrome/browser/cookies_tree_model.cc (revision 32829)
|
| +++ chrome/browser/cookies_tree_model.cc (working copy)
|
| @@ -224,6 +224,10 @@
|
| }
|
|
|
| void CookiesTreeModel::LoadCookies() {
|
| + LoadCookiesWithFilter(L"");
|
| +}
|
| +
|
| +void CookiesTreeModel::LoadCookiesWithFilter(const std::wstring& filter) {
|
| // mmargh mmargh mmargh!
|
|
|
| // Since we are running on the UI thread don't call GetURLRequestContext().
|
| @@ -236,11 +240,14 @@
|
| it != all_cookies_.end();
|
| ++it) {
|
| // Get the origin cookie
|
| - CookieTreeOriginNode* origin =
|
| - root->GetOrCreateOriginNode(UTF8ToWide(it->first));
|
| - CookieTreeCookiesNode* cookies_node = origin->GetOrCreateCookiesNode();
|
| - CookieTreeCookieNode* new_cookie = new CookieTreeCookieNode(&*it);
|
| - cookies_node->AddCookieNode(new_cookie);
|
| + if (!filter.size() ||
|
| + (UTF8ToWide(it->first).find(filter) != std::wstring::npos)) {
|
| + CookieTreeOriginNode* origin =
|
| + root->GetOrCreateOriginNode(UTF8ToWide(it->first));
|
| + CookieTreeCookiesNode* cookies_node = origin->GetOrCreateCookiesNode();
|
| + CookieTreeCookieNode* new_cookie = new CookieTreeCookieNode(&*it);
|
| + cookies_node->AddCookieNode(new_cookie);
|
| + }
|
| }
|
| }
|
|
|
| @@ -263,9 +270,8 @@
|
| CookieTreeNode* root = GetRoot();
|
| root->DeleteStoredObjects();
|
| int num_children = root->GetChildCount();
|
| - for (int i = num_children - 1; i >= 0; --i) {
|
| + for (int i = num_children - 1; i >= 0; --i)
|
| delete Remove(root, i);
|
| - }
|
| LoadCookies();
|
| NotifyObserverTreeNodeChanged(root);
|
| }
|
| @@ -277,3 +283,12 @@
|
| int cookie_node_index = parent_node->IndexOfChild(cookie_node);
|
| delete Remove(parent_node, cookie_node_index);
|
| }
|
| +
|
| +void CookiesTreeModel::UpdateSearchResults(const std::wstring& filter) {
|
| + CookieTreeNode* root = GetRoot();
|
| + int num_children = root->GetChildCount();
|
| + for (int i = num_children - 1; i >= 0; --i)
|
| + delete Remove(root, i);
|
| + LoadCookiesWithFilter(filter);
|
| + NotifyObserverTreeNodeChanged(root);
|
| +}
|
|
|