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(ExecutionContext*, PassRefPtr<EncodedFo
rmData>); |
| 26 MODULES_EXPORT static FormDataBytesConsumer* createForTesting(ExecutionConte
xt* executionContext, PassRefPtr<EncodedFormData> formData, BytesConsumer* consu
mer) |
| 27 { |
| 28 return new FormDataBytesConsumer(executionContext, formData, consumer); |
| 29 } |
| 30 |
| 31 // BytesConsumer implementation |
| 32 Result beginRead(const char** buffer, size_t* available) override |
| 33 { |
| 34 return m_impl->beginRead(buffer, available); |
| 35 } |
| 36 Result endRead(size_t readSize) override |
| 37 { |
| 38 return m_impl->endRead(readSize); |
| 39 } |
| 40 PassRefPtr<BlobDataHandle> drainAsBlobDataHandle(BlobSizePolicy policy) over
ride |
| 41 { |
| 42 return m_impl->drainAsBlobDataHandle(policy); |
| 43 } |
| 44 PassRefPtr<EncodedFormData> drainAsFormData() override |
| 45 { |
| 46 return m_impl->drainAsFormData(); |
| 47 } |
| 48 void setClient(BytesConsumer::Client* client) override |
| 49 { |
| 50 m_impl->setClient(client); |
| 51 } |
| 52 void clearClient() override |
| 53 { |
| 54 m_impl->clearClient(); |
| 55 } |
| 56 void cancel() override |
| 57 { |
| 58 m_impl->cancel(); |
| 59 } |
| 60 PublicState getPublicState() const override |
| 61 { |
| 62 return m_impl->getPublicState(); |
| 63 } |
| 64 Error getError() const override |
| 65 { |
| 66 return m_impl->getError(); |
| 67 } |
| 68 String debugName() const override |
| 69 { |
| 70 return m_impl->debugName(); |
| 71 } |
| 72 |
| 73 DEFINE_INLINE_TRACE() |
| 74 { |
| 75 visitor->trace(m_impl); |
| 76 BytesConsumer::trace(visitor); |
| 77 } |
| 78 |
| 79 private: |
| 80 MODULES_EXPORT FormDataBytesConsumer(ExecutionContext*, PassRefPtr<EncodedFo
rmData>, BytesConsumer*); |
| 81 |
| 82 const Member<BytesConsumer> m_impl; |
| 83 }; |
| 84 |
| 85 } // namespace blink |
| 86 |
| 87 #endif // FormDataBytesConsumer_h |
OLD | NEW |