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

Side by Side Diff: Source/platform/exported/WebServiceWorkerResponse.cpp

Issue 287363004: ServiceWorker: support Response.{status,statusText,headers} [blink] (2/3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: addressed comments Created 6 years, 7 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
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 #include "config.h" 5 #include "config.h"
6 #include "public/platform/WebServiceWorkerResponse.h" 6 #include "public/platform/WebServiceWorkerResponse.h"
7 7
8 namespace blink { 8 namespace blink {
9 9
10 void WebServiceWorkerResponse::setStatusCode(unsigned short statusCode) 10 class WebServiceWorkerResponsePrivate : public RefCounted<WebServiceWorkerRespon sePrivate> {
falken 2014/05/26 09:06:59 I have a naive question: what's the motivation for
kinuko 2014/05/26 13:51:35 We want to store map-like data in WebServiceWorker
falken 2014/05/26 14:59:31 Ah I see!
11 public:
12 unsigned short status;
13 WebString statusText;
14 HashMap<String, String> headers;
15 };
16
17 WebServiceWorkerResponse::WebServiceWorkerResponse()
18 : m_private(adoptRef(new WebServiceWorkerResponsePrivate))
11 { 19 {
12 m_statusCode = statusCode;
13 } 20 }
14 21
15 unsigned short WebServiceWorkerResponse::statusCode() const 22 void WebServiceWorkerResponse::reset()
16 { 23 {
17 return m_statusCode; 24 m_private.reset();
25 }
26
27 void WebServiceWorkerResponse::assign(const WebServiceWorkerResponse& other)
28 {
29 m_private = other.m_private;
30 }
31
32 void WebServiceWorkerResponse::setStatus(unsigned short status)
33 {
34 m_private->status = status;
35 }
36
37 unsigned short WebServiceWorkerResponse::status() const
38 {
39 return m_private->status;
18 } 40 }
19 41
20 void WebServiceWorkerResponse::setStatusText(const WebString& statusText) 42 void WebServiceWorkerResponse::setStatusText(const WebString& statusText)
21 { 43 {
22 m_statusText = statusText; 44 m_private->statusText = statusText;
23 } 45 }
24 46
25 WebString WebServiceWorkerResponse::statusText() const 47 WebString WebServiceWorkerResponse::statusText() const
26 { 48 {
27 return m_statusText; 49 return m_private->statusText;
28 } 50 }
29 51
30 void WebServiceWorkerResponse::setMethod(const WebString& method) 52 void WebServiceWorkerResponse::setHeader(const WebString& key, const WebString& value)
31 { 53 {
32 m_method = method; 54 m_private->headers.set(key, value);
33 } 55 }
34 56
35 WebString WebServiceWorkerResponse::method() const 57 WebVector<WebString> WebServiceWorkerResponse::getHeaderKeys() const
36 { 58 {
37 return m_method; 59 Vector<String> keys;
60 copyKeysToVector(m_private->headers, keys);
61 return keys;
62 }
63
64 WebString WebServiceWorkerResponse::getHeader(const WebString& key) const
65 {
66 return m_private->headers.get(key);
67 }
68
69 void WebServiceWorkerResponse::setHeaders(const HashMap<String, String>& headers )
70 {
71 m_private->headers = headers;
72 }
73
74 const HashMap<String, String>& WebServiceWorkerResponse::headers() const
75 {
76 return m_private->headers;
38 } 77 }
39 78
40 } // namespace blink 79 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/serviceworkers/ResponseInit.h ('k') | public/platform/WebServiceWorkerResponse.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698