Index: chrome/browser/cookies_tree_model.h |
diff --git a/chrome/browser/cookies_tree_model.h b/chrome/browser/cookies_tree_model.h |
index d908cc6a5e7c192d9c4277eb1cf27639298b3f5a..f7aa859ad8e8a42c7fe1eb6a6a997b5ad9b34626 100644 |
--- a/chrome/browser/cookies_tree_model.h |
+++ b/chrome/browser/cookies_tree_model.h |
@@ -9,6 +9,7 @@ |
// TODO(viettrungluu): This header file #includes far too much and has too much |
// inline code (which shouldn't be inline). |
+#include <list> |
#include <string> |
#include <vector> |
@@ -223,7 +224,7 @@ class CookieTreeOriginNode : public CookieTreeNode { |
CookieTreeIndexedDBsNode* GetOrCreateIndexedDBsNode(); |
CookieTreeFileSystemsNode* GetOrCreateFileSystemsNode(); |
CookieTreeQuotaNode* UpdateOrCreateQuotaNode( |
- BrowsingDataQuotaHelper::QuotaInfo* quota_info); |
+ std::list<BrowsingDataQuotaHelper::QuotaInfo>::iterator quota_info); |
// Creates an content exception for this origin of type |
// CONTENT_SETTINGS_TYPE_COOKIES. |
@@ -259,9 +260,10 @@ class CookieTreeCookieNode : public CookieTreeNode { |
public: |
friend class CookieTreeCookiesNode; |
- // Does not take ownership of cookie, and cookie should remain valid at least |
- // as long as the CookieTreeCookieNode is valid. |
- explicit CookieTreeCookieNode(net::CookieMonster::CanonicalCookie* cookie); |
+ // The cookie should remain valid at least as long as the |
+ // CookieTreeCookieNode is valid. |
+ explicit CookieTreeCookieNode( |
+ std::list<net::CookieMonster::CanonicalCookie>::iterator cookie); |
virtual ~CookieTreeCookieNode(); |
// CookieTreeNode methods: |
@@ -269,9 +271,9 @@ class CookieTreeCookieNode : public CookieTreeNode { |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // Cookie_ is not owned by the node, and is expected to remain valid as long |
- // as the CookieTreeCookieNode is valid. |
- net::CookieMonster::CanonicalCookie* cookie_; |
+ // cookie_ is expected to remain valid as long as the CookieTreeCookieNode is |
+ // valid. |
+ std::list<net::CookieMonster::CanonicalCookie>::iterator cookie_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeCookieNode); |
}; |
@@ -296,17 +298,19 @@ class CookieTreeAppCacheNode : public CookieTreeNode { |
public: |
friend class CookieTreeAppCachesNode; |
- // Does not take ownership of appcache_info, and appcache_info should remain |
- // valid at least as long as the CookieTreeAppCacheNode is valid. |
+ // appcache_info should remain valid at least as long as the |
+ // CookieTreeAppCacheNode is valid. |
explicit CookieTreeAppCacheNode( |
- const appcache::AppCacheInfo* appcache_info); |
- virtual ~CookieTreeAppCacheNode() {} |
+ const GURL& origin_url, |
+ std::list<appcache::AppCacheInfo>::iterator appcache_info); |
+ virtual ~CookieTreeAppCacheNode(); |
virtual void DeleteStoredObjects(); |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- const appcache::AppCacheInfo* appcache_info_; |
+ GURL origin_url_; |
+ std::list<appcache::AppCacheInfo>::iterator appcache_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeAppCacheNode); |
}; |
@@ -330,19 +334,21 @@ class CookieTreeDatabaseNode : public CookieTreeNode { |
public: |
friend class CookieTreeDatabasesNode; |
- // Does not take ownership of database_info, and database_info should remain |
- // valid at least as long as the CookieTreeDatabaseNode is valid. |
+ // database_info should remain valid at least as long as the |
+ // CookieTreeDatabaseNode is valid. |
explicit CookieTreeDatabaseNode( |
- BrowsingDataDatabaseHelper::DatabaseInfo* database_info); |
+ std::list<BrowsingDataDatabaseHelper::DatabaseInfo>::iterator |
+ database_info); |
virtual ~CookieTreeDatabaseNode(); |
virtual void DeleteStoredObjects(); |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // database_info_ is not owned by the node, and is expected to remain |
- // valid as long as the CookieTreeDatabaseNode is valid. |
- BrowsingDataDatabaseHelper::DatabaseInfo* database_info_; |
+ // database_info_ is expected to remain valid as long as the |
+ // CookieTreeDatabaseNode is valid. |
+ std::list<BrowsingDataDatabaseHelper::DatabaseInfo>::iterator |
+ database_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeDatabaseNode); |
}; |
@@ -367,19 +373,21 @@ class CookieTreeFileSystemNode : public CookieTreeNode { |
public: |
friend class CookieTreeFileSystemsNode; |
- // Does not take ownership of file_system_info, and file_system_info should |
- // remain valid at least as long as the CookieTreeFileSystemNode is valid. |
+ // file_system_info should remain valid at least as long as the |
+ // CookieTreeFileSystemNode is valid. |
explicit CookieTreeFileSystemNode( |
- BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info); |
+ std::list<BrowsingDataFileSystemHelper::FileSystemInfo>::iterator |
+ file_system_info); |
virtual ~CookieTreeFileSystemNode(); |
virtual void DeleteStoredObjects(); |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // file_system_info_ is not owned by the node, and is expected to remain |
- // valid as long as the CookieTreeFileSystemNode is valid. |
- BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info_; |
+ // file_system_info_ expected to remain valid as long as the |
+ // CookieTreeFileSystemNode is valid. |
+ std::list<BrowsingDataFileSystemHelper::FileSystemInfo>::iterator |
+ file_system_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeFileSystemNode); |
}; |
@@ -402,11 +410,11 @@ class CookieTreeFileSystemsNode : public CookieTreeNode { |
// CookieTreeLocalStorageNode ------------------------------------------------- |
class CookieTreeLocalStorageNode : public CookieTreeNode { |
public: |
- // Does not take ownership of local_storage_info, and local_storage_info |
- // should remain valid at least as long as the CookieTreeLocalStorageNode is |
- // valid. |
+ // local_storage_info should remain valid at least as long as the |
+ // CookieTreeLocalStorageNode is valid. |
explicit CookieTreeLocalStorageNode( |
- BrowsingDataLocalStorageHelper::LocalStorageInfo* local_storage_info); |
+ std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo>::iterator |
+ local_storage_info); |
virtual ~CookieTreeLocalStorageNode(); |
// CookieTreeNode methods: |
@@ -414,9 +422,10 @@ class CookieTreeLocalStorageNode : public CookieTreeNode { |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // local_storage_info_ is not owned by the node, and is expected to remain |
- // valid as long as the CookieTreeLocalStorageNode is valid. |
- BrowsingDataLocalStorageHelper::LocalStorageInfo* local_storage_info_; |
+ // local_storage_info_ is expected to remain valid as long as the |
+ // CookieTreeLocalStorageNode is valid. |
+ std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo>::iterator |
+ local_storage_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeLocalStorageNode); |
}; |
@@ -441,20 +450,22 @@ class CookieTreeLocalStoragesNode : public CookieTreeNode { |
// CookieTreeSessionStorageNode ----------------------------------------------- |
class CookieTreeSessionStorageNode : public CookieTreeNode { |
public: |
- // Does not take ownership of session_storage_info, and session_storage_info |
- // should remain valid at least as long as the CookieTreeSessionStorageNode |
- // is valid. |
+ // session_storage_info should remain valid at least as long as the |
+ // CookieTreeSessionStorageNode is valid. |
explicit CookieTreeSessionStorageNode( |
- BrowsingDataLocalStorageHelper::LocalStorageInfo* session_storage_info); |
+ std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo>::iterator |
+ session_storage_info); |
virtual ~CookieTreeSessionStorageNode(); |
// CookieTreeNode methods: |
+ virtual void DeleteStoredObjects(); |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // session_storage_info_ is not owned by the node, and is expected to remain |
- // valid as long as the CookieTreeSessionStorageNode is valid. |
- BrowsingDataLocalStorageHelper::LocalStorageInfo* session_storage_info_; |
+ // session_storage_info_ is expected to remain valid as long as the |
+ // CookieTreeSessionStorageNode is valid. |
+ std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo>::iterator |
+ session_storage_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeSessionStorageNode); |
}; |
@@ -478,11 +489,11 @@ class CookieTreeSessionStoragesNode : public CookieTreeNode { |
// CookieTreeIndexedDBNode ----------------------------------------------- |
class CookieTreeIndexedDBNode : public CookieTreeNode { |
public: |
- // Does not take ownership of session_storage_info, and session_storage_info |
- // should remain valid at least as long as the CookieTreeSessionStorageNode |
- // is valid. |
+ // indexed_db_info should remain valid at least as long as the |
+ // CookieTreeIndexedDBNode is valid. |
explicit CookieTreeIndexedDBNode( |
- BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info); |
+ std::list<BrowsingDataIndexedDBHelper::IndexedDBInfo>::iterator |
+ indexed_db_info); |
virtual ~CookieTreeIndexedDBNode(); |
// CookieTreeNode methods: |
@@ -490,9 +501,10 @@ class CookieTreeIndexedDBNode : public CookieTreeNode { |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // indexed_db_info_ is not owned by the node, and is expected to remain |
- // valid as long as the CookieTreeIndexedDBNode is valid. |
- BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info_; |
+ // indexed_db_info_ is expected to remain valid as long as the |
+ // CookieTreeIndexedDBNode is valid. |
+ std::list<BrowsingDataIndexedDBHelper::IndexedDBInfo>::iterator |
+ indexed_db_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeIndexedDBNode); |
}; |
@@ -515,18 +527,19 @@ class CookieTreeIndexedDBsNode : public CookieTreeNode { |
// CookieTreeQuotaNode -------------------------------------------------- |
class CookieTreeQuotaNode : public CookieTreeNode { |
public: |
- // Does not take ownership of quota_info, and quota_info should remain valid |
- // at least as long as the CookieTreeQuotaNode is valid. |
- explicit CookieTreeQuotaNode(BrowsingDataQuotaHelper::QuotaInfo* quota_info); |
+ // quota_info should remain valid at least as long as the CookieTreeQuotaNode |
+ // is valid. |
+ explicit CookieTreeQuotaNode( |
+ std::list<BrowsingDataQuotaHelper::QuotaInfo>::iterator quota_info); |
virtual ~CookieTreeQuotaNode(); |
virtual void DeleteStoredObjects(); |
virtual DetailedInfo GetDetailedInfo() const; |
private: |
- // quota_info_ is not owned by the node, and is expected to remain valid as |
- // long as the CookieTreeQuotaNode is valid. |
- BrowsingDataQuotaHelper::QuotaInfo* quota_info_; |
+ // quota_info_ is expected to remain valid as long as the CookieTreeQuotaNode |
+ // is valid. |
+ std::list<BrowsingDataQuotaHelper::QuotaInfo>::iterator quota_info_; |
DISALLOW_COPY_AND_ASSIGN(CookieTreeQuotaNode); |
}; |
@@ -587,21 +600,21 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> { |
COOKIE = 1, |
DATABASE = 2 |
}; |
- typedef net::CookieList CookieList; |
- typedef std::vector<BrowsingDataDatabaseHelper::DatabaseInfo> |
+ typedef std::list<net::CookieMonster::CanonicalCookie> CookieList; |
+ typedef std::list<BrowsingDataDatabaseHelper::DatabaseInfo> |
DatabaseInfoList; |
- typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo> |
+ typedef std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo> |
LocalStorageInfoList; |
- typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo> |
+ typedef std::list<BrowsingDataLocalStorageHelper::LocalStorageInfo> |
SessionStorageInfoList; |
- typedef std::vector<BrowsingDataIndexedDBHelper::IndexedDBInfo> |
+ typedef std::list<BrowsingDataIndexedDBHelper::IndexedDBInfo> |
IndexedDBInfoList; |
- typedef std::vector<BrowsingDataFileSystemHelper::FileSystemInfo> |
+ typedef std::list<BrowsingDataFileSystemHelper::FileSystemInfo> |
FileSystemInfoList; |
- typedef std::vector<BrowsingDataQuotaHelper::QuotaInfo> QuotaInfoArray; |
+ typedef std::list<BrowsingDataQuotaHelper::QuotaInfo> QuotaInfoArray; |
void OnAppCacheModelInfoLoaded(); |
- void OnCookiesModelInfoLoaded(const CookieList& cookie_list); |
+ void OnCookiesModelInfoLoaded(const net::CookieList& cookie_list); |
void OnDatabaseModelInfoLoaded(const DatabaseInfoList& database_info); |
void OnLocalStorageModelInfoLoaded( |
const LocalStorageInfoList& local_storage_info); |
@@ -634,7 +647,7 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> { |
scoped_refptr<BrowsingDataFileSystemHelper> file_system_helper_; |
scoped_refptr<BrowsingDataQuotaHelper> quota_helper_; |
- scoped_refptr<appcache::AppCacheInfoCollection> appcache_info_; |
+ std::map<GURL, std::list<appcache::AppCacheInfo> > appcache_info_; |
CookieList cookie_list_; |
DatabaseInfoList database_info_list_; |
LocalStorageInfoList local_storage_info_list_; |
@@ -660,6 +673,7 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> { |
friend class CookieTreeCookieNode; |
friend class CookieTreeDatabaseNode; |
friend class CookieTreeLocalStorageNode; |
+ friend class CookieTreeSessionStorageNode; |
friend class CookieTreeIndexedDBNode; |
friend class CookieTreeFileSystemNode; |
friend class CookieTreeQuotaNode; |