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

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

Issue 2342023002: Introduce FormDataBytesConsumer (Closed)
Patch Set: fix Created 4 years, 2 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(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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/BUILD.gn ('k') | third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698