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()20WebServiceWorkerResponse::WebServiceWorkerResponse() 21 : m_private(adoptRef(new WebServiceWorkerResponsePrivate)) 22 { 23 } 24 reset()25void WebServiceWorkerResponse::reset() 26 { 27 m_private.reset(); 28 } 29 assign(const WebServiceWorkerResponse & other)30void WebServiceWorkerResponse::assign(const WebServiceWorkerResponse& other) 31 { 32 m_private = other.m_private; 33 } 34 setStatus(unsigned short status)35void WebServiceWorkerResponse::setStatus(unsigned short status) 36 { 37 m_private->status = status; 38 } 39 status() const40unsigned short WebServiceWorkerResponse::status() const 41 { 42 return m_private->status; 43 } 44 setStatusText(const WebString & statusText)45void WebServiceWorkerResponse::setStatusText(const WebString& statusText) 46 { 47 m_private->statusText = statusText; 48 } 49 statusText() const50WebString WebServiceWorkerResponse::statusText() const 51 { 52 return m_private->statusText; 53 } 54 setHeader(const WebString & key,const WebString & value)55void WebServiceWorkerResponse::setHeader(const WebString& key, const WebString& value) 56 { 57 m_private->headers.set(key, value); 58 } 59 getHeaderKeys() const60WebVector<WebString> WebServiceWorkerResponse::getHeaderKeys() const 61 { 62 Vector<String> keys; 63 copyKeysToVector(m_private->headers, keys); 64 return keys; 65 } 66 getHeader(const WebString & key) const67WebString WebServiceWorkerResponse::getHeader(const WebString& key) const 68 { 69 return m_private->headers.get(key); 70 } 71 blobUUID() const72WebString 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)79void WebServiceWorkerResponse::setHeaders(const HashMap<String, String>& headers) 80 { 81 m_private->headers = headers; 82 } 83 headers() const84const HashMap<String, String>& WebServiceWorkerResponse::headers() const 85 { 86 return m_private->headers; 87 } 88 setBlobDataHandle(PassRefPtr<WebCore::BlobDataHandle> blobDataHandle)89void WebServiceWorkerResponse::setBlobDataHandle(PassRefPtr<WebCore::BlobDataHandle> blobDataHandle) 90 { 91 m_private->blobDataHandle = blobDataHandle; 92 } 93 blobDataHandle() const94PassRefPtr<WebCore::BlobDataHandle> WebServiceWorkerResponse::blobDataHandle() const 95 { 96 return m_private->blobDataHandle; 97 } 98 99 } // namespace blink 100