OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 12 matching lines...) Expand all Loading... |
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "public/platform/WebURLResponse.h" | 31 #include "public/platform/WebURLResponse.h" |
32 | 32 |
33 #include "platform/exported/WebURLResponsePrivate.h" | |
34 #include "platform/network/ResourceLoadTiming.h" | 33 #include "platform/network/ResourceLoadTiming.h" |
35 #include "platform/network/ResourceResponse.h" | 34 #include "platform/network/ResourceResponse.h" |
36 #include "public/platform/WebHTTPHeaderVisitor.h" | 35 #include "public/platform/WebHTTPHeaderVisitor.h" |
37 #include "public/platform/WebHTTPLoadInfo.h" | 36 #include "public/platform/WebHTTPLoadInfo.h" |
38 #include "public/platform/WebString.h" | 37 #include "public/platform/WebString.h" |
39 #include "public/platform/WebURL.h" | 38 #include "public/platform/WebURL.h" |
40 #include "public/platform/WebURLLoadTiming.h" | 39 #include "public/platform/WebURLLoadTiming.h" |
41 #include "wtf/Allocator.h" | 40 #include "wtf/Allocator.h" |
42 #include "wtf/Assertions.h" | 41 #include "wtf/Assertions.h" |
43 #include "wtf/PtrUtil.h" | 42 #include "wtf/PtrUtil.h" |
(...skipping 16 matching lines...) Expand all Loading... |
60 explicit ExtraDataContainer(WebURLResponse::ExtraData* extraData) | 59 explicit ExtraDataContainer(WebURLResponse::ExtraData* extraData) |
61 : m_extraData(wrapUnique(extraData)) | 60 : m_extraData(wrapUnique(extraData)) |
62 { | 61 { |
63 } | 62 } |
64 | 63 |
65 std::unique_ptr<WebURLResponse::ExtraData> m_extraData; | 64 std::unique_ptr<WebURLResponse::ExtraData> m_extraData; |
66 }; | 65 }; |
67 | 66 |
68 } // namespace | 67 } // namespace |
69 | 68 |
70 // The standard implementation of WebURLResponsePrivate, which maintains | 69 // The purpose of this struct is to permit allocating a ResourceResponse on the |
71 // ownership of a ResourceResponse instance. | 70 // heap, which is otherwise disallowed by the DISALLOW_NEW_EXCEPT_PLACEMENT_NEW |
72 class WebURLResponsePrivateImpl final : public WebURLResponsePrivate { | 71 // annotation on ResourceResponse. |
73 USING_FAST_MALLOC(WebURLResponsePrivateImpl); | 72 struct WebURLResponse::ResourceResponseContainer { |
74 public: | 73 ResourceResponseContainer() {} |
75 WebURLResponsePrivateImpl() | 74 |
| 75 ResourceResponseContainer(const ResourceResponse& r) |
| 76 : resourceResponse(r) |
76 { | 77 { |
77 m_resourceResponse = &m_resourceResponseAllocation; | |
78 } | 78 } |
79 | 79 |
80 WebURLResponsePrivateImpl(const WebURLResponsePrivate& p) | 80 ResourceResponse resourceResponse; |
81 : m_resourceResponseAllocation(*p.m_resourceResponse) | |
82 { | |
83 m_resourceResponse = &m_resourceResponseAllocation; | |
84 } | |
85 | |
86 ~WebURLResponsePrivateImpl() override {} | |
87 | |
88 private: | |
89 ResourceResponse m_resourceResponseAllocation; | |
90 }; | 81 }; |
91 | 82 |
92 WebURLResponse::~WebURLResponse() | 83 WebURLResponse::~WebURLResponse() |
93 { | 84 { |
94 } | 85 } |
95 | 86 |
96 WebURLResponse::WebURLResponse() | 87 WebURLResponse::WebURLResponse() |
97 : m_owningPrivate(new WebURLResponsePrivateImpl()) | 88 : m_ownedResourceResponse(new ResourceResponseContainer()) |
98 , m_private(m_owningPrivate.get()) | 89 , m_resourceResponse(&m_ownedResourceResponse->resourceResponse) |
99 { | 90 { |
100 } | 91 } |
101 | 92 |
102 WebURLResponse::WebURLResponse(const WebURLResponse& r) | 93 WebURLResponse::WebURLResponse(const WebURLResponse& r) |
103 : m_owningPrivate(new WebURLResponsePrivateImpl(*r.m_private)) | 94 : m_ownedResourceResponse(new ResourceResponseContainer(*r.m_resourceRespons
e)) |
104 , m_private(m_owningPrivate.get()) | 95 , m_resourceResponse(&m_ownedResourceResponse->resourceResponse) |
105 { | 96 { |
106 } | 97 } |
107 | 98 |
108 WebURLResponse::WebURLResponse(const WebURL& url) | 99 WebURLResponse::WebURLResponse(const WebURL& url) |
109 : WebURLResponse() | 100 : WebURLResponse() |
110 { | 101 { |
111 setURL(url); | 102 setURL(url); |
112 } | 103 } |
113 | 104 |
114 WebURLResponse& WebURLResponse::operator=(const WebURLResponse& r) | 105 WebURLResponse& WebURLResponse::operator=(const WebURLResponse& r) |
115 { | 106 { |
116 // Copying subclasses that have different m_private ownership semantics | 107 // Copying subclasses that have different m_resourceResponse ownership seman
tics |
117 // via this operator is just not supported. | 108 // via this operator is just not supported. |
118 DCHECK(m_owningPrivate); | 109 DCHECK(m_ownedResourceResponse); |
119 DCHECK(m_private->m_resourceResponse); | 110 DCHECK(m_resourceResponse); |
120 if (&r != this) | 111 if (&r != this) |
121 *m_private->m_resourceResponse = *r.m_private->m_resourceResponse; | 112 *m_resourceResponse = *r.m_resourceResponse; |
122 return *this; | 113 return *this; |
123 } | 114 } |
124 | 115 |
125 bool WebURLResponse::isNull() const | 116 bool WebURLResponse::isNull() const |
126 { | 117 { |
127 return m_private->m_resourceResponse->isNull(); | 118 return m_resourceResponse->isNull(); |
128 } | 119 } |
129 | 120 |
130 WebURL WebURLResponse::url() const | 121 WebURL WebURLResponse::url() const |
131 { | 122 { |
132 return m_private->m_resourceResponse->url(); | 123 return m_resourceResponse->url(); |
133 } | 124 } |
134 | 125 |
135 void WebURLResponse::setURL(const WebURL& url) | 126 void WebURLResponse::setURL(const WebURL& url) |
136 { | 127 { |
137 m_private->m_resourceResponse->setURL(url); | 128 m_resourceResponse->setURL(url); |
138 } | 129 } |
139 | 130 |
140 unsigned WebURLResponse::connectionID() const | 131 unsigned WebURLResponse::connectionID() const |
141 { | 132 { |
142 return m_private->m_resourceResponse->connectionID(); | 133 return m_resourceResponse->connectionID(); |
143 } | 134 } |
144 | 135 |
145 void WebURLResponse::setConnectionID(unsigned connectionID) | 136 void WebURLResponse::setConnectionID(unsigned connectionID) |
146 { | 137 { |
147 m_private->m_resourceResponse->setConnectionID(connectionID); | 138 m_resourceResponse->setConnectionID(connectionID); |
148 } | 139 } |
149 | 140 |
150 bool WebURLResponse::connectionReused() const | 141 bool WebURLResponse::connectionReused() const |
151 { | 142 { |
152 return m_private->m_resourceResponse->connectionReused(); | 143 return m_resourceResponse->connectionReused(); |
153 } | 144 } |
154 | 145 |
155 void WebURLResponse::setConnectionReused(bool connectionReused) | 146 void WebURLResponse::setConnectionReused(bool connectionReused) |
156 { | 147 { |
157 m_private->m_resourceResponse->setConnectionReused(connectionReused); | 148 m_resourceResponse->setConnectionReused(connectionReused); |
158 } | 149 } |
159 | 150 |
160 WebURLLoadTiming WebURLResponse::loadTiming() | 151 WebURLLoadTiming WebURLResponse::loadTiming() |
161 { | 152 { |
162 return WebURLLoadTiming(m_private->m_resourceResponse->resourceLoadTiming())
; | 153 return WebURLLoadTiming(m_resourceResponse->resourceLoadTiming()); |
163 } | 154 } |
164 | 155 |
165 void WebURLResponse::setLoadTiming(const WebURLLoadTiming& timing) | 156 void WebURLResponse::setLoadTiming(const WebURLLoadTiming& timing) |
166 { | 157 { |
167 RefPtr<ResourceLoadTiming> loadTiming = PassRefPtr<ResourceLoadTiming>(timin
g); | 158 RefPtr<ResourceLoadTiming> loadTiming = PassRefPtr<ResourceLoadTiming>(timin
g); |
168 m_private->m_resourceResponse->setResourceLoadTiming(loadTiming.release()); | 159 m_resourceResponse->setResourceLoadTiming(loadTiming.release()); |
169 } | 160 } |
170 | 161 |
171 WebHTTPLoadInfo WebURLResponse::httpLoadInfo() | 162 WebHTTPLoadInfo WebURLResponse::httpLoadInfo() |
172 { | 163 { |
173 return WebHTTPLoadInfo(m_private->m_resourceResponse->resourceLoadInfo()); | 164 return WebHTTPLoadInfo(m_resourceResponse->resourceLoadInfo()); |
174 } | 165 } |
175 | 166 |
176 void WebURLResponse::setHTTPLoadInfo(const WebHTTPLoadInfo& value) | 167 void WebURLResponse::setHTTPLoadInfo(const WebHTTPLoadInfo& value) |
177 { | 168 { |
178 m_private->m_resourceResponse->setResourceLoadInfo(value); | 169 m_resourceResponse->setResourceLoadInfo(value); |
179 } | 170 } |
180 | 171 |
181 void WebURLResponse::setResponseTime(long long responseTime) | 172 void WebURLResponse::setResponseTime(long long responseTime) |
182 { | 173 { |
183 m_private->m_resourceResponse->setResponseTime(static_cast<int64_t>(response
Time)); | 174 m_resourceResponse->setResponseTime(static_cast<int64_t>(responseTime)); |
184 } | 175 } |
185 | 176 |
186 WebString WebURLResponse::mimeType() const | 177 WebString WebURLResponse::mimeType() const |
187 { | 178 { |
188 return m_private->m_resourceResponse->mimeType(); | 179 return m_resourceResponse->mimeType(); |
189 } | 180 } |
190 | 181 |
191 void WebURLResponse::setMIMEType(const WebString& mimeType) | 182 void WebURLResponse::setMIMEType(const WebString& mimeType) |
192 { | 183 { |
193 m_private->m_resourceResponse->setMimeType(mimeType); | 184 m_resourceResponse->setMimeType(mimeType); |
194 } | 185 } |
195 | 186 |
196 long long WebURLResponse::expectedContentLength() const | 187 long long WebURLResponse::expectedContentLength() const |
197 { | 188 { |
198 return m_private->m_resourceResponse->expectedContentLength(); | 189 return m_resourceResponse->expectedContentLength(); |
199 } | 190 } |
200 | 191 |
201 void WebURLResponse::setExpectedContentLength(long long expectedContentLength) | 192 void WebURLResponse::setExpectedContentLength(long long expectedContentLength) |
202 { | 193 { |
203 m_private->m_resourceResponse->setExpectedContentLength(expectedContentLengt
h); | 194 m_resourceResponse->setExpectedContentLength(expectedContentLength); |
204 } | 195 } |
205 | 196 |
206 WebString WebURLResponse::textEncodingName() const | 197 WebString WebURLResponse::textEncodingName() const |
207 { | 198 { |
208 return m_private->m_resourceResponse->textEncodingName(); | 199 return m_resourceResponse->textEncodingName(); |
209 } | 200 } |
210 | 201 |
211 void WebURLResponse::setTextEncodingName(const WebString& textEncodingName) | 202 void WebURLResponse::setTextEncodingName(const WebString& textEncodingName) |
212 { | 203 { |
213 m_private->m_resourceResponse->setTextEncodingName(textEncodingName); | 204 m_resourceResponse->setTextEncodingName(textEncodingName); |
214 } | 205 } |
215 | 206 |
216 WebString WebURLResponse::suggestedFileName() const | 207 WebString WebURLResponse::suggestedFileName() const |
217 { | 208 { |
218 return m_private->m_resourceResponse->suggestedFilename(); | 209 return m_resourceResponse->suggestedFilename(); |
219 } | 210 } |
220 | 211 |
221 void WebURLResponse::setSuggestedFileName(const WebString& suggestedFileName) | 212 void WebURLResponse::setSuggestedFileName(const WebString& suggestedFileName) |
222 { | 213 { |
223 m_private->m_resourceResponse->setSuggestedFilename(suggestedFileName); | 214 m_resourceResponse->setSuggestedFilename(suggestedFileName); |
224 } | 215 } |
225 | 216 |
226 WebURLResponse::HTTPVersion WebURLResponse::httpVersion() const | 217 WebURLResponse::HTTPVersion WebURLResponse::httpVersion() const |
227 { | 218 { |
228 return static_cast<HTTPVersion>(m_private->m_resourceResponse->httpVersion()
); | 219 return static_cast<HTTPVersion>(m_resourceResponse->httpVersion()); |
229 } | 220 } |
230 | 221 |
231 void WebURLResponse::setHTTPVersion(HTTPVersion version) | 222 void WebURLResponse::setHTTPVersion(HTTPVersion version) |
232 { | 223 { |
233 m_private->m_resourceResponse->setHTTPVersion(static_cast<ResourceResponse::
HTTPVersion>(version)); | 224 m_resourceResponse->setHTTPVersion(static_cast<ResourceResponse::HTTPVersion
>(version)); |
234 } | 225 } |
235 | 226 |
236 int WebURLResponse::httpStatusCode() const | 227 int WebURLResponse::httpStatusCode() const |
237 { | 228 { |
238 return m_private->m_resourceResponse->httpStatusCode(); | 229 return m_resourceResponse->httpStatusCode(); |
239 } | 230 } |
240 | 231 |
241 void WebURLResponse::setHTTPStatusCode(int httpStatusCode) | 232 void WebURLResponse::setHTTPStatusCode(int httpStatusCode) |
242 { | 233 { |
243 m_private->m_resourceResponse->setHTTPStatusCode(httpStatusCode); | 234 m_resourceResponse->setHTTPStatusCode(httpStatusCode); |
244 } | 235 } |
245 | 236 |
246 WebString WebURLResponse::httpStatusText() const | 237 WebString WebURLResponse::httpStatusText() const |
247 { | 238 { |
248 return m_private->m_resourceResponse->httpStatusText(); | 239 return m_resourceResponse->httpStatusText(); |
249 } | 240 } |
250 | 241 |
251 void WebURLResponse::setHTTPStatusText(const WebString& httpStatusText) | 242 void WebURLResponse::setHTTPStatusText(const WebString& httpStatusText) |
252 { | 243 { |
253 m_private->m_resourceResponse->setHTTPStatusText(httpStatusText); | 244 m_resourceResponse->setHTTPStatusText(httpStatusText); |
254 } | 245 } |
255 | 246 |
256 WebString WebURLResponse::httpHeaderField(const WebString& name) const | 247 WebString WebURLResponse::httpHeaderField(const WebString& name) const |
257 { | 248 { |
258 return m_private->m_resourceResponse->httpHeaderField(name); | 249 return m_resourceResponse->httpHeaderField(name); |
259 } | 250 } |
260 | 251 |
261 void WebURLResponse::setHTTPHeaderField(const WebString& name, const WebString&
value) | 252 void WebURLResponse::setHTTPHeaderField(const WebString& name, const WebString&
value) |
262 { | 253 { |
263 m_private->m_resourceResponse->setHTTPHeaderField(name, value); | 254 m_resourceResponse->setHTTPHeaderField(name, value); |
264 } | 255 } |
265 | 256 |
266 void WebURLResponse::addHTTPHeaderField(const WebString& name, const WebString&
value) | 257 void WebURLResponse::addHTTPHeaderField(const WebString& name, const WebString&
value) |
267 { | 258 { |
268 if (name.isNull() || value.isNull()) | 259 if (name.isNull() || value.isNull()) |
269 return; | 260 return; |
270 | 261 |
271 m_private->m_resourceResponse->addHTTPHeaderField(name, value); | 262 m_resourceResponse->addHTTPHeaderField(name, value); |
272 } | 263 } |
273 | 264 |
274 void WebURLResponse::clearHTTPHeaderField(const WebString& name) | 265 void WebURLResponse::clearHTTPHeaderField(const WebString& name) |
275 { | 266 { |
276 m_private->m_resourceResponse->clearHTTPHeaderField(name); | 267 m_resourceResponse->clearHTTPHeaderField(name); |
277 } | 268 } |
278 | 269 |
279 void WebURLResponse::visitHTTPHeaderFields(WebHTTPHeaderVisitor* visitor) const | 270 void WebURLResponse::visitHTTPHeaderFields(WebHTTPHeaderVisitor* visitor) const |
280 { | 271 { |
281 const HTTPHeaderMap& map = m_private->m_resourceResponse->httpHeaderFields()
; | 272 const HTTPHeaderMap& map = m_resourceResponse->httpHeaderFields(); |
282 for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) | 273 for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) |
283 visitor->visitHeader(it->key, it->value); | 274 visitor->visitHeader(it->key, it->value); |
284 } | 275 } |
285 | 276 |
286 double WebURLResponse::lastModifiedDate() const | 277 double WebURLResponse::lastModifiedDate() const |
287 { | 278 { |
288 return static_cast<double>(m_private->m_resourceResponse->lastModifiedDate()
); | 279 return static_cast<double>(m_resourceResponse->lastModifiedDate()); |
289 } | 280 } |
290 | 281 |
291 void WebURLResponse::setLastModifiedDate(double lastModifiedDate) | 282 void WebURLResponse::setLastModifiedDate(double lastModifiedDate) |
292 { | 283 { |
293 m_private->m_resourceResponse->setLastModifiedDate(static_cast<time_t>(lastM
odifiedDate)); | 284 m_resourceResponse->setLastModifiedDate(static_cast<time_t>(lastModifiedDate
)); |
294 } | 285 } |
295 | 286 |
296 long long WebURLResponse::appCacheID() const | 287 long long WebURLResponse::appCacheID() const |
297 { | 288 { |
298 return m_private->m_resourceResponse->appCacheID(); | 289 return m_resourceResponse->appCacheID(); |
299 } | 290 } |
300 | 291 |
301 void WebURLResponse::setAppCacheID(long long appCacheID) | 292 void WebURLResponse::setAppCacheID(long long appCacheID) |
302 { | 293 { |
303 m_private->m_resourceResponse->setAppCacheID(appCacheID); | 294 m_resourceResponse->setAppCacheID(appCacheID); |
304 } | 295 } |
305 | 296 |
306 WebURL WebURLResponse::appCacheManifestURL() const | 297 WebURL WebURLResponse::appCacheManifestURL() const |
307 { | 298 { |
308 return m_private->m_resourceResponse->appCacheManifestURL(); | 299 return m_resourceResponse->appCacheManifestURL(); |
309 } | 300 } |
310 | 301 |
311 void WebURLResponse::setAppCacheManifestURL(const WebURL& url) | 302 void WebURLResponse::setAppCacheManifestURL(const WebURL& url) |
312 { | 303 { |
313 m_private->m_resourceResponse->setAppCacheManifestURL(url); | 304 m_resourceResponse->setAppCacheManifestURL(url); |
314 } | 305 } |
315 | 306 |
316 WebCString WebURLResponse::securityInfo() const | 307 WebCString WebURLResponse::securityInfo() const |
317 { | 308 { |
318 // FIXME: getSecurityInfo is misnamed. | 309 // FIXME: getSecurityInfo is misnamed. |
319 return m_private->m_resourceResponse->getSecurityInfo(); | 310 return m_resourceResponse->getSecurityInfo(); |
320 } | 311 } |
321 | 312 |
322 void WebURLResponse::setSecurityInfo(const WebCString& securityInfo) | 313 void WebURLResponse::setSecurityInfo(const WebCString& securityInfo) |
323 { | 314 { |
324 m_private->m_resourceResponse->setSecurityInfo(securityInfo); | 315 m_resourceResponse->setSecurityInfo(securityInfo); |
325 } | 316 } |
326 | 317 |
327 void WebURLResponse::setHasMajorCertificateErrors(bool value) | 318 void WebURLResponse::setHasMajorCertificateErrors(bool value) |
328 { | 319 { |
329 m_private->m_resourceResponse->setHasMajorCertificateErrors(value); | 320 m_resourceResponse->setHasMajorCertificateErrors(value); |
330 } | 321 } |
331 | 322 |
332 WebURLResponse::SecurityStyle WebURLResponse::getSecurityStyle() const | 323 WebURLResponse::SecurityStyle WebURLResponse::getSecurityStyle() const |
333 { | 324 { |
334 return static_cast<SecurityStyle>(m_private->m_resourceResponse->getSecurity
Style()); | 325 return static_cast<SecurityStyle>(m_resourceResponse->getSecurityStyle()); |
335 } | 326 } |
336 | 327 |
337 void WebURLResponse::setSecurityStyle(SecurityStyle securityStyle) | 328 void WebURLResponse::setSecurityStyle(SecurityStyle securityStyle) |
338 { | 329 { |
339 m_private->m_resourceResponse->setSecurityStyle(static_cast<ResourceResponse
::SecurityStyle>(securityStyle)); | 330 m_resourceResponse->setSecurityStyle(static_cast<ResourceResponse::SecurityS
tyle>(securityStyle)); |
340 } | 331 } |
341 | 332 |
342 void WebURLResponse::setSecurityDetails(const WebSecurityDetails& webSecurityDet
ails) | 333 void WebURLResponse::setSecurityDetails(const WebSecurityDetails& webSecurityDet
ails) |
343 { | 334 { |
344 blink::ResourceResponse::SignedCertificateTimestampList sctList; | 335 blink::ResourceResponse::SignedCertificateTimestampList sctList; |
345 for (const auto& iter : webSecurityDetails.sctList) | 336 for (const auto& iter : webSecurityDetails.sctList) |
346 sctList.append(static_cast<blink::ResourceResponse::SignedCertificateTim
estamp>(iter)); | 337 sctList.append(static_cast<blink::ResourceResponse::SignedCertificateTim
estamp>(iter)); |
347 m_private->m_resourceResponse->setSecurityDetails( | 338 m_resourceResponse->setSecurityDetails( |
348 webSecurityDetails.protocol, | 339 webSecurityDetails.protocol, |
349 webSecurityDetails.keyExchange, | 340 webSecurityDetails.keyExchange, |
350 webSecurityDetails.cipher, | 341 webSecurityDetails.cipher, |
351 webSecurityDetails.mac, | 342 webSecurityDetails.mac, |
352 webSecurityDetails.certId, | 343 webSecurityDetails.certId, |
353 webSecurityDetails.numUnknownScts, | 344 webSecurityDetails.numUnknownScts, |
354 webSecurityDetails.numInvalidScts, | 345 webSecurityDetails.numInvalidScts, |
355 webSecurityDetails.numValidScts, | 346 webSecurityDetails.numValidScts, |
356 sctList); | 347 sctList); |
357 } | 348 } |
358 | 349 |
359 ResourceResponse& WebURLResponse::toMutableResourceResponse() | 350 ResourceResponse& WebURLResponse::toMutableResourceResponse() |
360 { | 351 { |
361 DCHECK(m_private->m_resourceResponse); | 352 return *m_resourceResponse; |
362 return *m_private->m_resourceResponse; | |
363 } | 353 } |
364 | 354 |
365 const ResourceResponse& WebURLResponse::toResourceResponse() const | 355 const ResourceResponse& WebURLResponse::toResourceResponse() const |
366 { | 356 { |
367 DCHECK(m_private->m_resourceResponse); | 357 return *m_resourceResponse; |
368 return *m_private->m_resourceResponse; | |
369 } | 358 } |
370 | 359 |
371 bool WebURLResponse::wasCached() const | 360 bool WebURLResponse::wasCached() const |
372 { | 361 { |
373 return m_private->m_resourceResponse->wasCached(); | 362 return m_resourceResponse->wasCached(); |
374 } | 363 } |
375 | 364 |
376 void WebURLResponse::setWasCached(bool value) | 365 void WebURLResponse::setWasCached(bool value) |
377 { | 366 { |
378 m_private->m_resourceResponse->setWasCached(value); | 367 m_resourceResponse->setWasCached(value); |
379 } | 368 } |
380 | 369 |
381 bool WebURLResponse::wasFetchedViaSPDY() const | 370 bool WebURLResponse::wasFetchedViaSPDY() const |
382 { | 371 { |
383 return m_private->m_resourceResponse->wasFetchedViaSPDY(); | 372 return m_resourceResponse->wasFetchedViaSPDY(); |
384 } | 373 } |
385 | 374 |
386 void WebURLResponse::setWasFetchedViaSPDY(bool value) | 375 void WebURLResponse::setWasFetchedViaSPDY(bool value) |
387 { | 376 { |
388 m_private->m_resourceResponse->setWasFetchedViaSPDY(value); | 377 m_resourceResponse->setWasFetchedViaSPDY(value); |
389 } | 378 } |
390 | 379 |
391 bool WebURLResponse::wasNpnNegotiated() const | 380 bool WebURLResponse::wasNpnNegotiated() const |
392 { | 381 { |
393 return m_private->m_resourceResponse->wasNpnNegotiated(); | 382 return m_resourceResponse->wasNpnNegotiated(); |
394 } | 383 } |
395 | 384 |
396 void WebURLResponse::setWasNpnNegotiated(bool value) | 385 void WebURLResponse::setWasNpnNegotiated(bool value) |
397 { | 386 { |
398 m_private->m_resourceResponse->setWasNpnNegotiated(value); | 387 m_resourceResponse->setWasNpnNegotiated(value); |
399 } | 388 } |
400 | 389 |
401 bool WebURLResponse::wasAlternateProtocolAvailable() const | 390 bool WebURLResponse::wasAlternateProtocolAvailable() const |
402 { | 391 { |
403 return m_private->m_resourceResponse->wasAlternateProtocolAvailable(); | 392 return m_resourceResponse->wasAlternateProtocolAvailable(); |
404 } | 393 } |
405 | 394 |
406 void WebURLResponse::setWasAlternateProtocolAvailable(bool value) | 395 void WebURLResponse::setWasAlternateProtocolAvailable(bool value) |
407 { | 396 { |
408 m_private->m_resourceResponse->setWasAlternateProtocolAvailable(value); | 397 m_resourceResponse->setWasAlternateProtocolAvailable(value); |
409 } | 398 } |
410 | 399 |
411 bool WebURLResponse::wasFetchedViaProxy() const | 400 bool WebURLResponse::wasFetchedViaProxy() const |
412 { | 401 { |
413 return m_private->m_resourceResponse->wasFetchedViaProxy(); | 402 return m_resourceResponse->wasFetchedViaProxy(); |
414 } | 403 } |
415 | 404 |
416 void WebURLResponse::setWasFetchedViaProxy(bool value) | 405 void WebURLResponse::setWasFetchedViaProxy(bool value) |
417 { | 406 { |
418 m_private->m_resourceResponse->setWasFetchedViaProxy(value); | 407 m_resourceResponse->setWasFetchedViaProxy(value); |
419 } | 408 } |
420 | 409 |
421 bool WebURLResponse::wasFetchedViaServiceWorker() const | 410 bool WebURLResponse::wasFetchedViaServiceWorker() const |
422 { | 411 { |
423 return m_private->m_resourceResponse->wasFetchedViaServiceWorker(); | 412 return m_resourceResponse->wasFetchedViaServiceWorker(); |
424 } | 413 } |
425 | 414 |
426 void WebURLResponse::setWasFetchedViaServiceWorker(bool value) | 415 void WebURLResponse::setWasFetchedViaServiceWorker(bool value) |
427 { | 416 { |
428 m_private->m_resourceResponse->setWasFetchedViaServiceWorker(value); | 417 m_resourceResponse->setWasFetchedViaServiceWorker(value); |
429 } | 418 } |
430 | 419 |
431 bool WebURLResponse::wasFallbackRequiredByServiceWorker() const | 420 bool WebURLResponse::wasFallbackRequiredByServiceWorker() const |
432 { | 421 { |
433 return m_private->m_resourceResponse->wasFallbackRequiredByServiceWorker(); | 422 return m_resourceResponse->wasFallbackRequiredByServiceWorker(); |
434 } | 423 } |
435 | 424 |
436 void WebURLResponse::setWasFallbackRequiredByServiceWorker(bool value) | 425 void WebURLResponse::setWasFallbackRequiredByServiceWorker(bool value) |
437 { | 426 { |
438 m_private->m_resourceResponse->setWasFallbackRequiredByServiceWorker(value); | 427 m_resourceResponse->setWasFallbackRequiredByServiceWorker(value); |
439 } | 428 } |
440 | 429 |
441 WebServiceWorkerResponseType WebURLResponse::serviceWorkerResponseType() const | 430 WebServiceWorkerResponseType WebURLResponse::serviceWorkerResponseType() const |
442 { | 431 { |
443 return m_private->m_resourceResponse->serviceWorkerResponseType(); | 432 return m_resourceResponse->serviceWorkerResponseType(); |
444 } | 433 } |
445 | 434 |
446 void WebURLResponse::setServiceWorkerResponseType(WebServiceWorkerResponseType v
alue) | 435 void WebURLResponse::setServiceWorkerResponseType(WebServiceWorkerResponseType v
alue) |
447 { | 436 { |
448 m_private->m_resourceResponse->setServiceWorkerResponseType(value); | 437 m_resourceResponse->setServiceWorkerResponseType(value); |
449 } | 438 } |
450 | 439 |
451 WebURL WebURLResponse::originalURLViaServiceWorker() const | 440 WebURL WebURLResponse::originalURLViaServiceWorker() const |
452 { | 441 { |
453 return m_private->m_resourceResponse->originalURLViaServiceWorker(); | 442 return m_resourceResponse->originalURLViaServiceWorker(); |
454 } | 443 } |
455 | 444 |
456 void WebURLResponse::setOriginalURLViaServiceWorker(const WebURL& url) | 445 void WebURLResponse::setOriginalURLViaServiceWorker(const WebURL& url) |
457 { | 446 { |
458 m_private->m_resourceResponse->setOriginalURLViaServiceWorker(url); | 447 m_resourceResponse->setOriginalURLViaServiceWorker(url); |
459 } | 448 } |
460 | 449 |
461 void WebURLResponse::setMultipartBoundary(const char* bytes, size_t size) | 450 void WebURLResponse::setMultipartBoundary(const char* bytes, size_t size) |
462 { | 451 { |
463 m_private->m_resourceResponse->setMultipartBoundary(bytes, size); | 452 m_resourceResponse->setMultipartBoundary(bytes, size); |
464 } | 453 } |
465 | 454 |
466 WebString WebURLResponse::cacheStorageCacheName() const | 455 WebString WebURLResponse::cacheStorageCacheName() const |
467 { | 456 { |
468 return m_private->m_resourceResponse->cacheStorageCacheName(); | 457 return m_resourceResponse->cacheStorageCacheName(); |
469 } | 458 } |
470 | 459 |
471 void WebURLResponse::setCacheStorageCacheName(const WebString& cacheStorageCache
Name) | 460 void WebURLResponse::setCacheStorageCacheName(const WebString& cacheStorageCache
Name) |
472 { | 461 { |
473 m_private->m_resourceResponse->setCacheStorageCacheName(cacheStorageCacheNam
e); | 462 m_resourceResponse->setCacheStorageCacheName(cacheStorageCacheName); |
474 } | 463 } |
475 | 464 |
476 void WebURLResponse::setCorsExposedHeaderNames(const WebVector<WebString>& heade
rNames) | 465 void WebURLResponse::setCorsExposedHeaderNames(const WebVector<WebString>& heade
rNames) |
477 { | 466 { |
478 Vector<String> exposedHeaderNames; | 467 Vector<String> exposedHeaderNames; |
479 exposedHeaderNames.append(headerNames.data(), headerNames.size()); | 468 exposedHeaderNames.append(headerNames.data(), headerNames.size()); |
480 m_private->m_resourceResponse->setCorsExposedHeaderNames(exposedHeaderNames)
; | 469 m_resourceResponse->setCorsExposedHeaderNames(exposedHeaderNames); |
481 } | 470 } |
482 | 471 |
483 WebString WebURLResponse::downloadFilePath() const | 472 WebString WebURLResponse::downloadFilePath() const |
484 { | 473 { |
485 return m_private->m_resourceResponse->downloadedFilePath(); | 474 return m_resourceResponse->downloadedFilePath(); |
486 } | 475 } |
487 | 476 |
488 void WebURLResponse::setDownloadFilePath(const WebString& downloadFilePath) | 477 void WebURLResponse::setDownloadFilePath(const WebString& downloadFilePath) |
489 { | 478 { |
490 m_private->m_resourceResponse->setDownloadedFilePath(downloadFilePath); | 479 m_resourceResponse->setDownloadedFilePath(downloadFilePath); |
491 } | 480 } |
492 | 481 |
493 WebString WebURLResponse::remoteIPAddress() const | 482 WebString WebURLResponse::remoteIPAddress() const |
494 { | 483 { |
495 return m_private->m_resourceResponse->remoteIPAddress(); | 484 return m_resourceResponse->remoteIPAddress(); |
496 } | 485 } |
497 | 486 |
498 void WebURLResponse::setRemoteIPAddress(const WebString& remoteIPAddress) | 487 void WebURLResponse::setRemoteIPAddress(const WebString& remoteIPAddress) |
499 { | 488 { |
500 m_private->m_resourceResponse->setRemoteIPAddress(remoteIPAddress); | 489 m_resourceResponse->setRemoteIPAddress(remoteIPAddress); |
501 } | 490 } |
502 | 491 |
503 unsigned short WebURLResponse::remotePort() const | 492 unsigned short WebURLResponse::remotePort() const |
504 { | 493 { |
505 return m_private->m_resourceResponse->remotePort(); | 494 return m_resourceResponse->remotePort(); |
506 } | 495 } |
507 | 496 |
508 void WebURLResponse::setRemotePort(unsigned short remotePort) | 497 void WebURLResponse::setRemotePort(unsigned short remotePort) |
509 { | 498 { |
510 m_private->m_resourceResponse->setRemotePort(remotePort); | 499 m_resourceResponse->setRemotePort(remotePort); |
511 } | 500 } |
512 | 501 |
513 WebURLResponse::ExtraData* WebURLResponse::getExtraData() const | 502 WebURLResponse::ExtraData* WebURLResponse::getExtraData() const |
514 { | 503 { |
515 RefPtr<ResourceResponse::ExtraData> data = m_private->m_resourceResponse->ge
tExtraData(); | 504 RefPtr<ResourceResponse::ExtraData> data = m_resourceResponse->getExtraData(
); |
516 if (!data) | 505 if (!data) |
517 return 0; | 506 return 0; |
518 return static_cast<ExtraDataContainer*>(data.get())->getExtraData(); | 507 return static_cast<ExtraDataContainer*>(data.get())->getExtraData(); |
519 } | 508 } |
520 | 509 |
521 void WebURLResponse::setExtraData(WebURLResponse::ExtraData* extraData) | 510 void WebURLResponse::setExtraData(WebURLResponse::ExtraData* extraData) |
522 { | 511 { |
523 m_private->m_resourceResponse->setExtraData(ExtraDataContainer::create(extra
Data)); | 512 m_resourceResponse->setExtraData(ExtraDataContainer::create(extraData)); |
524 } | 513 } |
525 | 514 |
526 WebURLResponse::WebURLResponse(WebURLResponsePrivate* p) | 515 WebURLResponse::WebURLResponse(ResourceResponse* p) |
527 : m_private(p) | 516 : m_resourceResponse(p) |
528 { | 517 { |
529 DCHECK(p); | 518 DCHECK(p); |
530 } | 519 } |
531 | 520 |
532 } // namespace blink | 521 } // namespace blink |
OLD | NEW |