Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1309)

Unified Diff: chrome/browser/cookies_tree_model.h

Issue 6966036: Wrapping blocked filesystems into TabSpecificContentSettings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Missed a string. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/cookies_tree_model.h
diff --git a/chrome/browser/cookies_tree_model.h b/chrome/browser/cookies_tree_model.h
index 9515f51f9c356065a980c413c91847e7524c89f6..9f60f7778d2eed44eca32f6609d2359afc67f651 100644
--- a/chrome/browser/cookies_tree_model.h
+++ b/chrome/browser/cookies_tree_model.h
@@ -18,8 +18,10 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/browsing_data_appcache_helper.h"
#include "chrome/browser/browsing_data_database_helper.h"
+#include "chrome/browser/browsing_data_file_system_helper.h"
#include "chrome/browser/browsing_data_indexed_db_helper.h"
#include "chrome/browser/browsing_data_local_storage_helper.h"
+#include "chrome/browser/browsing_data_file_system_helper.h"
jochen (gone - plz use gerrit) 2011/05/25 15:54:09 duplicate
Mike West 2011/05/25 16:55:16 Done.
#include "chrome/common/content_settings.h"
#include "net/base/cookie_monster.h"
#include "ui/base/models/tree_node_model.h"
@@ -31,6 +33,8 @@ class CookieTreeCookieNode;
class CookieTreeCookiesNode;
class CookieTreeDatabaseNode;
class CookieTreeDatabasesNode;
+class CookieTreeFileSystemsNode;
+class CookieTreeFileSystemNode;
class CookieTreeLocalStorageNode;
class CookieTreeLocalStoragesNode;
class CookieTreeSessionStorageNode;
@@ -66,6 +70,8 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
TYPE_APPCACHE, // This is used for CookieTreeAppCacheNode.
TYPE_INDEXED_DBS, // This is used for CookieTreeIndexedDBsNode.
TYPE_INDEXED_DB, // This is used for CookieTreeIndexedDBNode.
+ TYPE_FILE_SYSTEMS, // This is used for CookieTreeFileSystemsNode.
+ TYPE_FILE_SYSTEM, // This is used for CookieTreeFileSystemNode.
};
// TODO(viettrungluu): Figure out whether we want to store |origin| as a
@@ -79,7 +85,8 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
const BrowsingDataLocalStorageHelper::LocalStorageInfo*
session_storage_info,
const appcache::AppCacheInfo* appcache_info,
- const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info)
+ const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info,
+ const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info)
: origin(UTF16ToWideHack(origin)),
node_type(node_type),
cookie(cookie),
@@ -87,12 +94,14 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
local_storage_info(local_storage_info),
session_storage_info(session_storage_info),
appcache_info(appcache_info),
- indexed_db_info(indexed_db_info) {
+ indexed_db_info(indexed_db_info),
+ file_system_info(file_system_info) {
DCHECK((node_type != TYPE_DATABASE) || database_info);
DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info);
DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info);
DCHECK((node_type != TYPE_APPCACHE) || appcache_info);
DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info);
+ DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info);
}
#if !defined(WCHAR_T_IS_UTF16)
DetailedInfo(const std::wstring& origin, NodeType node_type,
@@ -103,7 +112,8 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
const BrowsingDataLocalStorageHelper::LocalStorageInfo*
session_storage_info,
const appcache::AppCacheInfo* appcache_info,
- const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info)
+ const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info,
+ const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info)
: origin(origin),
node_type(node_type),
cookie(cookie),
@@ -111,12 +121,14 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
local_storage_info(local_storage_info),
session_storage_info(session_storage_info),
appcache_info(appcache_info),
- indexed_db_info(indexed_db_info) {
+ indexed_db_info(indexed_db_info),
+ file_system_info(file_system_info) {
DCHECK((node_type != TYPE_DATABASE) || database_info);
DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info);
DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info);
DCHECK((node_type != TYPE_APPCACHE) || appcache_info);
DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info);
+ DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info);
}
#endif
@@ -129,6 +141,7 @@ class CookieTreeNode : public ui::TreeNode<CookieTreeNode> {
session_storage_info;
const appcache::AppCacheInfo* appcache_info;
const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info;
+ const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info;
};
CookieTreeNode() {}
@@ -198,6 +211,7 @@ class CookieTreeOriginNode : public CookieTreeNode {
CookieTreeSessionStoragesNode* GetOrCreateSessionStoragesNode();
CookieTreeAppCachesNode* GetOrCreateAppCachesNode();
CookieTreeIndexedDBsNode* GetOrCreateIndexedDBsNode();
+ CookieTreeFileSystemsNode* GetOrCreateFileSystemsNode();
// Creates an content exception for this origin of type
// CONTENT_SETTINGS_TYPE_COOKIES.
@@ -219,6 +233,7 @@ class CookieTreeOriginNode : public CookieTreeNode {
CookieTreeSessionStoragesNode* session_storages_child_;
CookieTreeAppCachesNode* appcaches_child_;
CookieTreeIndexedDBsNode* indexed_dbs_child_;
+ CookieTreeFileSystemsNode* file_systems_child_;
// The URL for which this node was initially created.
GURL url_;
@@ -334,6 +349,42 @@ class CookieTreeDatabasesNode : public CookieTreeNode {
DISALLOW_COPY_AND_ASSIGN(CookieTreeDatabasesNode);
};
+// CookieTreeFileSystemNode --------------------------------------------------
+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.
+ explicit CookieTreeFileSystemNode(
+ BrowsingDataFileSystemHelper::FileSystemInfo* 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_;
+
+ DISALLOW_COPY_AND_ASSIGN(CookieTreeFileSystemNode);
+};
+
+class CookieTreeFileSystemsNode : public CookieTreeNode {
+ public:
+ CookieTreeFileSystemsNode();
+ virtual ~CookieTreeFileSystemsNode();
+
+ virtual DetailedInfo GetDetailedInfo() const;
+
+ void AddFileSystemNode(CookieTreeFileSystemNode* child) {
+ AddChildSortedByTitle(child);
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(CookieTreeFileSystemsNode);
+};
// CookieTreeLocalStorageNode -------------------------------------------------
class CookieTreeLocalStorageNode : public CookieTreeNode {
@@ -470,6 +521,7 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
BrowsingDataLocalStorageHelper* session_storage_helper,
BrowsingDataAppCacheHelper* appcache_helper,
BrowsingDataIndexedDBHelper* indexed_db_helper,
+ BrowsingDataFileSystemHelper* file_system_helper,
bool use_cookie_source);
virtual ~CookiesTreeModel();
@@ -512,6 +564,8 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
SessionStorageInfoList;
typedef std::vector<BrowsingDataIndexedDBHelper::IndexedDBInfo>
IndexedDBInfoList;
+ typedef std::vector<BrowsingDataFileSystemHelper::FileSystemInfo>
+ FileSystemInfoList;
void LoadCookies();
void LoadCookiesWithFilter(const std::wstring& filter);
@@ -524,12 +578,15 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
const LocalStorageInfoList& local_storage_info);
void OnIndexedDBModelInfoLoaded(
const IndexedDBInfoList& indexed_db_info);
+ void OnFileSystemModelInfoLoaded(
+ const FileSystemInfoList& file_system_info);
void PopulateAppCacheInfoWithFilter(const std::wstring& filter);
void PopulateDatabaseInfoWithFilter(const std::wstring& filter);
void PopulateLocalStorageInfoWithFilter(const std::wstring& filter);
void PopulateSessionStorageInfoWithFilter(const std::wstring& filter);
void PopulateIndexedDBInfoWithFilter(const std::wstring& filter);
+ void PopulateFileSystemInfoWithFilter(const std::wstring& filter);
void NotifyObserverBeginBatch();
void NotifyObserverEndBatch();
@@ -545,9 +602,11 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
scoped_refptr<BrowsingDataLocalStorageHelper> local_storage_helper_;
scoped_refptr<BrowsingDataLocalStorageHelper> session_storage_helper_;
scoped_refptr<BrowsingDataIndexedDBHelper> indexed_db_helper_;
+ scoped_refptr<BrowsingDataFileSystemHelper> file_system_helper_;
LocalStorageInfoList local_storage_info_list_;
LocalStorageInfoList session_storage_info_list_;
IndexedDBInfoList indexed_db_info_list_;
+ FileSystemInfoList file_system_info_list_;
// The CookiesTreeModel maintains a separate list of observers that are
// specifically of the type CookiesTreeModel::Observer.
@@ -567,6 +626,7 @@ class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
friend class CookieTreeDatabaseNode;
friend class CookieTreeLocalStorageNode;
friend class CookieTreeIndexedDBNode;
+ friend class CookieTreeFileSystemNode;
DISALLOW_COPY_AND_ASSIGN(CookiesTreeModel);
};

Powered by Google App Engine
This is Rietveld 408576698