| Index: third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
|
| diff --git a/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp b/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
|
| index 5a491d0024a46831b54bb985e05494a72e98b335..8a0a2bf04efeee49cdc687618dd45f2057e12ec1 100644
|
| --- a/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
|
| +++ b/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
|
| @@ -5,11 +5,13 @@
|
| #include "modules/fetch/FetchDataLoader.h"
|
|
|
| #include "core/html/parser/TextResourceDecoder.h"
|
| +#include "public/platform/WebTaskRunner.h"
|
| #include "wtf/PtrUtil.h"
|
| #include "wtf/text/StringBuilder.h"
|
| #include "wtf/text/WTFString.h"
|
| #include "wtf/typed_arrays/ArrayBufferBuilder.h"
|
| #include <memory>
|
| +#include <utility>
|
|
|
| namespace blink {
|
|
|
| @@ -30,14 +32,14 @@ public:
|
| }
|
|
|
| private:
|
| - void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
|
| + void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client, std::unique_ptr<WebTaskRunner> readerTaskRunner) override
|
| {
|
| ASSERT(!m_client);
|
| ASSERT(!m_reader);
|
|
|
| m_client = client;
|
| // Passing |this| here is safe because |this| owns |m_reader|.
|
| - m_reader = handle->obtainFetchDataReader(this);
|
| + m_reader = handle->obtainFetchDataReader(this, std::move(readerTaskRunner));
|
| RefPtr<BlobDataHandle> blobHandle = m_reader->drainAsBlobDataHandle();
|
| if (blobHandle) {
|
| ASSERT(blobHandle->size() != UINT64_MAX);
|
| @@ -124,14 +126,14 @@ public:
|
| }
|
|
|
| protected:
|
| - void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
|
| + void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client, std::unique_ptr<WebTaskRunner> readerTaskRunner) override
|
| {
|
| ASSERT(!m_client);
|
| ASSERT(!m_rawData);
|
| ASSERT(!m_reader);
|
| m_client = client;
|
| m_rawData = wrapUnique(new ArrayBufferBuilder());
|
| - m_reader = handle->obtainFetchDataReader(this);
|
| + m_reader = handle->obtainFetchDataReader(this, std::move(readerTaskRunner));
|
| }
|
|
|
| void didGetReadable() override
|
| @@ -213,14 +215,14 @@ public:
|
| }
|
|
|
| protected:
|
| - void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
|
| + void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client, std::unique_ptr<WebTaskRunner> readerTaskRunner) override
|
| {
|
| ASSERT(!m_client);
|
| ASSERT(!m_decoder);
|
| ASSERT(!m_reader);
|
| m_client = client;
|
| m_decoder = TextResourceDecoder::createAlwaysUseUTF8ForText();
|
| - m_reader = handle->obtainFetchDataReader(this);
|
| + m_reader = handle->obtainFetchDataReader(this, std::move(readerTaskRunner));
|
| }
|
|
|
| void didGetReadable() override
|
| @@ -302,12 +304,12 @@ public:
|
| }
|
|
|
| protected:
|
| - void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
|
| + void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client, std::unique_ptr<WebTaskRunner> readerTaskRunner) override
|
| {
|
| ASSERT(!m_client);
|
| ASSERT(!m_reader);
|
| m_client = client;
|
| - m_reader = handle->obtainFetchDataReader(this);
|
| + m_reader = handle->obtainFetchDataReader(this, std::move(readerTaskRunner));
|
| }
|
|
|
| void didGetReadable() override
|
|
|