OLD | NEW |
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 Response_h | 5 #ifndef Response_h |
6 #define Response_h | 6 #define Response_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/FetchResponseData.h" | 13 #include "modules/fetch/FetchResponseData.h" |
14 #include "modules/fetch/Headers.h" | 14 #include "modules/fetch/Headers.h" |
15 #include "platform/blob/BlobData.h" | 15 #include "platform/blob/BlobData.h" |
16 #include "platform/heap/Handle.h" | 16 #include "platform/heap/Handle.h" |
17 | 17 |
18 namespace blink { | 18 namespace blink { |
19 | 19 |
20 class Blob; | 20 class Blob; |
21 class BodyStreamBuffer; | 21 class BodyStreamBuffer; |
| 22 class DrainingBodyStreamBuffer; |
22 class DOMArrayBuffer; | 23 class DOMArrayBuffer; |
23 class ExceptionState; | 24 class ExceptionState; |
24 class ResponseInit; | 25 class ResponseInit; |
25 class WebServiceWorkerResponse; | 26 class WebServiceWorkerResponse; |
26 | 27 |
27 typedef BlobOrArrayBufferOrArrayBufferViewOrFormDataOrUSVString BodyInit; | 28 typedef BlobOrArrayBufferOrArrayBufferViewOrFormDataOrUSVString BodyInit; |
28 | 29 |
29 class MODULES_EXPORT Response final : public Body { | 30 class MODULES_EXPORT Response final : public Body { |
30 DEFINE_WRAPPERTYPEINFO(); | 31 DEFINE_WRAPPERTYPEINFO(); |
31 public: | 32 public: |
(...skipping 18 matching lines...) Expand all Loading... |
50 String type() const; | 51 String type() const; |
51 String url() const; | 52 String url() const; |
52 unsigned short status() const; | 53 unsigned short status() const; |
53 bool ok() const; | 54 bool ok() const; |
54 String statusText() const; | 55 String statusText() const; |
55 Headers* headers() const; | 56 Headers* headers() const; |
56 | 57 |
57 // From Response.idl: | 58 // From Response.idl: |
58 Response* clone(ExceptionState&); | 59 Response* clone(ExceptionState&); |
59 | 60 |
60 void populateWebServiceWorkerResponse(WebServiceWorkerResponse&); | 61 // Does not call response.setBlobDataHandle(). |
| 62 void populateWebServiceWorkerResponse(WebServiceWorkerResponse& /* response
*/); |
61 | 63 |
62 bool hasBody() const; | 64 bool hasBody() const; |
63 | 65 |
64 PassRefPtr<BlobDataHandle> blobDataHandle() const override; | |
65 BodyStreamBuffer* buffer() const override; | |
66 String mimeType() const override; | 66 String mimeType() const override; |
| 67 String internalMIMEType() const; |
67 | 68 |
68 PassRefPtr<BlobDataHandle> internalBlobDataHandle() const; | 69 PassOwnPtr<DrainingBodyStreamBuffer> createInternalDrainingStream(); |
69 BodyStreamBuffer* internalBuffer() const; | 70 |
70 String internalMIMEType() const; | 71 // Only for tests (null checks and identity checks). |
| 72 void* bufferForTest() const; |
| 73 void* internalBufferForTest() const; |
71 | 74 |
72 DECLARE_VIRTUAL_TRACE(); | 75 DECLARE_VIRTUAL_TRACE(); |
73 | 76 |
74 private: | 77 private: |
75 explicit Response(ExecutionContext*); | 78 explicit Response(ExecutionContext*); |
76 Response(ExecutionContext*, FetchResponseData*); | 79 Response(ExecutionContext*, FetchResponseData*); |
77 Response(ExecutionContext*, FetchResponseData*, Headers*); | 80 Response(ExecutionContext*, FetchResponseData*, Headers*); |
78 | 81 |
79 void refreshBody(); | 82 void refreshBody(); |
80 | 83 |
81 const Member<FetchResponseData> m_response; | 84 const Member<FetchResponseData> m_response; |
82 const Member<Headers> m_headers; | 85 const Member<Headers> m_headers; |
83 }; | 86 }; |
84 | 87 |
85 } // namespace blink | 88 } // namespace blink |
86 | 89 |
87 #endif // Response_h | 90 #endif // Response_h |
OLD | NEW |