| 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
|
|
|