summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/fetch/blob_bytes_consumer.h
diff options
context:
space:
mode:
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.h51
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