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 "modules/serviceworkers/FetchResponseData.h" | 10 #include "modules/serviceworkers/FetchResponseData.h" |
11 #include "modules/serviceworkers/Headers.h" | 11 #include "modules/serviceworkers/Headers.h" |
12 #include "platform/blob/BlobData.h" | 12 #include "platform/blob/BlobData.h" |
| 13 #include "platform/heap/Handle.h" |
13 #include "wtf/RefCounted.h" | 14 #include "wtf/RefCounted.h" |
14 #include "wtf/RefPtr.h" | 15 #include "wtf/RefPtr.h" |
15 #include "wtf/text/WTFString.h" | 16 #include "wtf/text/WTFString.h" |
16 | 17 |
17 namespace blink { class WebServiceWorkerResponse; } | 18 namespace blink { class WebServiceWorkerResponse; } |
18 | 19 |
19 namespace WebCore { | 20 namespace WebCore { |
20 | 21 |
21 class Blob; | 22 class Blob; |
22 class ExceptionState; | 23 class ExceptionState; |
23 struct ResponseInit; | 24 class ResponseInit; |
24 | 25 |
25 class Response FINAL : public RefCounted<Response>, public ScriptWrappable { | 26 class Response FINAL : public RefCountedWillBeGarbageCollectedFinalized<Response
>, public ScriptWrappable { |
| 27 DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(Response); |
26 public: | 28 public: |
27 static PassRefPtr<Response> create(Blob*, const Dictionary&, ExceptionState&
); | 29 static PassRefPtrWillBeRawPtr<Response> create(Blob*, const Dictionary&, Exc
eptionState&); |
28 static PassRefPtr<Response> create(Blob*, const ResponseInit&, ExceptionStat
e&); | 30 static PassRefPtrWillBeRawPtr<Response> create(Blob*, const ResponseInit&, E
xceptionState&); |
29 | 31 |
30 static PassRefPtr<Response> create(PassRefPtr<FetchResponseData>); | 32 static PassRefPtrWillBeRawPtr<Response> create(PassRefPtrWillBeRawPtr<FetchR
esponseData>); |
31 ~Response() { }; | |
32 | 33 |
33 String type() const; | 34 String type() const; |
34 String url() const; | 35 String url() const; |
35 unsigned short status() const; | 36 unsigned short status() const; |
36 String statusText() const; | 37 String statusText() const; |
37 PassRefPtr<Headers> headers() const; | 38 PassRefPtrWillBeRawPtr<Headers> headers() const; |
38 | 39 |
39 void populateWebServiceWorkerResponse(blink::WebServiceWorkerResponse&); | 40 void populateWebServiceWorkerResponse(blink::WebServiceWorkerResponse&); |
40 | 41 |
| 42 void trace(Visitor*); |
| 43 |
41 private: | 44 private: |
42 Response(); | 45 Response(); |
43 Response(PassRefPtr<FetchResponseData>); | 46 explicit Response(PassRefPtrWillBeRawPtr<FetchResponseData>); |
44 | 47 |
45 RefPtr<FetchResponseData> m_response; | 48 RefPtrWillBeMember<FetchResponseData> m_response; |
46 RefPtr<Headers> m_headers; | 49 RefPtrWillBeMember<Headers> m_headers; |
47 // FIXME: Support FetchBodyStream. | 50 // FIXME: Support FetchBodyStream. |
48 }; | 51 }; |
49 | 52 |
50 } // namespace WebCore | 53 } // namespace WebCore |
51 | 54 |
52 #endif // Response_h | 55 #endif // Response_h |
OLD | NEW |