OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "modules/fetch/BodyStreamBuffer.h" | 5 #include "modules/fetch/BodyStreamBuffer.h" |
6 | 6 |
7 #include "core/dom/DOMArrayBuffer.h" | 7 #include "core/dom/DOMArrayBuffer.h" |
8 #include "core/dom/DOMTypedArray.h" | 8 #include "core/dom/DOMTypedArray.h" |
9 #include "core/dom/ExceptionCode.h" | 9 #include "core/dom/ExceptionCode.h" |
10 #include "modules/fetch/DataConsumerHandleUtil.h" | 10 #include "modules/fetch/DataConsumerHandleUtil.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 Member<BodyStreamBuffer> m_buffer; | 72 Member<BodyStreamBuffer> m_buffer; |
73 Member<FetchDataLoader::Client> m_client; | 73 Member<FetchDataLoader::Client> m_client; |
74 }; | 74 }; |
75 | 75 |
76 BodyStreamBuffer::BodyStreamBuffer(PassOwnPtr<FetchDataConsumerHandle> handle) | 76 BodyStreamBuffer::BodyStreamBuffer(PassOwnPtr<FetchDataConsumerHandle> handle) |
77 : m_handle(handle) | 77 : m_handle(handle) |
78 , m_reader(m_handle->obtainReader(this)) | 78 , m_reader(m_handle->obtainReader(this)) |
79 , m_stream(new ReadableByteStream(this, new ReadableByteStream::StrictStrate
gy)) | 79 , m_stream(new ReadableByteStream(this, new ReadableByteStream::StrictStrate
gy)) |
80 , m_streamNeedsMore(false) | 80 , m_streamNeedsMore(false) |
81 { | 81 { |
| 82 ThreadState::current()->registerPreFinalizer(this); |
82 m_stream->didSourceStart(); | 83 m_stream->didSourceStart(); |
83 } | 84 } |
84 | 85 |
85 PassRefPtr<BlobDataHandle> BodyStreamBuffer::drainAsBlobDataHandle(FetchDataCons
umerHandle::Reader::BlobSizePolicy policy) | 86 PassRefPtr<BlobDataHandle> BodyStreamBuffer::drainAsBlobDataHandle(FetchDataCons
umerHandle::Reader::BlobSizePolicy policy) |
86 { | 87 { |
87 ASSERT(!stream()->isLocked()); | 88 ASSERT(!stream()->isLocked()); |
88 m_stream->setIsDisturbed(); | 89 m_stream->setIsDisturbed(); |
89 if (ReadableStream::Closed == m_stream->stateInternal() || ReadableStream::E
rrored == m_stream->stateInternal()) | 90 if (ReadableStream::Closed == m_stream->stateInternal() || ReadableStream::E
rrored == m_stream->stateInternal()) |
90 return nullptr; | 91 return nullptr; |
91 | 92 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 | 242 |
242 void BodyStreamBuffer::stopLoading() | 243 void BodyStreamBuffer::stopLoading() |
243 { | 244 { |
244 if (!m_loader) | 245 if (!m_loader) |
245 return; | 246 return; |
246 m_loader->cancel(); | 247 m_loader->cancel(); |
247 m_loader = nullptr; | 248 m_loader = nullptr; |
248 } | 249 } |
249 | 250 |
250 } // namespace blink | 251 } // namespace blink |
OLD | NEW |