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

Unified Diff: webkit/database/database_connections.cc

Issue 7001014: More Quota WebSQLDatabase integration. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' 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
« no previous file with comments | « webkit/database/database_connections.h ('k') | webkit/database/database_connections_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/database/database_connections.cc
===================================================================
--- webkit/database/database_connections.cc (revision 85361)
+++ webkit/database/database_connections.cc (working copy)
@@ -40,7 +40,7 @@
void DatabaseConnections::AddConnection(const string16& origin_identifier,
const string16& database_name) {
- connections_[origin_identifier][database_name]++;
+ connections_[origin_identifier][database_name].first++;
}
void DatabaseConnections::RemoveConnection(const string16& origin_identifier,
@@ -62,13 +62,43 @@
const DBConnections& db_connections = origin_it->second;
for (DBConnections::const_iterator db_it = db_connections.begin();
db_it != db_connections.end(); db_it++) {
- RemoveConnectionsHelper(origin_it->first, db_it->first, db_it->second);
+ RemoveConnectionsHelper(origin_it->first, db_it->first,
+ db_it->second.first);
if (!IsDatabaseOpened(origin_it->first, db_it->first))
closed_dbs->push_back(std::make_pair(origin_it->first, db_it->first));
}
}
}
+int64 DatabaseConnections::GetOpenDatabaseSize(
+ const string16& origin_identifier,
+ const string16& database_name) const {
+ DCHECK(IsDatabaseOpened(origin_identifier, database_name));
+ return connections_[origin_identifier][database_name].second;
+}
+
+void DatabaseConnections::SetOpenDatabaseSize(
+ const string16& origin_identifier,
+ const string16& database_name,
+ int64 size) {
+ DCHECK(IsDatabaseOpened(origin_identifier, database_name));
+ connections_[origin_identifier][database_name].second = size;
+}
+
+void DatabaseConnections::ListConnections(
+ std::vector<std::pair<string16, string16> > *list) const {
+ for (OriginConnections::const_iterator origin_it =
+ connections_.begin();
+ origin_it != connections_.end();
+ origin_it++) {
+ const DBConnections& db_connections = origin_it->second;
+ for (DBConnections::const_iterator db_it = db_connections.begin();
+ db_it != db_connections.end(); db_it++) {
+ list->push_back(std::make_pair(origin_it->first, db_it->first));
+ }
+ }
+}
+
void DatabaseConnections::RemoveConnectionsHelper(
const string16& origin_identifier,
const string16& database_name,
@@ -77,7 +107,7 @@
connections_.find(origin_identifier);
DCHECK(origin_iterator != connections_.end());
DBConnections& db_connections = origin_iterator->second;
- int& count = db_connections[database_name];
+ int& count = db_connections[database_name].first;
DCHECK(count >= num_connections);
count -= num_connections;
if (!count) {
« no previous file with comments | « webkit/database/database_connections.h ('k') | webkit/database/database_connections_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698