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

Unified Diff: ipc/ipc_mojo_bootstrap.cc

Issue 2608163003: Change single-interface mojo bindings to use SequencedTaskRunner. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « device/wake_lock/wake_lock_service_context.h ('k') | media/base/android/media_codec_loop.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ipc/ipc_mojo_bootstrap.cc
diff --git a/ipc/ipc_mojo_bootstrap.cc b/ipc/ipc_mojo_bootstrap.cc
index 5c0b1338a6336c43f512b2078e110e5bf3f00102..33788c5f676e98fefdc40130a65142230d0d777d 100644
--- a/ipc/ipc_mojo_bootstrap.cc
+++ b/ipc/ipc_mojo_bootstrap.cc
@@ -193,7 +193,7 @@ class ChannelAssociatedGroupController
mojo::InterfaceEndpointController* AttachEndpointClient(
const mojo::ScopedInterfaceEndpointHandle& handle,
mojo::InterfaceEndpointClient* client,
- scoped_refptr<base::SingleThreadTaskRunner> runner) override {
+ scoped_refptr<base::SequencedTaskRunner> runner) override {
const mojo::InterfaceId id = handle.id();
DCHECK(mojo::IsValidInterfaceId(id));
@@ -277,7 +277,7 @@ class ChannelAssociatedGroupController
disconnect_reason_ = disconnect_reason;
}
- base::SingleThreadTaskRunner* task_runner() const {
+ base::SequencedTaskRunner* task_runner() const {
return task_runner_.get();
}
@@ -287,11 +287,11 @@ class ChannelAssociatedGroupController
}
void AttachClient(mojo::InterfaceEndpointClient* client,
- scoped_refptr<base::SingleThreadTaskRunner> runner) {
+ scoped_refptr<base::SequencedTaskRunner> runner) {
controller_->lock_.AssertAcquired();
DCHECK(!client_);
DCHECK(!closed_);
- DCHECK(runner->BelongsToCurrentThread());
+ DCHECK(runner->RunsTasksOnCurrentThread());
task_runner_ = std::move(runner);
client_ = client;
@@ -300,7 +300,7 @@ class ChannelAssociatedGroupController
void DetachClient() {
controller_->lock_.AssertAcquired();
DCHECK(client_);
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
DCHECK(!closed_);
task_runner_ = nullptr;
@@ -333,20 +333,20 @@ class ChannelAssociatedGroupController
// mojo::InterfaceEndpointController:
bool SendMessage(mojo::Message* message) override {
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
message->set_interface_id(id_);
return controller_->SendMessage(message);
}
void AllowWokenUpBySyncWatchOnSameThread() override {
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
EnsureSyncWatcherExists();
sync_watcher_->AllowWokenUpBySyncWatchOnSameThread();
}
bool SyncWatch(const bool* should_stop) override {
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
// It's not legal to make sync calls from the master endpoint's thread,
// and in fact they must only happen from the proxy task runner.
@@ -369,7 +369,7 @@ class ChannelAssociatedGroupController
}
void OnSyncMessageEventHandleReady(MojoResult result) {
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
scoped_refptr<Endpoint> keepalive(this);
scoped_refptr<AssociatedGroupController> controller_keepalive(
@@ -414,7 +414,7 @@ class ChannelAssociatedGroupController
}
void EnsureSyncWatcherExists() {
- DCHECK(task_runner_->BelongsToCurrentThread());
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (sync_watcher_)
return;
@@ -451,7 +451,7 @@ class ChannelAssociatedGroupController
bool peer_closed_ = false;
base::Optional<mojo::DisconnectReason> disconnect_reason_;
mojo::InterfaceEndpointClient* client_ = nullptr;
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
std::unique_ptr<mojo::SyncHandleWatcher> sync_watcher_;
std::unique_ptr<MojoEvent> sync_message_event_;
std::queue<std::pair<uint32_t, mojo::Message>> sync_messages_;
@@ -559,7 +559,7 @@ class ChannelAssociatedGroupController
void NotifyEndpointOfError(Endpoint* endpoint, bool force_async) {
lock_.AssertAcquired();
DCHECK(endpoint->task_runner() && endpoint->client());
- if (endpoint->task_runner()->BelongsToCurrentThread() && !force_async) {
+ if (endpoint->task_runner()->RunsTasksOnCurrentThread() && !force_async) {
mojo::InterfaceEndpointClient* client = endpoint->client();
base::Optional<mojo::DisconnectReason> reason(
endpoint->disconnect_reason());
@@ -584,7 +584,7 @@ class ChannelAssociatedGroupController
if (!endpoint->client())
return;
- DCHECK(endpoint->task_runner()->BelongsToCurrentThread());
+ DCHECK(endpoint->task_runner()->RunsTasksOnCurrentThread());
NotifyEndpointOfError(endpoint, false /* force_async */);
}
@@ -632,7 +632,7 @@ class ChannelAssociatedGroupController
Endpoint* endpoint = GetEndpointForDispatch(id, true /* create */);
mojo::InterfaceEndpointClient* client =
endpoint ? endpoint->client() : nullptr;
- if (!client || !endpoint->task_runner()->BelongsToCurrentThread()) {
+ if (!client || !endpoint->task_runner()->RunsTasksOnCurrentThread()) {
// No client has been bound yet or the client runs tasks on another
// thread. We assume the other thread must always be the one on which
// |proxy_task_runner_| runs tasks, since that's the only valid scenario.
@@ -686,7 +686,7 @@ class ChannelAssociatedGroupController
if (!client)
return;
- DCHECK(endpoint->task_runner()->BelongsToCurrentThread());
+ DCHECK(endpoint->task_runner()->RunsTasksOnCurrentThread());
// Sync messages should never make their way to this method.
DCHECK(!message.has_flag(mojo::Message::kFlagIsSync));
@@ -710,7 +710,7 @@ class ChannelAssociatedGroupController
if (!endpoint)
return;
- DCHECK(endpoint->task_runner()->BelongsToCurrentThread());
+ DCHECK(endpoint->task_runner()->RunsTasksOnCurrentThread());
mojo::Message message = endpoint->PopSyncMessage(message_id);
// The message must have already been dequeued by the endpoint waking up
« no previous file with comments | « device/wake_lock/wake_lock_service_context.h ('k') | media/base/android/media_codec_loop.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698