diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h | 51 |
1 files changed, 3 insertions, 48 deletions
diff --git a/chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h b/chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h index 674305347a3..579273980ce 100644 --- a/chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h +++ b/chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h @@ -8,28 +8,17 @@ #include <memory> #include "base/memory/scoped_refptr.h" #include "third_party/blink/renderer/core/core_export.h" -#include "third_party/blink/renderer/core/dom/context_lifecycle_observer.h" #include "third_party/blink/renderer/core/fetch/bytes_consumer.h" -#include "third_party/blink/renderer/core/loader/threadable_loader_client.h" #include "third_party/blink/renderer/platform/heap/handle.h" namespace blink { class BlobDataHandle; -class EncodedFormData; class ExecutionContext; -class ThreadableLoader; -class WebDataConsumerHandle; // A BlobBytesConsumer is created from a blob handle and it will // return a valid handle from drainAsBlobDataHandle as much as possible. -class CORE_EXPORT BlobBytesConsumer final : public BytesConsumer, - public ContextLifecycleObserver, - public BytesConsumer::Client, - public ThreadableLoaderClient { - USING_GARBAGE_COLLECTED_MIXIN(BlobBytesConsumer); - USING_PRE_FINALIZER(BlobBytesConsumer, Cancel); - +class CORE_EXPORT BlobBytesConsumer final : public BytesConsumer { public: // |handle| can be null. In that case this consumer gets closed. BlobBytesConsumer(ExecutionContext*, @@ -48,47 +37,13 @@ class CORE_EXPORT BlobBytesConsumer final : public BytesConsumer, Error GetError() const override; String DebugName() const override { return "BlobBytesConsumer"; } - // ContextLifecycleObserver implementation - void ContextDestroyed(ExecutionContext*) override; - - // BytesConsumer::Client implementation - void OnStateChange() override; - - // ThreadableLoaderClient implementation - void DidReceiveResponse(unsigned long identifier, - const ResourceResponse&, - std::unique_ptr<WebDataConsumerHandle>) override; - void DidFinishLoading(unsigned long identifier) override; - void DidFail(const ResourceError&) override; - void DidFailRedirectCheck() override; - void Trace(blink::Visitor*) override; - static BlobBytesConsumer* CreateForTesting(ExecutionContext*, - scoped_refptr<BlobDataHandle>, - ThreadableLoader*); - private: - BlobBytesConsumer(ExecutionContext*, - scoped_refptr<BlobDataHandle>, - ThreadableLoader*); - ThreadableLoader* CreateLoader(); - void DidFailInternal(); - bool IsClean() const { return blob_data_handle_.get(); } - void Close(); - void GetError(); - void Clear(); - - KURL blob_url_; + Member<ExecutionContext> execution_context_; scoped_refptr<BlobDataHandle> blob_data_handle_; - Member<BytesConsumer> body_; + Member<BytesConsumer> nested_consumer_; Member<BytesConsumer::Client> client_; - Member<ThreadableLoader> loader_; - - PublicState state_ = PublicState::kReadableOrWaiting; - // These two booleans are meaningful only when m_state is ReadableOrWaiting. - bool has_seen_end_of_data_ = false; - bool has_finished_loading_ = false; }; } // namespace blink |