• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "config.h"
6 #include "public/platform/WebServiceWorkerResponse.h"
7 
8 #include "platform/blob/BlobData.h"
9 
10 namespace blink {
11 
12 class WebServiceWorkerResponsePrivate : public RefCounted<WebServiceWorkerResponsePrivate> {
13 public:
14     unsigned short status;
15     WebString statusText;
16     HashMap<String, String> headers;
17     RefPtr<WebCore::BlobDataHandle> blobDataHandle;
18 };
19 
WebServiceWorkerResponse()20 WebServiceWorkerResponse::WebServiceWorkerResponse()
21     : m_private(adoptRef(new WebServiceWorkerResponsePrivate))
22 {
23 }
24 
reset()25 void WebServiceWorkerResponse::reset()
26 {
27     m_private.reset();
28 }
29 
assign(const WebServiceWorkerResponse & other)30 void WebServiceWorkerResponse::assign(const WebServiceWorkerResponse& other)
31 {
32     m_private = other.m_private;
33 }
34 
setStatus(unsigned short status)35 void WebServiceWorkerResponse::setStatus(unsigned short status)
36 {
37     m_private->status = status;
38 }
39 
status() const40 unsigned short WebServiceWorkerResponse::status() const
41 {
42     return m_private->status;
43 }
44 
setStatusText(const WebString & statusText)45 void WebServiceWorkerResponse::setStatusText(const WebString& statusText)
46 {
47     m_private->statusText = statusText;
48 }
49 
statusText() const50 WebString WebServiceWorkerResponse::statusText() const
51 {
52     return m_private->statusText;
53 }
54 
setHeader(const WebString & key,const WebString & value)55 void WebServiceWorkerResponse::setHeader(const WebString& key, const WebString& value)
56 {
57     m_private->headers.set(key, value);
58 }
59 
getHeaderKeys() const60 WebVector<WebString> WebServiceWorkerResponse::getHeaderKeys() const
61 {
62     Vector<String> keys;
63     copyKeysToVector(m_private->headers, keys);
64     return keys;
65 }
66 
getHeader(const WebString & key) const67 WebString WebServiceWorkerResponse::getHeader(const WebString& key) const
68 {
69     return m_private->headers.get(key);
70 }
71 
blobUUID() const72 WebString WebServiceWorkerResponse::blobUUID() const
73 {
74     if (!m_private->blobDataHandle)
75         return WebString();
76     return m_private->blobDataHandle->uuid();
77 }
78 
setHeaders(const HashMap<String,String> & headers)79 void WebServiceWorkerResponse::setHeaders(const HashMap<String, String>& headers)
80 {
81     m_private->headers = headers;
82 }
83 
headers() const84 const HashMap<String, String>& WebServiceWorkerResponse::headers() const
85 {
86     return m_private->headers;
87 }
88 
setBlobDataHandle(PassRefPtr<WebCore::BlobDataHandle> blobDataHandle)89 void WebServiceWorkerResponse::setBlobDataHandle(PassRefPtr<WebCore::BlobDataHandle> blobDataHandle)
90 {
91     m_private->blobDataHandle = blobDataHandle;
92 }
93 
blobDataHandle() const94 PassRefPtr<WebCore::BlobDataHandle> WebServiceWorkerResponse::blobDataHandle() const
95 {
96     return m_private->blobDataHandle;
97 }
98 
99 } // namespace blink
100