| Index: Source/core/xmlhttprequest/XMLHttpRequest.cpp
|
| diff --git a/Source/core/xmlhttprequest/XMLHttpRequest.cpp b/Source/core/xmlhttprequest/XMLHttpRequest.cpp
|
| index 593ed137e5750c15286639446f3a1241baa2db40..da958dde17562d0f17df1f7dcf36ffb66690d442 100644
|
| --- a/Source/core/xmlhttprequest/XMLHttpRequest.cpp
|
| +++ b/Source/core/xmlhttprequest/XMLHttpRequest.cpp
|
| @@ -160,7 +160,7 @@
|
| enqueueToStreamFromHandle();
|
| }
|
|
|
| - void startStream(ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer>>* stream)
|
| + void startStream(ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer> >* stream)
|
| {
|
| m_stream = stream;
|
| stream->didSourceStart();
|
| @@ -1593,7 +1593,7 @@
|
| ASSERT(!m_responseStream);
|
| ASSERT(!m_responseStreamSource);
|
| m_responseStreamSource = new ReadableStreamSource(this, handle);
|
| - m_responseStream = new ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer>>(executionContext(), m_responseStreamSource);
|
| + m_responseStream = new ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer> >(executionContext(), m_responseStreamSource);
|
| m_responseStreamSource->startStream(m_responseStream);
|
|
|
| // This protection seems needed to keep |this| alive after changeState
|
| @@ -1693,7 +1693,7 @@
|
| if (!m_responseStream) {
|
| ASSERT(!m_responseStreamSource);
|
| m_responseStreamSource = new ReadableStreamSource(this, nullptr);
|
| - m_responseStream = new ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer>>(executionContext(), m_responseStreamSource);
|
| + m_responseStream = new ReadableStreamImpl<ReadableStreamChunkTypeTraits<DOMArrayBuffer> >(executionContext(), m_responseStreamSource);
|
| m_responseStreamSource->startStream(m_responseStream);
|
| }
|
| m_responseStreamSource->didReceiveData(data, len);
|
| @@ -1773,7 +1773,7 @@
|
| // DocumentParserClient callbacks may be called.
|
| if (m_loader || m_responseDocumentParser)
|
| return true;
|
| - if (m_responseStream && m_responseStream->hasPendingActivity())
|
| + if (m_responseStream && (m_responseStream->state() == ReadableStream::Readable || m_responseStream->state() == ReadableStream::Waiting))
|
| return true;
|
| return false;
|
| }
|
|
|