Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.h

Issue 2342023002: Introduce FormDataBytesConsumer (Closed)
Patch Set: fix Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698