| Index: content/child/shared_memory_data_consumer_handle.cc
|
| diff --git a/content/child/shared_memory_data_consumer_handle.cc b/content/child/shared_memory_data_consumer_handle.cc
|
| index 3c9b7a26ff8e65e81374fbc3a9524c8323ac5d96..ba5e2cec2973ecb7853a545e46583a551cccd5b1 100644
|
| --- a/content/child/shared_memory_data_consumer_handle.cc
|
| +++ b/content/child/shared_memory_data_consumer_handle.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/synchronization/lock.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| +#include "components/scheduler/child/web_task_runner_impl.h"
|
| #include "content/public/child/fixed_received_data.h"
|
|
|
| namespace content {
|
| @@ -119,7 +120,15 @@ class SharedMemoryDataConsumerHandle::Context final
|
| lock_.AssertAcquired();
|
| DCHECK(!notification_task_runner_);
|
| DCHECK(!client_);
|
| - notification_task_runner_ = base::ThreadTaskRunnerHandle::Get();
|
| +
|
| + blink::WebTaskRunner* task_runner =
|
| + client ? client->getTaskRunner() : nullptr;
|
| + if (task_runner) {
|
| + notification_task_runner_ =
|
| + scheduler::WebTaskRunnerImpl::GetBaseTaskRunner(*task_runner);
|
| + } else {
|
| + notification_task_runner_ = base::ThreadTaskRunnerHandle::Get();
|
| + }
|
| client_ = client;
|
| if (client && !(IsEmpty() && result() == Ok)) {
|
| // We cannot notify synchronously because the user doesn't have the reader
|
|
|