diff options
Diffstat (limited to 'chromium/components/ntp_snippets/remote/remote_suggestions_database.cc')
-rw-r--r-- | chromium/components/ntp_snippets/remote/remote_suggestions_database.cc | 29 |
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())); } |