diff options
author | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-05 04:18:52 +0000 |
---|---|---|
committer | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-05 04:18:52 +0000 |
commit | e7ff519084d384ed51d11e66c1b029329f14eba9 (patch) | |
tree | a4492c4f277c59304aa251ab023529e4436a2812 /chrome/browser/cookies_tree_model.cc | |
parent | 575a95d355333194e2f2e4981c6a18b0adc8226c (diff) | |
download | chromium_src-e7ff519084d384ed51d11e66c1b029329f14eba9.zip chromium_src-e7ff519084d384ed51d11e66c1b029329f14eba9.tar.gz chromium_src-e7ff519084d384ed51d11e66c1b029329f14eba9.tar.bz2 |
Revert 95534 - Creat BrowsingDataCookieHelper and CannedBrowsingDataCookieHelper for logging cookies at UI thread.
BUG=XXX
TEST=XXX
Review URL: http://codereview.chromium.org/7355025
TBR=ycxiao@chromium.org
Review URL: http://codereview.chromium.org/7491049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95575 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cookies_tree_model.cc')
-rw-r--r-- | chrome/browser/cookies_tree_model.cc | 90 |
1 files changed, 41 insertions, 49 deletions
diff --git a/chrome/browser/cookies_tree_model.cc b/chrome/browser/cookies_tree_model.cc index 6821c3f..8a001f6 100644 --- a/chrome/browser/cookies_tree_model.cc +++ b/chrome/browser/cookies_tree_model.cc @@ -8,12 +8,10 @@ #include <functional> #include <vector> -#include "base/bind.h" #include "base/callback.h" #include "base/memory/linked_ptr.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" -#include "chrome/browser/browsing_data_cookie_helper.h" #include "chrome/browser/content_settings/host_content_settings_map.h" #include "chrome/browser/extensions/extension_service.h" #include "content/browser/in_process_webkit/webkit_context.h" @@ -64,7 +62,7 @@ void CookieTreeCookieNode::DeleteStoredObjects() { // vector storing the cookies in-tact and not delete from there (that would // invalidate our pointers), and the fact that it contains semi out-of-date // data is not problematic as we don't re-build the model based on that. - GetModel()->cookie_helper_->DeleteCookie(*cookie_); + GetModel()->cookie_monster_->DeleteCanonicalCookie(*cookie_); } CookieTreeNode::DetailedInfo CookieTreeCookieNode::GetDetailedInfo() const { @@ -553,7 +551,7 @@ void CookieTreeNode::AddChildSortedByTitle(CookieTreeNode* new_child) { // CookiesTreeModel, public: CookiesTreeModel::CookiesTreeModel( - BrowsingDataCookieHelper* cookie_helper, + net::CookieMonster* cookie_monster, BrowsingDataDatabaseHelper* database_helper, BrowsingDataLocalStorageHelper* local_storage_helper, BrowsingDataLocalStorageHelper* session_storage_helper, @@ -563,8 +561,8 @@ CookiesTreeModel::CookiesTreeModel( bool use_cookie_source) : ALLOW_THIS_IN_INITIALIZER_LIST(ui::TreeNodeModel<CookieTreeNode>( new CookieTreeRootNode(this))), + cookie_monster_(cookie_monster), appcache_helper_(appcache_helper), - cookie_helper_(cookie_helper), database_helper_(database_helper), local_storage_helper_(local_storage_helper), session_storage_helper_(session_storage_helper), @@ -572,10 +570,7 @@ CookiesTreeModel::CookiesTreeModel( file_system_helper_(file_system_helper), batch_update_(0), use_cookie_source_(use_cookie_source) { - DCHECK(cookie_helper_); - cookie_helper_->StartFetching( - base::Bind(&CookiesTreeModel::OnCookiesModelInfoLoaded, - base::Unretained(this))); + LoadCookies(); DCHECK(database_helper_); database_helper_->StartFetching(NewCallback( this, &CookiesTreeModel::OnDatabaseModelInfoLoaded)); @@ -606,7 +601,6 @@ CookiesTreeModel::CookiesTreeModel( } CookiesTreeModel::~CookiesTreeModel() { - cookie_helper_->CancelNotification(); database_helper_->CancelNotification(); local_storage_helper_->CancelNotification(); if (session_storage_helper_) @@ -662,6 +656,42 @@ int CookiesTreeModel::GetIconIndex(ui::TreeModelNode* node) { return -1; } +void CookiesTreeModel::LoadCookies() { + LoadCookiesWithFilter(std::wstring()); +} + +void CookiesTreeModel::LoadCookiesWithFilter(const std::wstring& filter) { + // mmargh mmargh mmargh! delicious! + + all_cookies_ = cookie_monster_->GetAllCookies(); + CookieTreeRootNode* root = static_cast<CookieTreeRootNode*>(GetRoot()); + for (CookieList::iterator it = all_cookies_.begin(); + it != all_cookies_.end(); ++it) { + std::string source_string = it->Source(); + if (source_string.empty() || !use_cookie_source_) { + std::string domain = it->Domain(); + if (domain.length() > 1 && domain[0] == '.') + domain = domain.substr(1); + + // We treat secure cookies just the same as normal ones. + source_string = std::string(chrome::kHttpScheme) + + chrome::kStandardSchemeSeparator + domain + "/"; + } + + GURL source(source_string); + if (!filter.size() || + (CookieTreeOriginNode::TitleForUrl(source).find(filter) != + std::string::npos)) { + CookieTreeOriginNode* origin_node = + root->GetOrCreateOriginNode(source); + CookieTreeCookiesNode* cookies_node = + origin_node->GetOrCreateCookiesNode(); + CookieTreeCookieNode* new_cookie = new CookieTreeCookieNode(&*it); + cookies_node->AddCookieNode(new_cookie); + } + } +} + void CookiesTreeModel::DeleteAllStoredObjects() { NotifyObserverBeginBatch(); CookieTreeNode* root = GetRoot(); @@ -689,7 +719,7 @@ void CookiesTreeModel::UpdateSearchResults(const std::wstring& filter) { NotifyObserverBeginBatch(); for (int i = num_children - 1; i >= 0; --i) delete Remove(root, root->GetChild(i)); - PopulateCookieInfoWithFilter(filter); + LoadCookiesWithFilter(filter); PopulateDatabaseInfoWithFilter(filter); PopulateLocalStorageInfoWithFilter(filter); PopulateSessionStorageInfoWithFilter(filter); @@ -750,44 +780,6 @@ void CookiesTreeModel::PopulateAppCacheInfoWithFilter( NotifyObserverEndBatch(); } -void CookiesTreeModel::OnCookiesModelInfoLoaded( - const CookieList& cookie_list) { - cookie_list_ = cookie_list; - PopulateCookieInfoWithFilter(std::wstring()); -} - -void CookiesTreeModel::PopulateCookieInfoWithFilter( - const std::wstring& filter) { - // mmargh mmargh mmargh! delicious! - - CookieTreeRootNode* root = static_cast<CookieTreeRootNode*>(GetRoot()); - for (CookieList::iterator it = cookie_list_.begin(); - it != cookie_list_.end(); ++it) { - std::string source_string = it->Source(); - if (source_string.empty() || !use_cookie_source_) { - std::string domain = it->Domain(); - if (domain.length() > 1 && domain[0] == '.') - domain = domain.substr(1); - - // We treat secure cookies just the same as normal ones. - source_string = std::string(chrome::kHttpScheme) + - chrome::kStandardSchemeSeparator + domain + "/"; - } - - GURL source(source_string); - if (!filter.size() || - (CookieTreeOriginNode::TitleForUrl(source).find(filter) != - std::string::npos)) { - CookieTreeOriginNode* origin_node = - root->GetOrCreateOriginNode(source); - CookieTreeCookiesNode* cookies_node = - origin_node->GetOrCreateCookiesNode(); - CookieTreeCookieNode* new_cookie = new CookieTreeCookieNode(&*it); - cookies_node->AddCookieNode(new_cookie); - } - } -} - void CookiesTreeModel::OnDatabaseModelInfoLoaded( const DatabaseInfoList& database_info) { database_info_list_ = database_info; |