| 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 : m_status(sct.status) |
| 37 , m_origin(sct.origin) |
| 38 , m_logDescription(sct.logDescription) |
| 39 , m_logId(sct.logId) |
| 40 , m_timestamp(sct.timestamp) |
| 41 , m_hashAlgorithm(sct.hashAlgorithm) |
| 42 , m_signatureAlgorithm(sct.signatureAlgorithm) |
| 43 , m_signatureData(sct.signatureData) |
| 44 { |
| 45 } |
| 46 |
| 34 ResourceResponse::ResourceResponse() | 47 ResourceResponse::ResourceResponse() |
| 35 : m_expectedContentLength(0) | 48 : m_expectedContentLength(0) |
| 36 , m_httpStatusCode(0) | 49 , m_httpStatusCode(0) |
| 37 , m_lastModifiedDate(0) | 50 , m_lastModifiedDate(0) |
| 38 , m_wasCached(false) | 51 , m_wasCached(false) |
| 39 , m_connectionID(0) | 52 , m_connectionID(0) |
| 40 , m_connectionReused(false) | 53 , m_connectionReused(false) |
| 41 , m_isNull(true) | 54 , m_isNull(true) |
| 42 , m_haveParsedAgeHeader(false) | 55 , m_haveParsedAgeHeader(false) |
| 43 , m_haveParsedDateHeader(false) | 56 , m_haveParsedDateHeader(false) |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 m_hasMajorCertificateErrors = data->m_hasMajorCertificateErrors; | 131 m_hasMajorCertificateErrors = data->m_hasMajorCertificateErrors; |
| 119 m_securityStyle = data->m_securityStyle; | 132 m_securityStyle = data->m_securityStyle; |
| 120 m_securityDetails.protocol = data->m_securityDetails.protocol; | 133 m_securityDetails.protocol = data->m_securityDetails.protocol; |
| 121 m_securityDetails.cipher = data->m_securityDetails.cipher; | 134 m_securityDetails.cipher = data->m_securityDetails.cipher; |
| 122 m_securityDetails.keyExchange = data->m_securityDetails.keyExchange; | 135 m_securityDetails.keyExchange = data->m_securityDetails.keyExchange; |
| 123 m_securityDetails.mac = data->m_securityDetails.mac; | 136 m_securityDetails.mac = data->m_securityDetails.mac; |
| 124 m_securityDetails.certID = data->m_securityDetails.certID; | 137 m_securityDetails.certID = data->m_securityDetails.certID; |
| 125 m_securityDetails.numUnknownSCTs = data->m_securityDetails.numUnknownSCTs; | 138 m_securityDetails.numUnknownSCTs = data->m_securityDetails.numUnknownSCTs; |
| 126 m_securityDetails.numInvalidSCTs = data->m_securityDetails.numInvalidSCTs; | 139 m_securityDetails.numInvalidSCTs = data->m_securityDetails.numInvalidSCTs; |
| 127 m_securityDetails.numValidSCTs = data->m_securityDetails.numValidSCTs; | 140 m_securityDetails.numValidSCTs = data->m_securityDetails.numValidSCTs; |
| 141 m_securityDetails.sctList = data->m_securityDetails.sctList; |
| 128 m_httpVersion = data->m_httpVersion; | 142 m_httpVersion = data->m_httpVersion; |
| 129 m_appCacheID = data->m_appCacheID; | 143 m_appCacheID = data->m_appCacheID; |
| 130 m_appCacheManifestURL = data->m_appCacheManifestURL.copy(); | 144 m_appCacheManifestURL = data->m_appCacheManifestURL.copy(); |
| 131 m_multipartBoundary = data->m_multipartBoundary; | 145 m_multipartBoundary = data->m_multipartBoundary; |
| 132 m_wasFetchedViaSPDY = data->m_wasFetchedViaSPDY; | 146 m_wasFetchedViaSPDY = data->m_wasFetchedViaSPDY; |
| 133 m_wasNpnNegotiated = data->m_wasNpnNegotiated; | 147 m_wasNpnNegotiated = data->m_wasNpnNegotiated; |
| 134 m_wasAlternateProtocolAvailable = data->m_wasAlternateProtocolAvailable; | 148 m_wasAlternateProtocolAvailable = data->m_wasAlternateProtocolAvailable; |
| 135 m_wasFetchedViaProxy = data->m_wasFetchedViaProxy; | 149 m_wasFetchedViaProxy = data->m_wasFetchedViaProxy; |
| 136 m_wasFetchedViaServiceWorker = data->m_wasFetchedViaServiceWorker; | 150 m_wasFetchedViaServiceWorker = data->m_wasFetchedViaServiceWorker; |
| 137 m_wasFallbackRequiredByServiceWorker = data->m_wasFallbackRequiredByServiceW
orker; | 151 m_wasFallbackRequiredByServiceWorker = data->m_wasFallbackRequiredByServiceW
orker; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 166 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; | 180 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; |
| 167 data->m_securityStyle = m_securityStyle; | 181 data->m_securityStyle = m_securityStyle; |
| 168 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; | 182 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; |
| 169 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); | 183 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); |
| 170 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); | 184 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); |
| 171 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); | 185 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); |
| 172 data->m_securityDetails.certID = m_securityDetails.certID; | 186 data->m_securityDetails.certID = m_securityDetails.certID; |
| 173 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; | 187 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; |
| 174 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; | 188 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; |
| 175 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; | 189 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; |
| 190 data->m_securityDetails.sctList = m_securityDetails.sctList; |
| 176 data->m_httpVersion = m_httpVersion; | 191 data->m_httpVersion = m_httpVersion; |
| 177 data->m_appCacheID = m_appCacheID; | 192 data->m_appCacheID = m_appCacheID; |
| 178 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); | 193 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); |
| 179 data->m_multipartBoundary = m_multipartBoundary; | 194 data->m_multipartBoundary = m_multipartBoundary; |
| 180 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; | 195 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; |
| 181 data->m_wasNpnNegotiated = m_wasNpnNegotiated; | 196 data->m_wasNpnNegotiated = m_wasNpnNegotiated; |
| 182 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; | 197 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; |
| 183 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; | 198 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; |
| 184 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; | 199 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; |
| 185 data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceW
orker; | 200 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())) | 332 else if (equalIgnoringCase(name, cacheControlHeaderString()) || equalIgnorin
gCase(name, pragmaHeaderString())) |
| 318 m_cacheControlHeader = CacheControlHeader(); | 333 m_cacheControlHeader = CacheControlHeader(); |
| 319 else if (equalIgnoringCase(name, dateHeader)) | 334 else if (equalIgnoringCase(name, dateHeader)) |
| 320 m_haveParsedDateHeader = false; | 335 m_haveParsedDateHeader = false; |
| 321 else if (equalIgnoringCase(name, expiresHeader)) | 336 else if (equalIgnoringCase(name, expiresHeader)) |
| 322 m_haveParsedExpiresHeader = false; | 337 m_haveParsedExpiresHeader = false; |
| 323 else if (equalIgnoringCase(name, lastModifiedHeader)) | 338 else if (equalIgnoringCase(name, lastModifiedHeader)) |
| 324 m_haveParsedLastModifiedHeader = false; | 339 m_haveParsedLastModifiedHeader = false; |
| 325 } | 340 } |
| 326 | 341 |
| 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) | 342 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 { | 343 { |
| 329 m_securityDetails.protocol = protocol; | 344 m_securityDetails.protocol = protocol; |
| 330 m_securityDetails.keyExchange = keyExchange; | 345 m_securityDetails.keyExchange = keyExchange; |
| 331 m_securityDetails.cipher = cipher; | 346 m_securityDetails.cipher = cipher; |
| 332 m_securityDetails.mac = mac; | 347 m_securityDetails.mac = mac; |
| 333 m_securityDetails.certID = certId; | 348 m_securityDetails.certID = certId; |
| 334 m_securityDetails.numUnknownSCTs = numUnknownScts; | 349 m_securityDetails.numUnknownSCTs = numUnknownScts; |
| 335 m_securityDetails.numInvalidSCTs = numInvalidScts; | 350 m_securityDetails.numInvalidSCTs = numInvalidScts; |
| 336 m_securityDetails.numValidSCTs = numValidScts; | 351 m_securityDetails.numValidSCTs = numValidScts; |
| 352 m_securityDetails.sctList = sctList; |
| 337 } | 353 } |
| 338 | 354 |
| 339 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 355 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) |
| 340 { | 356 { |
| 341 updateHeaderParsedState(name); | 357 updateHeaderParsedState(name); |
| 342 | 358 |
| 343 m_httpHeaderFields.set(name, value); | 359 m_httpHeaderFields.set(name, value); |
| 344 } | 360 } |
| 345 | 361 |
| 346 void ResourceResponse::addHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 362 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()) | 585 if (a.httpHeaderFields() != b.httpHeaderFields()) |
| 570 return false; | 586 return false; |
| 571 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) | 587 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) |
| 572 return true; | 588 return true; |
| 573 if (a.resourceLoadTiming() != b.resourceLoadTiming()) | 589 if (a.resourceLoadTiming() != b.resourceLoadTiming()) |
| 574 return false; | 590 return false; |
| 575 return true; | 591 return true; |
| 576 } | 592 } |
| 577 | 593 |
| 578 } // namespace blink | 594 } // namespace blink |
| OLD | NEW |