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

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

Issue 519803002: Support embedded created Response objects in ServiceWorker. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@2e-request
Patch Set: rebase to trunk, now just waiting on upstream CL Created 6 years, 3 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
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 #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
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
OLDNEW
« no previous file with comments | « Source/modules/serviceworkers/ResponseTest.cpp ('k') | public/platform/WebServiceWorkerResponse.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698