Upstream version 6.35.121.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / Response.h
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
3 // found in the LICENSE file.
4
5 #ifndef Response_h
6 #define Response_h
7
8 #include "bindings/v8/Dictionary.h"
9 #include "bindings/v8/ScriptWrappable.h"
10 #include "wtf/RefCounted.h"
11 #include "wtf/text/WTFString.h"
12
13 namespace blink { class WebServiceWorkerResponse; }
14
15 namespace WebCore {
16
17 struct ResponseInit;
18
19 class Response FINAL : public ScriptWrappable, public RefCounted<Response> {
20 public:
21     static PassRefPtr<Response> create();
22     static PassRefPtr<Response> create(const Dictionary& responseInit);
23     ~Response() { };
24
25     unsigned short statusCode() { return m_statusCode; }
26     void setStatusCode(unsigned short statusCode) { m_statusCode = statusCode; }
27
28     String statusText() { return m_statusText; }
29     void setStatusText(const String& statusText) { m_statusText = statusText; }
30
31     String method() { return m_method; }
32     void setMethod(const String& method) { m_method = method; }
33
34     Dictionary* headers();
35     void headers(const Dictionary&);
36
37     void populateWebServiceWorkerResponse(blink::WebServiceWorkerResponse&);
38
39 private:
40     explicit Response(const ResponseInit&);
41     unsigned short m_statusCode;
42     String m_statusText;
43     String m_method;
44     Dictionary m_headers;
45 };
46
47 } // namespace WebCore
48
49 #endif // Response_h