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

Unified Diff: third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp

Issue 2177243002: Use per-frame TaskRunner instead of thread's default in DataConsumerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_consumer_handle_unique_ptr
Patch Set: update Created 4 years, 5 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
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..6cbc11ad804255e01c240f88c58438977780e5f7 100644
--- a/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp
@@ -32,15 +32,16 @@ public:
private:
void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
{
- ASSERT(!m_client);
- ASSERT(!m_reader);
+ DCHECK(client);
+ DCHECK(!m_client);
+ DCHECK(!m_reader);
m_client = client;
// Passing |this| here is safe because |this| owns |m_reader|.
m_reader = handle->obtainFetchDataReader(this);
RefPtr<BlobDataHandle> blobHandle = m_reader->drainAsBlobDataHandle();
if (blobHandle) {
- ASSERT(blobHandle->size() != UINT64_MAX);
+ DCHECK(blobHandle->size() != UINT64_MAX);
m_reader.reset();
if (blobHandle->type() != m_mimeType) {
// A new BlobDataHandle is created to override the Blob's type.
@@ -59,8 +60,8 @@ private:
void didGetReadable() override
{
- ASSERT(m_client);
- ASSERT(m_reader);
+ DCHECK(m_client);
+ DCHECK(m_reader);
while (true) {
const void* buffer;
@@ -96,6 +97,11 @@ private:
}
}
+ WebTaskRunner* getTaskRunner() override
+ {
+ return m_client->getTaskRunner();
+ }
+
void cancel() override
{
m_reader.reset();
@@ -126,9 +132,9 @@ public:
protected:
void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
{
- ASSERT(!m_client);
- ASSERT(!m_rawData);
- ASSERT(!m_reader);
+ DCHECK(!m_client);
+ DCHECK(!m_rawData);
+ DCHECK(!m_reader);
m_client = client;
m_rawData = wrapUnique(new ArrayBufferBuilder());
m_reader = handle->obtainFetchDataReader(this);
@@ -136,9 +142,9 @@ protected:
void didGetReadable() override
{
- ASSERT(m_client);
- ASSERT(m_rawData);
- ASSERT(m_reader);
+ DCHECK(m_client);
+ DCHECK(m_rawData);
+ DCHECK(m_reader);
while (true) {
const void* buffer;
@@ -154,7 +160,7 @@ protected:
error();
return;
}
- ASSERT(bytesAppended == available);
+ DCHECK(bytesAppended == available);
}
m_reader->endRead(available);
break;
@@ -178,6 +184,11 @@ protected:
}
}
+ WebTaskRunner* getTaskRunner() override
+ {
+ return m_client->getTaskRunner();
+ }
+
void error()
{
m_reader.reset();
@@ -215,9 +226,10 @@ public:
protected:
void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
{
- ASSERT(!m_client);
- ASSERT(!m_decoder);
- ASSERT(!m_reader);
+ DCHECK(client);
+ DCHECK(!m_client);
+ DCHECK(!m_decoder);
+ DCHECK(!m_reader);
m_client = client;
m_decoder = TextResourceDecoder::createAlwaysUseUTF8ForText();
m_reader = handle->obtainFetchDataReader(this);
@@ -225,9 +237,9 @@ protected:
void didGetReadable() override
{
- ASSERT(m_client);
- ASSERT(m_decoder);
- ASSERT(m_reader);
+ DCHECK(m_client);
+ DCHECK(m_decoder);
+ DCHECK(m_reader);
while (true) {
const void* buffer;
@@ -262,6 +274,12 @@ protected:
}
}
+ WebTaskRunner* getTaskRunner() override
+ {
+ DCHECK(m_client);
+ return m_client->getTaskRunner();
+ }
+
void error()
{
m_reader.reset();
@@ -304,16 +322,16 @@ public:
protected:
void start(FetchDataConsumerHandle* handle, FetchDataLoader::Client* client) override
{
- ASSERT(!m_client);
- ASSERT(!m_reader);
+ DCHECK(!m_client);
+ DCHECK(!m_reader);
m_client = client;
m_reader = handle->obtainFetchDataReader(this);
}
void didGetReadable() override
{
- ASSERT(m_client);
- ASSERT(m_reader);
+ DCHECK(m_client);
+ DCHECK(m_reader);
bool needToFlush = false;
while (true) {
@@ -359,6 +377,11 @@ protected:
}
}
+ WebTaskRunner* getTaskRunner() override
+ {
+ return m_client->getTaskRunner();
+ }
+
void cancel() override
{
cleanup();

Powered by Google App Engine
This is Rietveld 408576698