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