diff options
Diffstat (limited to 'content/browser/service_worker/service_worker_database.cc')
-rw-r--r-- | content/browser/service_worker/service_worker_database.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/content/browser/service_worker/service_worker_database.cc b/content/browser/service_worker/service_worker_database.cc index f4da827..1058acc 100644 --- a/content/browser/service_worker/service_worker_database.cc +++ b/content/browser/service_worker/service_worker_database.cc @@ -720,6 +720,13 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::DeleteAllDataForOrigin( return WriteBatch(&batch); } +ServiceWorkerDatabase::Status ServiceWorkerDatabase::DestroyDatabase() { + DCHECK(sequence_checker_.CalledOnValidSequencedThread()); + Disable(FROM_HERE, STATUS_OK); + return LevelDBStatusToStatus( + leveldb::DestroyDB(path_.AsUTF8Unsafe(), leveldb::Options())); +} + ServiceWorkerDatabase::Status ServiceWorkerDatabase::LazyOpen( bool create_if_missing) { DCHECK(sequence_checker_.CalledOnValidSequencedThread()); @@ -1064,9 +1071,11 @@ bool ServiceWorkerDatabase::IsOpen() { void ServiceWorkerDatabase::Disable( const tracked_objects::Location& from_here, Status status) { - DLOG(ERROR) << "Failed at: " << from_here.ToString() - << " with error: " << StatusToString(status); - DLOG(ERROR) << "ServiceWorkerDatabase is disabled."; + if (status != STATUS_OK) { + DLOG(ERROR) << "Failed at: " << from_here.ToString() + << " with error: " << StatusToString(status); + DLOG(ERROR) << "ServiceWorkerDatabase is disabled."; + } state_ = DISABLED; db_.reset(); } |