Chromium Code Reviews| Index: content/child/web_data_consumer_handle_impl.cc |
| diff --git a/content/child/web_data_consumer_handle_impl.cc b/content/child/web_data_consumer_handle_impl.cc |
| index c111cca36035cb5863d525749d0a6bbf71930bf9..b35a986c3fd3fe3bbfdf576d056d8a3a4752f413 100644 |
| --- a/content/child/web_data_consumer_handle_impl.cc |
| +++ b/content/child/web_data_consumer_handle_impl.cc |
| @@ -13,12 +13,27 @@ |
| #include "base/logging.h" |
| #include "base/macros.h" |
| #include "base/memory/ptr_util.h" |
| +#include "components/scheduler/child/web_task_runner_impl.h" |
| #include "mojo/public/c/system/types.h" |
| namespace content { |
| using Result = blink::WebDataConsumerHandle::Result; |
| +namespace { |
| + |
| +scoped_refptr<base::SingleThreadTaskRunner> |
| +GetTaskRunnerForDataConsumerHandleClient( |
| + blink::WebDataConsumerHandle::Client* client) { |
| + blink::WebTaskRunner* task_runner = |
| + client ? client->getTaskRunner() : nullptr; |
| + if (task_runner) |
| + return scheduler::WebTaskRunnerImpl::GetBaseTaskRunner(*task_runner); |
| + return base::ThreadTaskRunnerHandle::Get(); |
|
kinuko
2016/07/28 15:41:31
ditto.
|
| +} |
| + |
| +} // namespace |
| + |
| class WebDataConsumerHandleImpl::Context |
| : public base::RefCountedThreadSafe<Context> { |
| public: |
| @@ -37,7 +52,9 @@ class WebDataConsumerHandleImpl::Context |
| WebDataConsumerHandleImpl::ReaderImpl::ReaderImpl( |
| scoped_refptr<Context> context, |
| Client* client) |
| - : context_(context), client_(client) { |
| + : context_(context), |
| + handle_watcher_(GetTaskRunnerForDataConsumerHandleClient(client)), |
| + client_(client) { |
| if (client_) |
| StartWatching(); |
| } |