OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 13 matching lines...) Expand all Loading... |
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 */ | 25 */ |
26 | 26 |
27 #include "platform/network/ResourceResponse.h" | 27 #include "platform/network/ResourceResponse.h" |
28 | 28 |
29 #include "wtf/CurrentTime.h" | 29 #include "wtf/CurrentTime.h" |
30 #include "wtf/StdLibExtras.h" | 30 #include "wtf/StdLibExtras.h" |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
| 34 ResourceResponse::SignedCertificateTimestamp::SignedCertificateTimestamp( |
| 35 const blink::WebURLResponse::SignedCertificateTimestamp& sct) |
| 36 : status(sct.status) |
| 37 , origin(sct.origin) |
| 38 , version(sct.version) |
| 39 , logDescription(sct.logDescription) |
| 40 , logId(sct.logId) |
| 41 , timestamp(sct.timestamp) |
| 42 , hashAlgorithm(sct.hashAlgorithm) |
| 43 , signatureAlgorithm(sct.signatureAlgorithm) |
| 44 , signatureData(sct.signatureData) |
| 45 { |
| 46 } |
| 47 |
34 ResourceResponse::ResourceResponse() | 48 ResourceResponse::ResourceResponse() |
35 : m_expectedContentLength(0) | 49 : m_expectedContentLength(0) |
36 , m_httpStatusCode(0) | 50 , m_httpStatusCode(0) |
37 , m_lastModifiedDate(0) | 51 , m_lastModifiedDate(0) |
38 , m_wasCached(false) | 52 , m_wasCached(false) |
39 , m_connectionID(0) | 53 , m_connectionID(0) |
40 , m_connectionReused(false) | 54 , m_connectionReused(false) |
41 , m_isNull(true) | 55 , m_isNull(true) |
42 , m_haveParsedAgeHeader(false) | 56 , m_haveParsedAgeHeader(false) |
43 , m_haveParsedDateHeader(false) | 57 , m_haveParsedDateHeader(false) |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 m_hasMajorCertificateErrors = data->m_hasMajorCertificateErrors; | 132 m_hasMajorCertificateErrors = data->m_hasMajorCertificateErrors; |
119 m_securityStyle = data->m_securityStyle; | 133 m_securityStyle = data->m_securityStyle; |
120 m_securityDetails.protocol = data->m_securityDetails.protocol; | 134 m_securityDetails.protocol = data->m_securityDetails.protocol; |
121 m_securityDetails.cipher = data->m_securityDetails.cipher; | 135 m_securityDetails.cipher = data->m_securityDetails.cipher; |
122 m_securityDetails.keyExchange = data->m_securityDetails.keyExchange; | 136 m_securityDetails.keyExchange = data->m_securityDetails.keyExchange; |
123 m_securityDetails.mac = data->m_securityDetails.mac; | 137 m_securityDetails.mac = data->m_securityDetails.mac; |
124 m_securityDetails.certID = data->m_securityDetails.certID; | 138 m_securityDetails.certID = data->m_securityDetails.certID; |
125 m_securityDetails.numUnknownSCTs = data->m_securityDetails.numUnknownSCTs; | 139 m_securityDetails.numUnknownSCTs = data->m_securityDetails.numUnknownSCTs; |
126 m_securityDetails.numInvalidSCTs = data->m_securityDetails.numInvalidSCTs; | 140 m_securityDetails.numInvalidSCTs = data->m_securityDetails.numInvalidSCTs; |
127 m_securityDetails.numValidSCTs = data->m_securityDetails.numValidSCTs; | 141 m_securityDetails.numValidSCTs = data->m_securityDetails.numValidSCTs; |
| 142 m_securityDetails.sctList = data->m_securityDetails.sctList; |
128 m_httpVersion = data->m_httpVersion; | 143 m_httpVersion = data->m_httpVersion; |
129 m_appCacheID = data->m_appCacheID; | 144 m_appCacheID = data->m_appCacheID; |
130 m_appCacheManifestURL = data->m_appCacheManifestURL.copy(); | 145 m_appCacheManifestURL = data->m_appCacheManifestURL.copy(); |
131 m_multipartBoundary = data->m_multipartBoundary; | 146 m_multipartBoundary = data->m_multipartBoundary; |
132 m_wasFetchedViaSPDY = data->m_wasFetchedViaSPDY; | 147 m_wasFetchedViaSPDY = data->m_wasFetchedViaSPDY; |
133 m_wasNpnNegotiated = data->m_wasNpnNegotiated; | 148 m_wasNpnNegotiated = data->m_wasNpnNegotiated; |
134 m_wasAlternateProtocolAvailable = data->m_wasAlternateProtocolAvailable; | 149 m_wasAlternateProtocolAvailable = data->m_wasAlternateProtocolAvailable; |
135 m_wasFetchedViaProxy = data->m_wasFetchedViaProxy; | 150 m_wasFetchedViaProxy = data->m_wasFetchedViaProxy; |
136 m_wasFetchedViaServiceWorker = data->m_wasFetchedViaServiceWorker; | 151 m_wasFetchedViaServiceWorker = data->m_wasFetchedViaServiceWorker; |
137 m_wasFallbackRequiredByServiceWorker = data->m_wasFallbackRequiredByServiceW
orker; | 152 m_wasFallbackRequiredByServiceWorker = data->m_wasFallbackRequiredByServiceW
orker; |
(...skipping 28 matching lines...) Expand all Loading... |
166 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; | 181 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; |
167 data->m_securityStyle = m_securityStyle; | 182 data->m_securityStyle = m_securityStyle; |
168 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; | 183 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; |
169 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); | 184 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); |
170 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); | 185 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); |
171 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); | 186 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); |
172 data->m_securityDetails.certID = m_securityDetails.certID; | 187 data->m_securityDetails.certID = m_securityDetails.certID; |
173 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; | 188 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; |
174 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; | 189 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; |
175 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; | 190 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; |
| 191 data->m_securityDetails.sctList = m_securityDetails.sctList; |
176 data->m_httpVersion = m_httpVersion; | 192 data->m_httpVersion = m_httpVersion; |
177 data->m_appCacheID = m_appCacheID; | 193 data->m_appCacheID = m_appCacheID; |
178 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); | 194 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); |
179 data->m_multipartBoundary = m_multipartBoundary; | 195 data->m_multipartBoundary = m_multipartBoundary; |
180 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; | 196 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; |
181 data->m_wasNpnNegotiated = m_wasNpnNegotiated; | 197 data->m_wasNpnNegotiated = m_wasNpnNegotiated; |
182 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; | 198 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; |
183 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; | 199 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; |
184 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; | 200 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; |
185 data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceW
orker; | 201 data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceW
orker; |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 else if (equalIgnoringCase(name, cacheControlHeaderString()) || equalIgnorin
gCase(name, pragmaHeaderString())) | 333 else if (equalIgnoringCase(name, cacheControlHeaderString()) || equalIgnorin
gCase(name, pragmaHeaderString())) |
318 m_cacheControlHeader = CacheControlHeader(); | 334 m_cacheControlHeader = CacheControlHeader(); |
319 else if (equalIgnoringCase(name, dateHeader)) | 335 else if (equalIgnoringCase(name, dateHeader)) |
320 m_haveParsedDateHeader = false; | 336 m_haveParsedDateHeader = false; |
321 else if (equalIgnoringCase(name, expiresHeader)) | 337 else if (equalIgnoringCase(name, expiresHeader)) |
322 m_haveParsedExpiresHeader = false; | 338 m_haveParsedExpiresHeader = false; |
323 else if (equalIgnoringCase(name, lastModifiedHeader)) | 339 else if (equalIgnoringCase(name, lastModifiedHeader)) |
324 m_haveParsedLastModifiedHeader = false; | 340 m_haveParsedLastModifiedHeader = false; |
325 } | 341 } |
326 | 342 |
327 void ResourceResponse::setSecurityDetails(const String& protocol, const String&
keyExchange, const String& cipher, const String& mac, int certId, size_t numUnkn
ownScts, size_t numInvalidScts, size_t numValidScts) | 343 void ResourceResponse::setSecurityDetails(const String& protocol, const String&
keyExchange, const String& cipher, const String& mac, int certId, size_t numUnkn
ownScts, size_t numInvalidScts, size_t numValidScts, const SignedCertificateTime
stampList& sctList) |
328 { | 344 { |
329 m_securityDetails.protocol = protocol; | 345 m_securityDetails.protocol = protocol; |
330 m_securityDetails.keyExchange = keyExchange; | 346 m_securityDetails.keyExchange = keyExchange; |
331 m_securityDetails.cipher = cipher; | 347 m_securityDetails.cipher = cipher; |
332 m_securityDetails.mac = mac; | 348 m_securityDetails.mac = mac; |
333 m_securityDetails.certID = certId; | 349 m_securityDetails.certID = certId; |
334 m_securityDetails.numUnknownSCTs = numUnknownScts; | 350 m_securityDetails.numUnknownSCTs = numUnknownScts; |
335 m_securityDetails.numInvalidSCTs = numInvalidScts; | 351 m_securityDetails.numInvalidSCTs = numInvalidScts; |
336 m_securityDetails.numValidSCTs = numValidScts; | 352 m_securityDetails.numValidSCTs = numValidScts; |
| 353 m_securityDetails.sctList = sctList; |
337 } | 354 } |
338 | 355 |
339 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 356 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) |
340 { | 357 { |
341 updateHeaderParsedState(name); | 358 updateHeaderParsedState(name); |
342 | 359 |
343 m_httpHeaderFields.set(name, value); | 360 m_httpHeaderFields.set(name, value); |
344 } | 361 } |
345 | 362 |
346 void ResourceResponse::addHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 363 void ResourceResponse::addHTTPHeaderField(const AtomicString& name, const Atomic
String& value) |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 if (a.httpHeaderFields() != b.httpHeaderFields()) | 586 if (a.httpHeaderFields() != b.httpHeaderFields()) |
570 return false; | 587 return false; |
571 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) | 588 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) |
572 return true; | 589 return true; |
573 if (a.resourceLoadTiming() != b.resourceLoadTiming()) | 590 if (a.resourceLoadTiming() != b.resourceLoadTiming()) |
574 return false; | 591 return false; |
575 return true; | 592 return true; |
576 } | 593 } |
577 | 594 |
578 } // namespace blink | 595 } // namespace blink |
OLD | NEW |