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

Unified Diff: webkit/database/database_connections.cc

Issue 7056025: More WebSQLDatabase and QuotaManager 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
Index: webkit/database/database_connections.cc
===================================================================
--- webkit/database/database_connections.cc (revision 86348)
+++ webkit/database/database_connections.cc (working copy)
@@ -38,14 +38,15 @@
return (connections_.find(origin_identifier) != connections_.end());
}
-void DatabaseConnections::AddConnection(const string16& origin_identifier,
+bool DatabaseConnections::AddConnection(const string16& origin_identifier,
const string16& database_name) {
- connections_[origin_identifier][database_name].first++;
+ int& count = connections_[origin_identifier][database_name].first;
+ return ++count == 1;
kinuko 2011/05/24 05:31:36 nit: extra space between return and ++count
michaeln 2011/05/25 01:28:06 Done.
}
-void DatabaseConnections::RemoveConnection(const string16& origin_identifier,
+bool DatabaseConnections::RemoveConnection(const string16& origin_identifier,
const string16& database_name) {
- RemoveConnectionsHelper(origin_identifier, database_name, 1);
+ return RemoveConnectionsHelper(origin_identifier, database_name, 1);
}
void DatabaseConnections::RemoveAllConnections() {
@@ -62,9 +63,8 @@
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.first);
- if (!IsDatabaseOpened(origin_it->first, db_it->first))
+ if (RemoveConnectionsHelper(origin_it->first, db_it->first,
+ db_it->second.first))
closed_dbs->push_back(std::make_pair(origin_it->first, db_it->first));
}
}
@@ -99,7 +99,7 @@
}
}
-void DatabaseConnections::RemoveConnectionsHelper(
+bool DatabaseConnections::RemoveConnectionsHelper(
const string16& origin_identifier,
const string16& database_name,
int num_connections) {
@@ -110,11 +110,12 @@
int& count = db_connections[database_name].first;
DCHECK(count >= num_connections);
count -= num_connections;
- if (!count) {
- db_connections.erase(database_name);
- if (db_connections.empty())
- connections_.erase(origin_iterator);
- }
+ if (count)
+ return false;
+ db_connections.erase(database_name);
+ if (db_connections.empty())
+ connections_.erase(origin_iterator);
+ return true;
}
DatabaseConnectionsWrapper::DatabaseConnectionsWrapper()

Powered by Google App Engine
This is Rietveld 408576698