OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef FormDataBytesConsumer_h |
| 6 #define FormDataBytesConsumer_h |
| 7 |
| 8 #include "modules/ModulesExport.h" |
| 9 #include "modules/fetch/BytesConsumer.h" |
| 10 #include "platform/heap/Handle.h" |
| 11 #include "wtf/Forward.h" |
| 12 #include "wtf/PassRefPtr.h" |
| 13 |
| 14 namespace blink { |
| 15 |
| 16 class DOMArrayBuffer; |
| 17 class DOMArrayBufferView; |
| 18 class EncodedFormData; |
| 19 |
| 20 class FormDataBytesConsumer final : public BytesConsumer { |
| 21 public: |
| 22 explicit MODULES_EXPORT FormDataBytesConsumer(const String&); |
| 23 explicit MODULES_EXPORT FormDataBytesConsumer(DOMArrayBuffer*); |
| 24 explicit MODULES_EXPORT FormDataBytesConsumer(DOMArrayBufferView*); |
| 25 MODULES_EXPORT FormDataBytesConsumer(const void* data, size_t); |
| 26 MODULES_EXPORT FormDataBytesConsumer(ExecutionContext*, PassRefPtr<EncodedFo
rmData>); |
| 27 MODULES_EXPORT static FormDataBytesConsumer* createForTesting(ExecutionConte
xt* executionContext, PassRefPtr<EncodedFormData> formData, BytesConsumer* consu
mer) |
| 28 { |
| 29 return new FormDataBytesConsumer(executionContext, formData, consumer); |
| 30 } |
| 31 |
| 32 // BytesConsumer implementation |
| 33 Result beginRead(const char** buffer, size_t* available) override |
| 34 { |
| 35 return m_impl->beginRead(buffer, available); |
| 36 } |
| 37 Result endRead(size_t readSize) override |
| 38 { |
| 39 return m_impl->endRead(readSize); |
| 40 } |
| 41 PassRefPtr<BlobDataHandle> drainAsBlobDataHandle(BlobSizePolicy policy) over
ride |
| 42 { |
| 43 return m_impl->drainAsBlobDataHandle(policy); |
| 44 } |
| 45 PassRefPtr<EncodedFormData> drainAsFormData() override |
| 46 { |
| 47 return m_impl->drainAsFormData(); |
| 48 } |
| 49 void setClient(BytesConsumer::Client* client) override |
| 50 { |
| 51 m_impl->setClient(client); |
| 52 } |
| 53 void clearClient() override |
| 54 { |
| 55 m_impl->clearClient(); |
| 56 } |
| 57 void cancel() override |
| 58 { |
| 59 m_impl->cancel(); |
| 60 } |
| 61 PublicState getPublicState() const override |
| 62 { |
| 63 return m_impl->getPublicState(); |
| 64 } |
| 65 Error getError() const override |
| 66 { |
| 67 return m_impl->getError(); |
| 68 } |
| 69 String debugName() const override |
| 70 { |
| 71 return m_impl->debugName(); |
| 72 } |
| 73 |
| 74 DEFINE_INLINE_TRACE() |
| 75 { |
| 76 visitor->trace(m_impl); |
| 77 BytesConsumer::trace(visitor); |
| 78 } |
| 79 |
| 80 private: |
| 81 MODULES_EXPORT FormDataBytesConsumer(ExecutionContext*, PassRefPtr<EncodedFo
rmData>, BytesConsumer*); |
| 82 |
| 83 const Member<BytesConsumer> m_impl; |
| 84 }; |
| 85 |
| 86 } // namespace blink |
| 87 |
| 88 #endif // FormDataBytesConsumer_h |
OLD | NEW |