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

Side by Side Diff: webkit/appcache/appcache_database.h

Issue 7031065: AppCache + Quota integration (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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
« no previous file with comments | « no previous file | webkit/appcache/appcache_database.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 WEBKIT_APPCACHE_APPCACHE_DATABASE_H_ 5 #ifndef WEBKIT_APPCACHE_APPCACHE_DATABASE_H_
6 #define WEBKIT_APPCACHE_APPCACHE_DATABASE_H_ 6 #define WEBKIT_APPCACHE_APPCACHE_DATABASE_H_
7 7
8 #include <map>
8 #include <set> 9 #include <set>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/basictypes.h" 12 #include "base/basictypes.h"
12 #include "base/file_path.h" 13 #include "base/file_path.h"
13 #include "base/gtest_prod_util.h" 14 #include "base/gtest_prod_util.h"
14 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
15 #include "base/time.h" 16 #include "base/time.h"
16 #include "googleurl/src/gurl.h" 17 #include "googleurl/src/gurl.h"
17 18
18 namespace sql { 19 namespace sql {
19 class Connection; 20 class Connection;
20 class MetaTable; 21 class MetaTable;
21 class Statement; 22 class Statement;
22 class StatementID; 23 class StatementID;
23 } 24 }
24 25
25 namespace webkit_database {
26 class QuotaTable;
27 }
28
29 namespace appcache { 26 namespace appcache {
30 27
31 class AppCacheDatabase { 28 class AppCacheDatabase {
32 public: 29 public:
33 struct GroupRecord { 30 struct GroupRecord {
34 GroupRecord(); 31 GroupRecord();
35 ~GroupRecord(); 32 ~GroupRecord();
36 33
37 int64 group_id; 34 int64 group_id;
38 GURL origin; 35 GURL origin;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 GURL namespace_url; 76 GURL namespace_url;
80 }; 77 };
81 78
82 explicit AppCacheDatabase(const FilePath& path); 79 explicit AppCacheDatabase(const FilePath& path);
83 ~AppCacheDatabase(); 80 ~AppCacheDatabase();
84 81
85 void CloseConnection(); 82 void CloseConnection();
86 void Disable(); 83 void Disable();
87 bool is_disabled() const { return is_disabled_; } 84 bool is_disabled() const { return is_disabled_; }
88 85
89 int64 GetDefaultOriginQuota() { return 5 * 1024 * 1024; }
90 int64 GetOriginUsage(const GURL& origin); 86 int64 GetOriginUsage(const GURL& origin);
91 int64 GetOriginQuota(const GURL& origin); 87 bool GetAllOriginUsage(std::map<GURL, int64>* usage_map);
92 88
93 bool FindOriginsWithGroups(std::set<GURL>* origins); 89 bool FindOriginsWithGroups(std::set<GURL>* origins);
94 bool FindLastStorageIds( 90 bool FindLastStorageIds(
95 int64* last_group_id, int64* last_cache_id, int64* last_response_id, 91 int64* last_group_id, int64* last_cache_id, int64* last_response_id,
96 int64* last_deletable_response_rowid); 92 int64* last_deletable_response_rowid);
97 93
98 bool FindGroup(int64 group_id, GroupRecord* record); 94 bool FindGroup(int64 group_id, GroupRecord* record);
99 bool FindGroupForManifestUrl(const GURL& manifest_url, GroupRecord* record); 95 bool FindGroupForManifestUrl(const GURL& manifest_url, GroupRecord* record);
100 bool FindGroupsForOrigin( 96 bool FindGroupsForOrigin(
101 const GURL& origin, std::vector<GroupRecord>* records); 97 const GURL& origin, std::vector<GroupRecord>* records);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 void ResetConnectionAndTables(); 187 void ResetConnectionAndTables();
192 188
193 // Deletes the existing database file and the entire directory containing 189 // Deletes the existing database file and the entire directory containing
194 // the database file including the disk cache in which response headers 190 // the database file including the disk cache in which response headers
195 // and bodies are stored, and then creates a new database file. 191 // and bodies are stored, and then creates a new database file.
196 bool DeleteExistingAndCreateNewDatabase(); 192 bool DeleteExistingAndCreateNewDatabase();
197 193
198 FilePath db_file_path_; 194 FilePath db_file_path_;
199 scoped_ptr<sql::Connection> db_; 195 scoped_ptr<sql::Connection> db_;
200 scoped_ptr<sql::MetaTable> meta_table_; 196 scoped_ptr<sql::MetaTable> meta_table_;
201 scoped_ptr<webkit_database::QuotaTable> quota_table_;
202 bool is_disabled_; 197 bool is_disabled_;
203 bool is_recreating_; 198 bool is_recreating_;
204 199
205 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, CacheRecords); 200 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, CacheRecords);
206 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, EntryRecords); 201 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, EntryRecords);
207 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, FallbackNameSpaceRecords); 202 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, FallbackNameSpaceRecords);
208 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, GroupRecords); 203 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, GroupRecords);
209 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, LazyOpen); 204 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, LazyOpen);
210 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, OnlineWhiteListRecords); 205 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, OnlineWhiteListRecords);
211 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, ReCreate); 206 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, ReCreate);
212 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, DeletableResponseIds); 207 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, DeletableResponseIds);
213 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, Quotas); 208 FRIEND_TEST_ALL_PREFIXES(AppCacheDatabaseTest, OriginUsage);
214 209
215 DISALLOW_COPY_AND_ASSIGN(AppCacheDatabase); 210 DISALLOW_COPY_AND_ASSIGN(AppCacheDatabase);
216 }; 211 };
217 212
218 } // namespace appcache 213 } // namespace appcache
219 214
220 #endif // WEBKIT_APPCACHE_APPCACHE_DATABASE_H_ 215 #endif // WEBKIT_APPCACHE_APPCACHE_DATABASE_H_
OLDNEW
« no previous file with comments | « no previous file | webkit/appcache/appcache_database.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698