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 #include "config.h" | 5 #include "config.h" |
6 #include "public/platform/WebServiceWorkerResponse.h" | 6 #include "public/platform/WebServiceWorkerResponse.h" |
7 | 7 |
8 #include "platform/blob/BlobData.h" | 8 #include "platform/blob/BlobData.h" |
| 9 #include "public/platform/WebHTTPHeaderVisitor.h" |
| 10 #include "wtf/HashMap.h" |
9 | 11 |
10 namespace blink { | 12 namespace blink { |
11 | 13 |
12 class WebServiceWorkerResponsePrivate : public RefCounted<WebServiceWorkerRespon
sePrivate> { | 14 class WebServiceWorkerResponsePrivate : public RefCounted<WebServiceWorkerRespon
sePrivate> { |
13 public: | 15 public: |
14 WebURL url; | 16 WebURL url; |
15 unsigned short status; | 17 unsigned short status; |
16 WebString statusText; | 18 WebString statusText; |
| 19 // FIXME: change headers to a data type that preserves order. |
17 HashMap<String, String> headers; | 20 HashMap<String, String> headers; |
18 RefPtr<BlobDataHandle> blobDataHandle; | 21 RefPtr<BlobDataHandle> blobDataHandle; |
19 }; | 22 }; |
20 | 23 |
21 WebServiceWorkerResponse::WebServiceWorkerResponse() | 24 WebServiceWorkerResponse::WebServiceWorkerResponse() |
22 : m_private(adoptRef(new WebServiceWorkerResponsePrivate)) | 25 : m_private(adoptRef(new WebServiceWorkerResponsePrivate)) |
23 { | 26 { |
24 } | 27 } |
25 | 28 |
26 void WebServiceWorkerResponse::reset() | 29 void WebServiceWorkerResponse::reset() |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 Vector<String> keys; | 76 Vector<String> keys; |
74 copyKeysToVector(m_private->headers, keys); | 77 copyKeysToVector(m_private->headers, keys); |
75 return keys; | 78 return keys; |
76 } | 79 } |
77 | 80 |
78 WebString WebServiceWorkerResponse::getHeader(const WebString& key) const | 81 WebString WebServiceWorkerResponse::getHeader(const WebString& key) const |
79 { | 82 { |
80 return m_private->headers.get(key); | 83 return m_private->headers.get(key); |
81 } | 84 } |
82 | 85 |
| 86 void WebServiceWorkerResponse::visitHTTPHeaderFields(WebHTTPHeaderVisitor* heade
rVisitor) const |
| 87 { |
| 88 for (HashMap<String, String>::const_iterator i = m_private->headers.begin(),
end = m_private->headers.end(); i != end; ++i) |
| 89 headerVisitor->visitHeader(i->key, i->value); |
| 90 } |
| 91 |
83 WebString WebServiceWorkerResponse::blobUUID() const | 92 WebString WebServiceWorkerResponse::blobUUID() const |
84 { | 93 { |
85 if (!m_private->blobDataHandle) | 94 if (!m_private->blobDataHandle) |
86 return WebString(); | 95 return WebString(); |
87 return m_private->blobDataHandle->uuid(); | 96 return m_private->blobDataHandle->uuid(); |
88 } | 97 } |
89 | 98 |
90 void WebServiceWorkerResponse::setHeaders(const HashMap<String, String>& headers
) | 99 void WebServiceWorkerResponse::setHeaders(const HashMap<String, String>& headers
) |
91 { | 100 { |
92 m_private->headers = headers; | 101 m_private->headers = headers; |
93 } | 102 } |
94 | 103 |
95 const HashMap<String, String>& WebServiceWorkerResponse::headers() const | 104 const HashMap<String, String>& WebServiceWorkerResponse::headers() const |
96 { | 105 { |
97 return m_private->headers; | 106 return m_private->headers; |
98 } | 107 } |
99 | 108 |
100 void WebServiceWorkerResponse::setBlobDataHandle(PassRefPtr<BlobDataHandle> blob
DataHandle) | 109 void WebServiceWorkerResponse::setBlobDataHandle(PassRefPtr<BlobDataHandle> blob
DataHandle) |
101 { | 110 { |
102 m_private->blobDataHandle = blobDataHandle; | 111 m_private->blobDataHandle = blobDataHandle; |
103 } | 112 } |
104 | 113 |
105 PassRefPtr<BlobDataHandle> WebServiceWorkerResponse::blobDataHandle() const | 114 PassRefPtr<BlobDataHandle> WebServiceWorkerResponse::blobDataHandle() const |
106 { | 115 { |
107 return m_private->blobDataHandle; | 116 return m_private->blobDataHandle; |
108 } | 117 } |
109 | 118 |
110 } // namespace blink | 119 } // namespace blink |
OLD | NEW |