summaryrefslogtreecommitdiff
path: root/chromium/components/ntp_snippets/remote/remote_suggestions_database.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/ntp_snippets/remote/remote_suggestions_database.cc')
-rw-r--r--chromium/components/ntp_snippets/remote/remote_suggestions_database.cc29
1 files changed, 16 insertions, 13 deletions
diff --git a/chromium/components/ntp_snippets/remote/remote_suggestions_database.cc b/chromium/components/ntp_snippets/remote/remote_suggestions_database.cc
index 82b42d60b8b..25b3c06b423 100644
--- a/chromium/components/ntp_snippets/remote/remote_suggestions_database.cc
+++ b/chromium/components/ntp_snippets/remote/remote_suggestions_database.cc
@@ -8,9 +8,11 @@
#include "base/files/file_path.h"
#include "base/memory/ptr_util.h"
+#include "base/task_scheduler/post_task.h"
#include "components/leveldb_proto/proto_database_impl.h"
#include "components/ntp_snippets/remote/proto/ntp_snippets.pb.h"
+using leveldb_env::SharedReadCache;
using leveldb_proto::ProtoDatabaseImpl;
namespace {
@@ -24,36 +26,37 @@ const char kImageDatabaseUMAClientName[] = "NTPSnippetImages";
const char kSnippetDatabaseFolder[] = "snippets";
const char kImageDatabaseFolder[] = "images";
-const size_t kSuggestionDatabaseReadCacheSizeBytes = 512 << 10;
-const size_t kImageDatabaseReadCacheSizeBytes = 2 << 20;
-
const size_t kDatabaseWriteBufferSizeBytes = 512 << 10;
} // namespace
namespace ntp_snippets {
RemoteSuggestionsDatabase::RemoteSuggestionsDatabase(
- const base::FilePath& database_dir,
- scoped_refptr<base::SequencedTaskRunner> file_task_runner)
- : database_(new ProtoDatabaseImpl<SnippetProto>(file_task_runner)),
- database_initialized_(false),
- image_database_(
- new ProtoDatabaseImpl<SnippetImageProto>(file_task_runner)),
+ const base::FilePath& database_dir)
+ : database_initialized_(false),
image_database_initialized_(false),
weak_ptr_factory_(this) {
+ auto file_task_runner = base::CreateSequencedTaskRunnerWithTraits(
+ {base::MayBlock(), base::TaskPriority::BACKGROUND,
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN});
+ database_ =
+ base::MakeUnique<ProtoDatabaseImpl<SnippetProto>>(file_task_runner);
+ image_database_ =
+ base::MakeUnique<ProtoDatabaseImpl<SnippetImageProto>>(file_task_runner);
+
base::FilePath snippet_dir = database_dir.AppendASCII(kSnippetDatabaseFolder);
database_->InitWithOptions(
kDatabaseUMAClientName,
- leveldb_proto::Options(snippet_dir, kDatabaseWriteBufferSizeBytes,
- kSuggestionDatabaseReadCacheSizeBytes),
+ leveldb_proto::Options(snippet_dir, SharedReadCache::Default,
+ kDatabaseWriteBufferSizeBytes),
base::Bind(&RemoteSuggestionsDatabase::OnDatabaseInited,
weak_ptr_factory_.GetWeakPtr()));
base::FilePath image_dir = database_dir.AppendASCII(kImageDatabaseFolder);
image_database_->InitWithOptions(
kImageDatabaseUMAClientName,
- leveldb_proto::Options(image_dir, kDatabaseWriteBufferSizeBytes,
- kImageDatabaseReadCacheSizeBytes),
+ leveldb_proto::Options(image_dir, SharedReadCache::Default,
+ kDatabaseWriteBufferSizeBytes),
base::Bind(&RemoteSuggestionsDatabase::OnImageDatabaseInited,
weak_ptr_factory_.GetWeakPtr()));
}