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

Unified Diff: content/child/indexed_db/webidbdatabase_impl.cc

Issue 2500263003: Port messages sent by WebIDBCursorImpl to Mojo. (Closed)
Patch Set: Address dcheng@'s comments. Created 4 years, 1 month 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: content/child/indexed_db/webidbdatabase_impl.cc
diff --git a/content/child/indexed_db/webidbdatabase_impl.cc b/content/child/indexed_db/webidbdatabase_impl.cc
index 1bbd07af0be1d670db2176b01af656a8574565f7..849c601faf73d9571b2c8afa38f755d8dcdd721d 100644
--- a/content/child/indexed_db/webidbdatabase_impl.cc
+++ b/content/child/indexed_db/webidbdatabase_impl.cc
@@ -13,7 +13,6 @@
#include "content/child/indexed_db/indexed_db_callbacks_impl.h"
#include "content/child/indexed_db/indexed_db_dispatcher.h"
#include "content/child/indexed_db/indexed_db_key_builders.h"
-#include "content/child/thread_safe_sender.h"
#include "content/child/worker_thread_registry.h"
#include "content/common/indexed_db/indexed_db_messages.h"
#include "mojo/public/cpp/bindings/strong_associated_binding.h"
@@ -164,11 +163,8 @@ class WebIDBDatabaseImpl::IOThreadHelper {
WebIDBDatabaseImpl::WebIDBDatabaseImpl(
DatabaseAssociatedPtrInfo database_info,
- scoped_refptr<base::SingleThreadTaskRunner> io_runner,
- scoped_refptr<ThreadSafeSender> thread_safe_sender)
- : helper_(new IOThreadHelper()),
- io_runner_(std::move(io_runner)),
- thread_safe_sender_(std::move(thread_safe_sender)) {
+ scoped_refptr<base::SingleThreadTaskRunner> io_runner)
+ : helper_(new IOThreadHelper()), io_runner_(std::move(io_runner)) {
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::Bind, base::Unretained(helper_),
base::Passed(&database_info)));
@@ -219,11 +215,10 @@ void WebIDBDatabaseImpl::createTransaction(
}
void WebIDBDatabaseImpl::close() {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
std::vector<int32_t> remove_observer_ids(observer_ids_.begin(),
observer_ids_.end());
- dispatcher->RemoveObservers(remove_observer_ids);
+ IndexedDBDispatcher::ThreadSpecificInstance()->RemoveObservers(
+ remove_observer_ids);
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::Close, base::Unretained(helper_)));
}
@@ -237,10 +232,10 @@ void WebIDBDatabaseImpl::versionChangeIgnored() {
int32_t WebIDBDatabaseImpl::addObserver(
std::unique_ptr<WebIDBObserver> observer,
long long transaction_id) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
WebIDBObserver* observer_ptr = observer.get();
- int32_t observer_id = dispatcher->RegisterObserver(std::move(observer));
+ int32_t observer_id =
+ IndexedDBDispatcher::ThreadSpecificInstance()->RegisterObserver(
+ std::move(observer));
observer_ids_.insert(observer_id);
static_assert(blink::WebIDBOperationTypeCount < sizeof(uint16_t) * CHAR_BIT,
"WebIDBOperationType Count exceeds size of uint16_t");
@@ -261,9 +256,8 @@ void WebIDBDatabaseImpl::removeObservers(
for (int32_t id : observer_ids_to_remove)
observer_ids_.erase(id);
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->RemoveObservers(remove_observer_ids);
+ IndexedDBDispatcher::ThreadSpecificInstance()->RemoveObservers(
+ remove_observer_ids);
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::RemoveObservers,
base::Unretained(helper_), remove_observer_ids));
@@ -275,14 +269,11 @@ void WebIDBDatabaseImpl::get(long long transaction_id,
const WebIDBKeyRange& key_range,
bool key_only,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::Get, base::Unretained(helper_),
transaction_id, object_store_id, index_id,
@@ -297,14 +288,11 @@ void WebIDBDatabaseImpl::getAll(long long transaction_id,
long long max_count,
bool key_only,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE,
base::Bind(&IOThreadHelper::GetAll, base::Unretained(helper_),
@@ -334,10 +322,8 @@ void WebIDBDatabaseImpl::put(long long transaction_id,
return;
}
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto mojo_value = indexed_db::mojom::Value::New();
mojo_value->bits.assign(value.data(), value.data() + value.size());
@@ -360,8 +346,7 @@ void WebIDBDatabaseImpl::put(long long transaction_id,
}
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE,
base::Bind(&IOThreadHelper::Put, base::Unretained(helper_),
@@ -404,14 +389,11 @@ void WebIDBDatabaseImpl::openCursor(long long transaction_id,
bool key_only,
blink::WebIDBTaskType task_type,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE,
base::Bind(&IOThreadHelper::OpenCursor, base::Unretained(helper_),
@@ -425,14 +407,11 @@ void WebIDBDatabaseImpl::count(long long transaction_id,
long long index_id,
const WebIDBKeyRange& key_range,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::Count, base::Unretained(helper_),
transaction_id, object_store_id, index_id,
@@ -444,14 +423,11 @@ void WebIDBDatabaseImpl::deleteRange(long long transaction_id,
long long object_store_id,
const WebIDBKeyRange& key_range,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE,
base::Bind(&IOThreadHelper::DeleteRange, base::Unretained(helper_),
@@ -463,14 +439,11 @@ void WebIDBDatabaseImpl::deleteRange(long long transaction_id,
void WebIDBDatabaseImpl::clear(long long transaction_id,
long long object_store_id,
WebIDBCallbacks* callbacks) {
- IndexedDBDispatcher* dispatcher =
- IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get());
- dispatcher->ResetCursorPrefetchCaches(transaction_id,
- IndexedDBDispatcher::kAllCursors);
+ IndexedDBDispatcher::ThreadSpecificInstance()->ResetCursorPrefetchCaches(
+ transaction_id, nullptr);
auto callbacks_impl = base::MakeUnique<IndexedDBCallbacksImpl>(
- base::WrapUnique(callbacks), transaction_id, io_runner_,
- thread_safe_sender_);
+ base::WrapUnique(callbacks), transaction_id, nullptr, io_runner_);
io_runner_->PostTask(
FROM_HERE, base::Bind(&IOThreadHelper::Clear, base::Unretained(helper_),
transaction_id, object_store_id,
« no previous file with comments | « content/child/indexed_db/webidbdatabase_impl.h ('k') | content/child/indexed_db/webidbdatabase_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698