Index: Source/modules/fetch/Body.cpp |
diff --git a/Source/modules/fetch/Body.cpp b/Source/modules/fetch/Body.cpp |
index 3d2b1cdfb4a0722f35a48d56d4693ca4a4035e87..9b2be15d6fd4ad94c1e59823a9535aa9870f398b 100644 |
--- a/Source/modules/fetch/Body.cpp |
+++ b/Source/modules/fetch/Body.cpp |
@@ -113,8 +113,8 @@ public: |
} |
// Take back the data in |m_stream|. |
Deque<std::pair<RefPtr<DOMArrayBuffer>, size_t>> tmp_queue; |
- if (m_stream->state() == ReadableStream::Readable) |
- m_stream->read(tmp_queue); |
+ if (m_stream->stateInternal() == ReadableStream::Readable) |
+ m_stream->readInternal(tmp_queue); |
*dataLost = m_queueCount != tmp_queue.size(); |
while (!tmp_queue.isEmpty()) { |
std::pair<RefPtr<DOMArrayBuffer>, size_t> data = tmp_queue.takeFirst(); |
@@ -377,9 +377,11 @@ void Body::stop() |
bool Body::hasPendingActivity() const |
{ |
+ if (executionContext()->activeDOMObjectsAreStopped()) |
+ return false; |
if (m_resolver) |
return true; |
- if (m_stream && (m_stream->state() == ReadableStream::Readable || m_stream->state() == ReadableStream::Waiting)) |
+ if (m_stream && m_stream->hasPendingActivity()) |
return true; |
return false; |
} |