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

Side by Side Diff: chrome/browser/cookies_tree_model.h

Issue 7387007: Adding usage and quota entry to chrome://settings/cookies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed leak suppressions. Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_COOKIES_TREE_MODEL_H_ 5 #ifndef CHROME_BROWSER_COOKIES_TREE_MODEL_H_
6 #define CHROME_BROWSER_COOKIES_TREE_MODEL_H_ 6 #define CHROME_BROWSER_COOKIES_TREE_MODEL_H_
7 #pragma once 7 #pragma once
8 8
9 // TODO(viettrungluu): This header file #includes far too much and has too much 9 // TODO(viettrungluu): This header file #includes far too much and has too much
10 // inline code (which shouldn't be inline). 10 // inline code (which shouldn't be inline).
11 11
12 #include <string> 12 #include <string>
13 #include <vector> 13 #include <vector>
14 14
15 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
16 #include "base/observer_list.h" 16 #include "base/observer_list.h"
17 #include "base/string16.h" 17 #include "base/string16.h"
18 #include "base/utf_string_conversions.h" 18 #include "base/utf_string_conversions.h"
19 #include "chrome/browser/browsing_data_appcache_helper.h" 19 #include "chrome/browser/browsing_data_appcache_helper.h"
20 #include "chrome/browser/browsing_data_database_helper.h" 20 #include "chrome/browser/browsing_data_database_helper.h"
21 #include "chrome/browser/browsing_data_file_system_helper.h" 21 #include "chrome/browser/browsing_data_file_system_helper.h"
22 #include "chrome/browser/browsing_data_indexed_db_helper.h" 22 #include "chrome/browser/browsing_data_indexed_db_helper.h"
23 #include "chrome/browser/browsing_data_local_storage_helper.h" 23 #include "chrome/browser/browsing_data_local_storage_helper.h"
24 #include "chrome/browser/browsing_data_quota_helper.h"
24 #include "chrome/common/content_settings.h" 25 #include "chrome/common/content_settings.h"
25 #include "net/base/cookie_monster.h" 26 #include "net/base/cookie_monster.h"
26 #include "ui/base/models/tree_node_model.h" 27 #include "ui/base/models/tree_node_model.h"
27 28
28 class CookiesTreeModel; 29 class CookiesTreeModel;
29 class CookieTreeAppCacheNode; 30 class CookieTreeAppCacheNode;
30 class CookieTreeAppCachesNode; 31 class CookieTreeAppCachesNode;
31 class CookieTreeCookieNode; 32 class CookieTreeCookieNode;
32 class CookieTreeCookiesNode; 33 class CookieTreeCookiesNode;
33 class CookieTreeDatabaseNode; 34 class CookieTreeDatabaseNode;
34 class CookieTreeDatabasesNode; 35 class CookieTreeDatabasesNode;
35 class CookieTreeFileSystemsNode; 36 class CookieTreeFileSystemsNode;
36 class CookieTreeFileSystemNode; 37 class CookieTreeFileSystemNode;
37 class CookieTreeLocalStorageNode; 38 class CookieTreeLocalStorageNode;
38 class CookieTreeLocalStoragesNode; 39 class CookieTreeLocalStoragesNode;
40 class CookieTreeQuotaNode;
39 class CookieTreeSessionStorageNode; 41 class CookieTreeSessionStorageNode;
40 class CookieTreeSessionStoragesNode; 42 class CookieTreeSessionStoragesNode;
41 class CookieTreeIndexedDBNode; 43 class CookieTreeIndexedDBNode;
42 class CookieTreeIndexedDBsNode; 44 class CookieTreeIndexedDBsNode;
43 class CookieTreeOriginNode; 45 class CookieTreeOriginNode;
44 class HostContentSettingsMap; 46 class HostContentSettingsMap;
45 47
46 // CookieTreeNode ------------------------------------------------------------- 48 // CookieTreeNode -------------------------------------------------------------
47 // The base node type in the Cookies, Databases, and Local Storage options 49 // The base node type in the Cookies, Databases, and Local Storage options
48 // view, from which all other types are derived. Specialized from TreeNode in 50 // view, from which all other types are derived. Specialized from TreeNode in
(...skipping 13 matching lines...) Expand all
62 TYPE_DATABASES, // This is used for CookieTreeDatabasesNode. 64 TYPE_DATABASES, // This is used for CookieTreeDatabasesNode.
63 TYPE_DATABASE, // This is used for CookieTreeDatabaseNode. 65 TYPE_DATABASE, // This is used for CookieTreeDatabaseNode.
64 TYPE_LOCAL_STORAGES, // This is used for CookieTreeLocalStoragesNode. 66 TYPE_LOCAL_STORAGES, // This is used for CookieTreeLocalStoragesNode.
65 TYPE_LOCAL_STORAGE, // This is used for CookieTreeLocalStorageNode. 67 TYPE_LOCAL_STORAGE, // This is used for CookieTreeLocalStorageNode.
66 TYPE_SESSION_STORAGES, // This is used for CookieTreeSessionStoragesNode. 68 TYPE_SESSION_STORAGES, // This is used for CookieTreeSessionStoragesNode.
67 TYPE_SESSION_STORAGE, // This is used for CookieTreeSessionStorageNode. 69 TYPE_SESSION_STORAGE, // This is used for CookieTreeSessionStorageNode.
68 TYPE_APPCACHES, // This is used for CookieTreeAppCachesNode. 70 TYPE_APPCACHES, // This is used for CookieTreeAppCachesNode.
69 TYPE_APPCACHE, // This is used for CookieTreeAppCacheNode. 71 TYPE_APPCACHE, // This is used for CookieTreeAppCacheNode.
70 TYPE_INDEXED_DBS, // This is used for CookieTreeIndexedDBsNode. 72 TYPE_INDEXED_DBS, // This is used for CookieTreeIndexedDBsNode.
71 TYPE_INDEXED_DB, // This is used for CookieTreeIndexedDBNode. 73 TYPE_INDEXED_DB, // This is used for CookieTreeIndexedDBNode.
72 TYPE_FILE_SYSTEMS, // This is used for CookieTreeFileSystemsNode. 74 TYPE_FILE_SYSTEMS, // This is used for CookieTreeFileSystemsNode.
73 TYPE_FILE_SYSTEM, // This is used for CookieTreeFileSystemNode. 75 TYPE_FILE_SYSTEM, // This is used for CookieTreeFileSystemNode.
76 TYPE_QUOTA, // This is used for CookieTreeQuotaNode.
74 }; 77 };
75 78
76 // TODO(viettrungluu): Figure out whether we want to store |origin| as a 79 // TODO(viettrungluu): Figure out whether we want to store |origin| as a
77 // |string16| or a (UTF-8) |std::string|, and convert. Remove constructor 80 // |string16| or a (UTF-8) |std::string|, and convert. Remove constructor
78 // taking an |std::wstring|. 81 // taking an |std::wstring|.
79 DetailedInfo(const string16& origin, NodeType node_type, 82 DetailedInfo(const string16& origin, NodeType node_type,
80 const net::CookieMonster::CanonicalCookie* cookie, 83 const net::CookieMonster::CanonicalCookie* cookie,
81 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info, 84 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info,
82 const BrowsingDataLocalStorageHelper::LocalStorageInfo* 85 const BrowsingDataLocalStorageHelper::LocalStorageInfo*
83 local_storage_info, 86 local_storage_info,
84 const BrowsingDataLocalStorageHelper::LocalStorageInfo* 87 const BrowsingDataLocalStorageHelper::LocalStorageInfo*
85 session_storage_info, 88 session_storage_info,
86 const appcache::AppCacheInfo* appcache_info, 89 const appcache::AppCacheInfo* appcache_info,
87 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info, 90 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info,
88 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info) 91 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info,
92 const BrowsingDataQuotaHelper::QuotaInfo* quota_info)
89 : origin(UTF16ToWideHack(origin)), 93 : origin(UTF16ToWideHack(origin)),
90 node_type(node_type), 94 node_type(node_type),
91 cookie(cookie), 95 cookie(cookie),
92 database_info(database_info), 96 database_info(database_info),
93 local_storage_info(local_storage_info), 97 local_storage_info(local_storage_info),
94 session_storage_info(session_storage_info), 98 session_storage_info(session_storage_info),
95 appcache_info(appcache_info), 99 appcache_info(appcache_info),
96 indexed_db_info(indexed_db_info), 100 indexed_db_info(indexed_db_info),
97 file_system_info(file_system_info) { 101 file_system_info(file_system_info),
102 quota_info(quota_info) {
98 DCHECK((node_type != TYPE_DATABASE) || database_info); 103 DCHECK((node_type != TYPE_DATABASE) || database_info);
99 DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info); 104 DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info);
100 DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info); 105 DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info);
101 DCHECK((node_type != TYPE_APPCACHE) || appcache_info); 106 DCHECK((node_type != TYPE_APPCACHE) || appcache_info);
102 DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info); 107 DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info);
103 DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info); 108 DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info);
109 DCHECK((node_type != TYPE_QUOTA) || quota_info);
104 } 110 }
105 #if !defined(WCHAR_T_IS_UTF16) 111 #if !defined(WCHAR_T_IS_UTF16)
106 DetailedInfo(const std::wstring& origin, NodeType node_type, 112 DetailedInfo(const std::wstring& origin, NodeType node_type,
107 const net::CookieMonster::CanonicalCookie* cookie, 113 const net::CookieMonster::CanonicalCookie* cookie,
108 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info, 114 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info,
109 const BrowsingDataLocalStorageHelper::LocalStorageInfo* 115 const BrowsingDataLocalStorageHelper::LocalStorageInfo*
110 local_storage_info, 116 local_storage_info,
111 const BrowsingDataLocalStorageHelper::LocalStorageInfo* 117 const BrowsingDataLocalStorageHelper::LocalStorageInfo*
112 session_storage_info, 118 session_storage_info,
113 const appcache::AppCacheInfo* appcache_info, 119 const appcache::AppCacheInfo* appcache_info,
114 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info, 120 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info,
115 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info) 121 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info,
122 const BrowsingDataQuotaHelper::QuotaInfo* quota_info)
116 : origin(origin), 123 : origin(origin),
117 node_type(node_type), 124 node_type(node_type),
118 cookie(cookie), 125 cookie(cookie),
119 database_info(database_info), 126 database_info(database_info),
120 local_storage_info(local_storage_info), 127 local_storage_info(local_storage_info),
121 session_storage_info(session_storage_info), 128 session_storage_info(session_storage_info),
122 appcache_info(appcache_info), 129 appcache_info(appcache_info),
123 indexed_db_info(indexed_db_info), 130 indexed_db_info(indexed_db_info),
124 file_system_info(file_system_info) { 131 file_system_info(file_system_info),
132 quota_info(quota_info) {
125 DCHECK((node_type != TYPE_DATABASE) || database_info); 133 DCHECK((node_type != TYPE_DATABASE) || database_info);
126 DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info); 134 DCHECK((node_type != TYPE_LOCAL_STORAGE) || local_storage_info);
127 DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info); 135 DCHECK((node_type != TYPE_SESSION_STORAGE) || session_storage_info);
128 DCHECK((node_type != TYPE_APPCACHE) || appcache_info); 136 DCHECK((node_type != TYPE_APPCACHE) || appcache_info);
129 DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info); 137 DCHECK((node_type != TYPE_INDEXED_DB) || indexed_db_info);
130 DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info); 138 DCHECK((node_type != TYPE_FILE_SYSTEM) || file_system_info);
139 DCHECK((node_type != TYPE_QUOTA) || quota_info);
131 } 140 }
132 #endif 141 #endif
133 142
134 std::wstring origin; 143 std::wstring origin;
135 NodeType node_type; 144 NodeType node_type;
136 const net::CookieMonster::CanonicalCookie* cookie; 145 const net::CookieMonster::CanonicalCookie* cookie;
137 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info; 146 const BrowsingDataDatabaseHelper::DatabaseInfo* database_info;
138 const BrowsingDataLocalStorageHelper::LocalStorageInfo* local_storage_info; 147 const BrowsingDataLocalStorageHelper::LocalStorageInfo* local_storage_info;
139 const BrowsingDataLocalStorageHelper::LocalStorageInfo* 148 const BrowsingDataLocalStorageHelper::LocalStorageInfo*
140 session_storage_info; 149 session_storage_info;
141 const appcache::AppCacheInfo* appcache_info; 150 const appcache::AppCacheInfo* appcache_info;
142 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info; 151 const BrowsingDataIndexedDBHelper::IndexedDBInfo* indexed_db_info;
143 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info; 152 const BrowsingDataFileSystemHelper::FileSystemInfo* file_system_info;
153 const BrowsingDataQuotaHelper::QuotaInfo* quota_info;
144 }; 154 };
145 155
146 CookieTreeNode() {} 156 CookieTreeNode() {}
147 explicit CookieTreeNode(const string16& title) 157 explicit CookieTreeNode(const string16& title)
148 : ui::TreeNode<CookieTreeNode>(title) {} 158 : ui::TreeNode<CookieTreeNode>(title) {}
149 virtual ~CookieTreeNode() {} 159 virtual ~CookieTreeNode() {}
150 160
151 // Delete backend storage for this node, and any children nodes. (E.g. delete 161 // Delete backend storage for this node, and any children nodes. (E.g. delete
152 // the cookie from CookieMonster, clear the database, and so forth.) 162 // the cookie from CookieMonster, clear the database, and so forth.)
153 virtual void DeleteStoredObjects(); 163 virtual void DeleteStoredObjects();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 virtual DetailedInfo GetDetailedInfo() const; 214 virtual DetailedInfo GetDetailedInfo() const;
205 215
206 // CookieTreeOriginNode methods: 216 // CookieTreeOriginNode methods:
207 CookieTreeCookiesNode* GetOrCreateCookiesNode(); 217 CookieTreeCookiesNode* GetOrCreateCookiesNode();
208 CookieTreeDatabasesNode* GetOrCreateDatabasesNode(); 218 CookieTreeDatabasesNode* GetOrCreateDatabasesNode();
209 CookieTreeLocalStoragesNode* GetOrCreateLocalStoragesNode(); 219 CookieTreeLocalStoragesNode* GetOrCreateLocalStoragesNode();
210 CookieTreeSessionStoragesNode* GetOrCreateSessionStoragesNode(); 220 CookieTreeSessionStoragesNode* GetOrCreateSessionStoragesNode();
211 CookieTreeAppCachesNode* GetOrCreateAppCachesNode(); 221 CookieTreeAppCachesNode* GetOrCreateAppCachesNode();
212 CookieTreeIndexedDBsNode* GetOrCreateIndexedDBsNode(); 222 CookieTreeIndexedDBsNode* GetOrCreateIndexedDBsNode();
213 CookieTreeFileSystemsNode* GetOrCreateFileSystemsNode(); 223 CookieTreeFileSystemsNode* GetOrCreateFileSystemsNode();
224 CookieTreeQuotaNode* UpdateOrCreateQuotaNode(
225 BrowsingDataQuotaHelper::QuotaInfo* quota_info);
214 226
215 // Creates an content exception for this origin of type 227 // Creates an content exception for this origin of type
216 // CONTENT_SETTINGS_TYPE_COOKIES. 228 // CONTENT_SETTINGS_TYPE_COOKIES.
217 void CreateContentException(HostContentSettingsMap* content_settings, 229 void CreateContentException(HostContentSettingsMap* content_settings,
218 ContentSetting setting) const; 230 ContentSetting setting) const;
219 231
220 // True if a content exception can be created for this origin. 232 // True if a content exception can be created for this origin.
221 bool CanCreateContentException() const; 233 bool CanCreateContentException() const;
222 234
223 private: 235 private:
224 // Pointers to the cookies, databases, local and session storage and appcache 236 // Pointers to the cookies, databases, local and session storage and appcache
225 // nodes. When we build up the tree we need to quickly get a reference to 237 // nodes. When we build up the tree we need to quickly get a reference to
226 // the COOKIES node to add children. Checking each child and interrogating 238 // the COOKIES node to add children. Checking each child and interrogating
227 // them to see if they are a COOKIES, APPCACHES, DATABASES etc node seems 239 // them to see if they are a COOKIES, APPCACHES, DATABASES etc node seems
228 // less preferable than storing an extra pointer per origin. 240 // less preferable than storing an extra pointer per origin.
229 CookieTreeCookiesNode* cookies_child_; 241 CookieTreeCookiesNode* cookies_child_;
230 CookieTreeDatabasesNode* databases_child_; 242 CookieTreeDatabasesNode* databases_child_;
231 CookieTreeLocalStoragesNode* local_storages_child_; 243 CookieTreeLocalStoragesNode* local_storages_child_;
232 CookieTreeSessionStoragesNode* session_storages_child_; 244 CookieTreeSessionStoragesNode* session_storages_child_;
233 CookieTreeAppCachesNode* appcaches_child_; 245 CookieTreeAppCachesNode* appcaches_child_;
234 CookieTreeIndexedDBsNode* indexed_dbs_child_; 246 CookieTreeIndexedDBsNode* indexed_dbs_child_;
235 CookieTreeFileSystemsNode* file_systems_child_; 247 CookieTreeFileSystemsNode* file_systems_child_;
248 CookieTreeQuotaNode* quota_child_;
236 249
237 // The URL for which this node was initially created. 250 // The URL for which this node was initially created.
238 GURL url_; 251 GURL url_;
239 252
240 DISALLOW_COPY_AND_ASSIGN(CookieTreeOriginNode); 253 DISALLOW_COPY_AND_ASSIGN(CookieTreeOriginNode);
241 }; 254 };
242 255
243 // CookieTreeCookieNode ------------------------------------------------------ 256 // CookieTreeCookieNode ------------------------------------------------------
244 class CookieTreeCookieNode : public CookieTreeNode { 257 class CookieTreeCookieNode : public CookieTreeNode {
245 public: 258 public:
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 virtual DetailedInfo GetDetailedInfo() const; 504 virtual DetailedInfo GetDetailedInfo() const;
492 505
493 void AddIndexedDBNode(CookieTreeIndexedDBNode* child) { 506 void AddIndexedDBNode(CookieTreeIndexedDBNode* child) {
494 AddChildSortedByTitle(child); 507 AddChildSortedByTitle(child);
495 } 508 }
496 509
497 private: 510 private:
498 DISALLOW_COPY_AND_ASSIGN(CookieTreeIndexedDBsNode); 511 DISALLOW_COPY_AND_ASSIGN(CookieTreeIndexedDBsNode);
499 }; 512 };
500 513
514 // CookieTreeQuotaNode --------------------------------------------------
515 class CookieTreeQuotaNode : public CookieTreeNode {
516 public:
517 // Does not take ownership of quota_info, and quota_info should remain valid
518 // at least as long as the CookieTreeQuotaNode is valid.
519 explicit CookieTreeQuotaNode(BrowsingDataQuotaHelper::QuotaInfo* quota_info);
520 virtual ~CookieTreeQuotaNode();
521
522 virtual void DeleteStoredObjects();
523 virtual DetailedInfo GetDetailedInfo() const;
524
525 private:
526 // quota_info_ is not owned by the node, and is expected to remain valid as
527 // long as the CookieTreeQuotaNode is valid.
528 BrowsingDataQuotaHelper::QuotaInfo* quota_info_;
529
530 DISALLOW_COPY_AND_ASSIGN(CookieTreeQuotaNode);
531 };
501 532
502 // CookiesTreeModel ----------------------------------------------------------- 533 // CookiesTreeModel -----------------------------------------------------------
503 class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> { 534 class CookiesTreeModel : public ui::TreeNodeModel<CookieTreeNode> {
504 public: 535 public:
505 // Because non-cookie nodes are fetched in a background thread, they are not 536 // Because non-cookie nodes are fetched in a background thread, they are not
506 // present at the time the Model is created. The Model then notifies its 537 // present at the time the Model is created. The Model then notifies its
507 // observers for every item added from databases, local storage, and 538 // observers for every item added from databases, local storage, and
508 // appcache. We extend the Observer interface to add notifications before and 539 // appcache. We extend the Observer interface to add notifications before and
509 // after these batch inserts. 540 // after these batch inserts.
510 class Observer : public ui::TreeModelObserver { 541 class Observer : public ui::TreeModelObserver {
511 public: 542 public:
512 virtual void TreeModelBeginBatch(CookiesTreeModel* model) {} 543 virtual void TreeModelBeginBatch(CookiesTreeModel* model) {}
513 virtual void TreeModelEndBatch(CookiesTreeModel* model) {} 544 virtual void TreeModelEndBatch(CookiesTreeModel* model) {}
514 }; 545 };
515 546
516 CookiesTreeModel( 547 CookiesTreeModel(
517 net::CookieMonster* cookie_monster_, 548 net::CookieMonster* cookie_monster_,
518 BrowsingDataDatabaseHelper* database_helper, 549 BrowsingDataDatabaseHelper* database_helper,
519 BrowsingDataLocalStorageHelper* local_storage_helper, 550 BrowsingDataLocalStorageHelper* local_storage_helper,
520 BrowsingDataLocalStorageHelper* session_storage_helper, 551 BrowsingDataLocalStorageHelper* session_storage_helper,
521 BrowsingDataAppCacheHelper* appcache_helper, 552 BrowsingDataAppCacheHelper* appcache_helper,
522 BrowsingDataIndexedDBHelper* indexed_db_helper, 553 BrowsingDataIndexedDBHelper* indexed_db_helper,
523 BrowsingDataFileSystemHelper* file_system_helper, 554 BrowsingDataFileSystemHelper* file_system_helper,
555 BrowsingDataQuotaHelper* quota_helper,
524 bool use_cookie_source); 556 bool use_cookie_source);
525 virtual ~CookiesTreeModel(); 557 virtual ~CookiesTreeModel();
526 558
527 // ui::TreeModel methods: 559 // ui::TreeModel methods:
528 // Returns the set of icons for the nodes in the tree. You only need override 560 // Returns the set of icons for the nodes in the tree. You only need override
529 // this if you don't want to use the default folder icons. 561 // this if you don't want to use the default folder icons.
530 virtual void GetIcons(std::vector<SkBitmap>* icons); 562 virtual void GetIcons(std::vector<SkBitmap>* icons);
531 563
532 // Returns the index of the icon to use for |node|. Return -1 to use the 564 // Returns the index of the icon to use for |node|. Return -1 to use the
533 // default icon. The index is relative to the list of icons returned from 565 // default icon. The index is relative to the list of icons returned from
(...skipping 24 matching lines...) Expand all
558 typedef std::vector<BrowsingDataDatabaseHelper::DatabaseInfo> 590 typedef std::vector<BrowsingDataDatabaseHelper::DatabaseInfo>
559 DatabaseInfoList; 591 DatabaseInfoList;
560 typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo> 592 typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo>
561 LocalStorageInfoList; 593 LocalStorageInfoList;
562 typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo> 594 typedef std::vector<BrowsingDataLocalStorageHelper::LocalStorageInfo>
563 SessionStorageInfoList; 595 SessionStorageInfoList;
564 typedef std::vector<BrowsingDataIndexedDBHelper::IndexedDBInfo> 596 typedef std::vector<BrowsingDataIndexedDBHelper::IndexedDBInfo>
565 IndexedDBInfoList; 597 IndexedDBInfoList;
566 typedef std::vector<BrowsingDataFileSystemHelper::FileSystemInfo> 598 typedef std::vector<BrowsingDataFileSystemHelper::FileSystemInfo>
567 FileSystemInfoList; 599 FileSystemInfoList;
600 typedef std::vector<BrowsingDataQuotaHelper::QuotaInfo> QuotaInfoArray;
568 601
569 void LoadCookies(); 602 void LoadCookies();
570 void LoadCookiesWithFilter(const std::wstring& filter); 603 void LoadCookiesWithFilter(const std::wstring& filter);
571 604
572 void OnAppCacheModelInfoLoaded(); 605 void OnAppCacheModelInfoLoaded();
573 void OnDatabaseModelInfoLoaded(const DatabaseInfoList& database_info); 606 void OnDatabaseModelInfoLoaded(const DatabaseInfoList& database_info);
574 void OnLocalStorageModelInfoLoaded( 607 void OnLocalStorageModelInfoLoaded(
575 const LocalStorageInfoList& local_storage_info); 608 const LocalStorageInfoList& local_storage_info);
576 void OnSessionStorageModelInfoLoaded( 609 void OnSessionStorageModelInfoLoaded(
577 const LocalStorageInfoList& local_storage_info); 610 const LocalStorageInfoList& local_storage_info);
578 void OnIndexedDBModelInfoLoaded( 611 void OnIndexedDBModelInfoLoaded(
579 const IndexedDBInfoList& indexed_db_info); 612 const IndexedDBInfoList& indexed_db_info);
580 void OnFileSystemModelInfoLoaded( 613 void OnFileSystemModelInfoLoaded(
581 const FileSystemInfoList& file_system_info); 614 const FileSystemInfoList& file_system_info);
615 void OnQuotaModelInfoLoaded(const QuotaInfoArray& quota_info);
582 616
583 void PopulateAppCacheInfoWithFilter(const std::wstring& filter); 617 void PopulateAppCacheInfoWithFilter(const std::wstring& filter);
584 void PopulateDatabaseInfoWithFilter(const std::wstring& filter); 618 void PopulateDatabaseInfoWithFilter(const std::wstring& filter);
585 void PopulateLocalStorageInfoWithFilter(const std::wstring& filter); 619 void PopulateLocalStorageInfoWithFilter(const std::wstring& filter);
586 void PopulateSessionStorageInfoWithFilter(const std::wstring& filter); 620 void PopulateSessionStorageInfoWithFilter(const std::wstring& filter);
587 void PopulateIndexedDBInfoWithFilter(const std::wstring& filter); 621 void PopulateIndexedDBInfoWithFilter(const std::wstring& filter);
588 void PopulateFileSystemInfoWithFilter(const std::wstring& filter); 622 void PopulateFileSystemInfoWithFilter(const std::wstring& filter);
623 void PopulateQuotaInfoWithFilter(const std::wstring& filter);
589 624
590 void NotifyObserverBeginBatch(); 625 void NotifyObserverBeginBatch();
591 void NotifyObserverEndBatch(); 626 void NotifyObserverEndBatch();
592 627
593 scoped_refptr<net::CookieMonster> cookie_monster_; 628 scoped_refptr<net::CookieMonster> cookie_monster_;
594 CookieList all_cookies_; 629 CookieList all_cookies_;
595 630
596 scoped_refptr<BrowsingDataAppCacheHelper> appcache_helper_; 631 scoped_refptr<BrowsingDataAppCacheHelper> appcache_helper_;
597 scoped_refptr<BrowsingDataDatabaseHelper> database_helper_; 632 scoped_refptr<BrowsingDataDatabaseHelper> database_helper_;
598 scoped_refptr<appcache::AppCacheInfoCollection> appcache_info_; 633 scoped_refptr<appcache::AppCacheInfoCollection> appcache_info_;
599 DatabaseInfoList database_info_list_; 634 DatabaseInfoList database_info_list_;
600 635
601 scoped_refptr<BrowsingDataLocalStorageHelper> local_storage_helper_; 636 scoped_refptr<BrowsingDataLocalStorageHelper> local_storage_helper_;
602 scoped_refptr<BrowsingDataLocalStorageHelper> session_storage_helper_; 637 scoped_refptr<BrowsingDataLocalStorageHelper> session_storage_helper_;
603 scoped_refptr<BrowsingDataIndexedDBHelper> indexed_db_helper_; 638 scoped_refptr<BrowsingDataIndexedDBHelper> indexed_db_helper_;
604 scoped_refptr<BrowsingDataFileSystemHelper> file_system_helper_; 639 scoped_refptr<BrowsingDataFileSystemHelper> file_system_helper_;
640 scoped_refptr<BrowsingDataQuotaHelper> quota_helper_;
605 LocalStorageInfoList local_storage_info_list_; 641 LocalStorageInfoList local_storage_info_list_;
606 LocalStorageInfoList session_storage_info_list_; 642 LocalStorageInfoList session_storage_info_list_;
607 IndexedDBInfoList indexed_db_info_list_; 643 IndexedDBInfoList indexed_db_info_list_;
608 FileSystemInfoList file_system_info_list_; 644 FileSystemInfoList file_system_info_list_;
645 QuotaInfoArray quota_info_list_;
609 646
610 // The CookiesTreeModel maintains a separate list of observers that are 647 // The CookiesTreeModel maintains a separate list of observers that are
611 // specifically of the type CookiesTreeModel::Observer. 648 // specifically of the type CookiesTreeModel::Observer.
612 ObserverList<Observer> cookies_observer_list_; 649 ObserverList<Observer> cookies_observer_list_;
613 650
614 // If this is non-zero, then this model is batching updates (there's a lot of 651 // If this is non-zero, then this model is batching updates (there's a lot of
615 // notifications coming down the pipe). This is an integer is used to balance 652 // notifications coming down the pipe). This is an integer is used to balance
616 // calls to Begin/EndBatch() if they're called in a nested manner. 653 // calls to Begin/EndBatch() if they're called in a nested manner.
617 int batch_update_; 654 int batch_update_;
618 655
619 // If true, use the CanonicalCookie::Source attribute to group cookies. 656 // If true, use the CanonicalCookie::Source attribute to group cookies.
620 // Otherwise, use the CanonicalCookie::Domain attribute. 657 // Otherwise, use the CanonicalCookie::Domain attribute.
621 bool use_cookie_source_; 658 bool use_cookie_source_;
622 659
623 friend class CookieTreeAppCacheNode; 660 friend class CookieTreeAppCacheNode;
624 friend class CookieTreeCookieNode; 661 friend class CookieTreeCookieNode;
625 friend class CookieTreeDatabaseNode; 662 friend class CookieTreeDatabaseNode;
626 friend class CookieTreeLocalStorageNode; 663 friend class CookieTreeLocalStorageNode;
627 friend class CookieTreeIndexedDBNode; 664 friend class CookieTreeIndexedDBNode;
628 friend class CookieTreeFileSystemNode; 665 friend class CookieTreeFileSystemNode;
666 friend class CookieTreeQuotaNode;
629 667
630 DISALLOW_COPY_AND_ASSIGN(CookiesTreeModel); 668 DISALLOW_COPY_AND_ASSIGN(CookiesTreeModel);
631 }; 669 };
632 670
633 #endif // CHROME_BROWSER_COOKIES_TREE_MODEL_H_ 671 #endif // CHROME_BROWSER_COOKIES_TREE_MODEL_H_
OLDNEW
« no previous file with comments | « chrome/browser/content_settings/tab_specific_content_settings.cc ('k') | chrome/browser/cookies_tree_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698