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

Side by Side Diff: Source/modules/fetch/Request.h

Issue 1233573002: [Fetch API] Remove DrainingBuffer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « Source/modules/fetch/FetchResponseData.cpp ('k') | Source/modules/fetch/Request.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef Request_h 5 #ifndef Request_h
6 #define Request_h 6 #define Request_h
7 7
8 #include "bindings/core/v8/Dictionary.h" 8 #include "bindings/core/v8/Dictionary.h"
9 #include "bindings/core/v8/ScriptWrappable.h" 9 #include "bindings/core/v8/ScriptWrappable.h"
10 #include "bindings/modules/v8/UnionTypesModules.h" 10 #include "bindings/modules/v8/UnionTypesModules.h"
11 #include "modules/ModulesExport.h" 11 #include "modules/ModulesExport.h"
12 #include "modules/fetch/Body.h" 12 #include "modules/fetch/Body.h"
13 #include "modules/fetch/FetchRequestData.h" 13 #include "modules/fetch/FetchRequestData.h"
14 #include "modules/fetch/Headers.h" 14 #include "modules/fetch/Headers.h"
15 #include "platform/heap/Handle.h" 15 #include "platform/heap/Handle.h"
16 #include "platform/weborigin/KURL.h" 16 #include "platform/weborigin/KURL.h"
17 #include "public/platform/WebURLRequest.h" 17 #include "public/platform/WebURLRequest.h"
18 #include "wtf/RefPtr.h"
19 #include "wtf/text/WTFString.h" 18 #include "wtf/text/WTFString.h"
20 19
21 namespace blink { 20 namespace blink {
22 21
23 class BodyStreamBuffer; 22 class BodyStreamBuffer;
24 class RequestInit; 23 class RequestInit;
25 class WebServiceWorkerRequest; 24 class WebServiceWorkerRequest;
26 25
27 typedef RequestOrUSVString RequestInfo; 26 using RequestInfo = RequestOrUSVString;
28 27
29 class MODULES_EXPORT Request final : public Body { 28 class MODULES_EXPORT Request final : public Body {
30 DEFINE_WRAPPERTYPEINFO(); 29 DEFINE_WRAPPERTYPEINFO();
30 WTF_MAKE_NONCOPYABLE(Request);
31 public: 31 public:
32 ~Request() override { } 32 ~Request() override {}
33 33
34 // From Request.idl: 34 // From Request.idl:
35 static Request* create(ScriptState*, const RequestInfo&, const Dictionary&, ExceptionState&); 35 static Request* create(ScriptState*, const RequestInfo&, const Dictionary&, ExceptionState&);
36 36
37 static Request* create(ScriptState*, const String&, ExceptionState&); 37 static Request* create(ScriptState*, const String&, ExceptionState&);
38 static Request* create(ScriptState*, const String&, const Dictionary&, Excep tionState&); 38 static Request* create(ScriptState*, const String&, const Dictionary&, Excep tionState&);
39 static Request* create(ScriptState*, Request*, ExceptionState&); 39 static Request* create(ScriptState*, Request*, ExceptionState&);
40 static Request* create(ScriptState*, Request*, const Dictionary&, ExceptionS tate&); 40 static Request* create(ScriptState*, Request*, const Dictionary&, ExceptionS tate&);
41 static Request* create(ExecutionContext*, FetchRequestData*); 41 static Request* create(ExecutionContext*, FetchRequestData*);
42 static Request* create(ExecutionContext*, const WebServiceWorkerRequest&); 42 static Request* create(ExecutionContext*, const WebServiceWorkerRequest&);
43 43
44 const FetchRequestData* request() { return m_request; }
45
46 // From Request.idl: 44 // From Request.idl:
47 String method() const; 45 String method() const;
48 KURL url() const; 46 KURL url() const;
49 Headers* headers() const { return m_headers; } 47 Headers* headers() const { return m_headers; }
50 String context() const; 48 String context() const;
51 String referrer() const; 49 String referrer() const;
52 String mode() const; 50 String mode() const;
53 String credentials() const; 51 String credentials() const;
54 52
55 // From Request.idl: 53 // From Request.idl:
56 Request* clone(ExceptionState&); 54 Request* clone(ExceptionState&);
57 55
58 FetchRequestData* passRequestData(); 56 FetchRequestData* passRequestData();
59
60 void populateWebServiceWorkerRequest(WebServiceWorkerRequest&) const; 57 void populateWebServiceWorkerRequest(WebServiceWorkerRequest&) const;
61 58 bool hasBody() const;
62 bool hasBody() const { return m_request->buffer(); } 59 BodyStreamBuffer* bodyBuffer() override { return m_request->buffer(); }
60 const BodyStreamBuffer* bodyBuffer() const override { return m_request->buff er(); }
63 61
64 DECLARE_VIRTUAL_TRACE(); 62 DECLARE_VIRTUAL_TRACE();
65 63
66 private: 64 private:
67 Request(ExecutionContext*, FetchRequestData*); 65 Request(ExecutionContext*, FetchRequestData*);
68 Request(ExecutionContext*, const WebServiceWorkerRequest&); 66 Request(ExecutionContext*, const WebServiceWorkerRequest&);
69 Request(ExecutionContext*, FetchRequestData*, Headers*); 67 Request(ExecutionContext*, FetchRequestData*, Headers*);
70 68
71 void setBuffer(BodyStreamBuffer*); 69 const FetchRequestData* request() const { return m_request; }
72 void refreshBody();
73
74 static Request* createRequestWithRequestOrString(ScriptState*, Request*, con st String&, const RequestInit&, ExceptionState&); 70 static Request* createRequestWithRequestOrString(ScriptState*, Request*, con st String&, const RequestInit&, ExceptionState&);
75 void clearHeaderList();
76 71
77 String mimeType() const override; 72 String mimeType() const override;
78 73
79 const Member<FetchRequestData> m_request; 74 const Member<FetchRequestData> m_request;
80 const Member<Headers> m_headers; 75 const Member<Headers> m_headers;
81 }; 76 };
82 77
83 } // namespace blink 78 } // namespace blink
84 79
85 #endif // Request_h 80 #endif // Request_h
OLDNEW
« no previous file with comments | « Source/modules/fetch/FetchResponseData.cpp ('k') | Source/modules/fetch/Request.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698