summaryrefslogtreecommitdiffstats
path: root/webkit/database
diff options
context:
space:
mode:
authormaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 01:34:14 +0000
committermaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 01:34:14 +0000
commit687c5ac1a02ba5b75150713ac3c70cf5875d6273 (patch)
tree4b361de9329d354aac5aa358f2b075098ebde049 /webkit/database
parent4f3edf1d4231f09d486adbb56172ac6391589236 (diff)
downloadchromium_src-687c5ac1a02ba5b75150713ac3c70cf5875d6273.zip
chromium_src-687c5ac1a02ba5b75150713ac3c70cf5875d6273.tar.gz
chromium_src-687c5ac1a02ba5b75150713ac3c70cf5875d6273.tar.bz2
Reverts 42520 and 42477. It back red again when adding this change back.
TEST=valgrind test: unit should turn green BUG=38398 BUG=39177 Review URL: http://codereview.chromium.org/1313003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42569 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/database')
-rw-r--r--webkit/database/database_tracker.cc60
-rw-r--r--webkit/database/database_tracker.h10
2 files changed, 10 insertions, 60 deletions
diff --git a/webkit/database/database_tracker.cc b/webkit/database/database_tracker.cc
index ea1994e..bc7dd47 100644
--- a/webkit/database/database_tracker.cc
+++ b/webkit/database/database_tracker.cc
@@ -420,22 +420,6 @@ void DatabaseTracker::ScheduleDatabaseForDeletion(
origin_identifier, database_name));
}
-void DatabaseTracker::ScheduleDatabasesForDeletion(
- const DatabaseSet& databases,
- net::CompletionCallback* callback) {
- DCHECK(!callback ||
- deletion_callbacks_.find(callback) == deletion_callbacks_.end());
- DCHECK(!databases.empty());
- if (callback)
- deletion_callbacks_[callback] = databases;
- for (DatabaseSet::const_iterator ori = databases.begin();
- ori != databases.end(); ++ori) {
- for (std::set<string16>::const_iterator db = ori->second.begin();
- db != ori->second.end(); ++db)
- ScheduleDatabaseForDeletion(ori->first, *db);
- }
-}
-
int DatabaseTracker::DeleteDatabase(const string16& origin_identifier,
const string16& database_name,
net::CompletionCallback* callback) {
@@ -493,42 +477,18 @@ int DatabaseTracker::DeleteDataModifiedSince(
}
}
- if (rv != net::OK)
- return rv;
-
- if (!to_be_deleted.empty()) {
- ScheduleDatabasesForDeletion(to_be_deleted, callback);
- return net::ERR_IO_PENDING;
- }
- return net::OK;
-}
-
-int DatabaseTracker::DeleteDataForOrigin(const string16& origin,
- net::CompletionCallback* callback) {
- if (!LazyInit())
- return net::ERR_FAILED;
-
- DCHECK(!callback ||
- deletion_callbacks_.find(callback) == deletion_callbacks_.end());
- DatabaseSet to_be_deleted;
-
- std::vector<DatabaseDetails> details;
- if (!databases_table_->GetAllDatabaseDetailsForOrigin(origin, &details))
- return net::ERR_FAILED;
- for (std::vector<DatabaseDetails>::const_iterator db = details.begin();
- db != details.end(); ++db) {
- // Check if the database is opened by any renderer.
- if (database_connections_.IsDatabaseOpened(origin, db->database_name))
- to_be_deleted[origin].insert(db->database_name);
- else
- DeleteClosedDatabase(origin, db->database_name);
- }
-
if (!to_be_deleted.empty()) {
- ScheduleDatabasesForDeletion(to_be_deleted, callback);
- return net::ERR_IO_PENDING;
+ if (callback)
+ deletion_callbacks_[callback] = to_be_deleted;
+ for (DatabaseSet::iterator ori = to_be_deleted.begin();
+ ori != to_be_deleted.end(); ++ori) {
+ for (std::set<string16>::iterator db = ori->second.begin();
+ db != ori->second.end(); ++db)
+ ScheduleDatabaseForDeletion(ori->first, *db);
+ }
+ rv = net::ERR_IO_PENDING;
}
- return net::OK;
+ return rv;
}
// static
diff --git a/webkit/database/database_tracker.h b/webkit/database/database_tracker.h
index d1d5a43..90c9ebc 100644
--- a/webkit/database/database_tracker.h
+++ b/webkit/database/database_tracker.h
@@ -148,12 +148,6 @@ class DatabaseTracker
int DeleteDataModifiedSince(const base::Time& cutoff,
net::CompletionCallback* callback);
- // Delete all databases that belong to the given origin. Returns net::OK on
- // success, net::FAILED if not all databases could be deleted, and
- // net::ERR_IO_PENDING and |callback| is invoked upon completion, if non-NULL.
- int DeleteDataForOrigin(const string16& origin_identifier,
- net::CompletionCallback* callback);
-
static void ClearLocalState(const FilePath& profile_path);
private:
@@ -207,10 +201,6 @@ class DatabaseTracker
const string16& database_name);
void ScheduleDatabaseForDeletion(const string16& origin_identifier,
const string16& database_name);
- // Schedule a set of open databases for deletion. If non-null, callback is
- // invoked upon completion.
- void ScheduleDatabasesForDeletion(const DatabaseSet& databases,
- net::CompletionCallback* callback);
bool initialized_;
const FilePath db_dir_;