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

Unified Diff: extensions/browser/value_store/lazy_leveldb.cc

Issue 2965153002: Migrate Extensions code to Task Scheduler API (Closed)
Patch Set: Self review Created 3 years, 5 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: extensions/browser/value_store/lazy_leveldb.cc
diff --git a/extensions/browser/value_store/lazy_leveldb.cc b/extensions/browser/value_store/lazy_leveldb.cc
index ca5501d075f90b056b7d8a160d15dbf76e26d90e..1d972f849111fe28b4ef84ffc92502f9380edcf2 100644
--- a/extensions/browser/value_store/lazy_leveldb.cc
+++ b/extensions/browser/value_store/lazy_leveldb.cc
@@ -8,6 +8,8 @@
#include "base/json/json_reader.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_util.h"
+#include "base/threading/sequenced_task_runner_handle.h"
+#include "base/threading/thread_restrictions.h"
#include "content/public/browser/browser_thread.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/include/leveldb/iterator.h"
@@ -50,7 +52,7 @@ ValueStore::StatusCode LevelDbToValueStoreStatusCode(
}
leveldb::Status DeleteValue(leveldb::DB* db, const std::string& key) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
leveldb::WriteBatch batch;
batch.Delete(key);
@@ -86,13 +88,12 @@ LazyLevelDb::LazyLevelDb(const std::string& uma_client_name,
}
LazyLevelDb::~LazyLevelDb() {
- if (db_ && !BrowserThread::CurrentlyOn(BrowserThread::FILE))
- BrowserThread::DeleteSoon(BrowserThread::FILE, FROM_HERE, db_.release());
+ base::ThreadRestrictions::AssertIOAllowed();
}
ValueStore::Status LazyLevelDb::Read(const std::string& key,
std::unique_ptr<base::Value>* value) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
DCHECK(value);
std::string value_as_json;
@@ -118,7 +119,7 @@ ValueStore::Status LazyLevelDb::Read(const std::string& key,
}
ValueStore::Status LazyLevelDb::Delete(const std::string& key) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
ValueStore::Status status = EnsureDbIsOpen();
if (!status.ok())
@@ -154,7 +155,7 @@ ValueStore::BackingStoreRestoreStatus LazyLevelDb::LogRestoreStatus(
ValueStore::BackingStoreRestoreStatus LazyLevelDb::FixCorruption(
const std::string* key) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
leveldb::Status s;
if (key && db_) {
s = DeleteValue(db_.get(), *key);
@@ -222,7 +223,7 @@ ValueStore::BackingStoreRestoreStatus LazyLevelDb::FixCorruption(
}
ValueStore::Status LazyLevelDb::EnsureDbIsOpen() {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
if (db_)
return ValueStore::Status();
@@ -268,7 +269,7 @@ ValueStore::Status LazyLevelDb::ToValueStoreError(
}
bool LazyLevelDb::DeleteDbFile() {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
db_.reset(); // release any lock on the directory
if (!base::DeleteFile(db_path_, true /* recursive */)) {
LOG(WARNING) << "Failed to delete leveldb database at " << db_path_.value();

Powered by Google App Engine
This is Rietveld 408576698