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 27 matching lines...) Expand all Loading... |
165 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; | 180 data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; |
166 data->m_securityStyle = m_securityStyle; | 181 data->m_securityStyle = m_securityStyle; |
167 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; | 182 data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy()
; |
168 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); | 183 data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); |
169 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); | 184 data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolated
Copy(); |
170 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); | 185 data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); |
171 data->m_securityDetails.certID = m_securityDetails.certID; | 186 data->m_securityDetails.certID = m_securityDetails.certID; |
172 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; | 187 data->m_securityDetails.numUnknownSCTs = m_securityDetails.numUnknownSCTs; |
173 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; | 188 data->m_securityDetails.numInvalidSCTs = m_securityDetails.numInvalidSCTs; |
174 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; | 189 data->m_securityDetails.numValidSCTs = m_securityDetails.numValidSCTs; |
| 190 data->m_securityDetails.sctList = m_securityDetails.sctList; |
175 data->m_httpVersion = m_httpVersion; | 191 data->m_httpVersion = m_httpVersion; |
176 data->m_appCacheID = m_appCacheID; | 192 data->m_appCacheID = m_appCacheID; |
177 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); | 193 data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); |
178 data->m_multipartBoundary = m_multipartBoundary; | 194 data->m_multipartBoundary = m_multipartBoundary; |
179 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; | 195 data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; |
180 data->m_wasNpnNegotiated = m_wasNpnNegotiated; | 196 data->m_wasNpnNegotiated = m_wasNpnNegotiated; |
181 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; | 197 data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; |
182 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; | 198 data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; |
183 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; | 199 data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; |
184 data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceW
orker; | 200 data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceW
orker; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 else if (equalIgnoringCase(name, cacheControlHeaderString()) || equalIgnorin
gCase(name, pragmaHeaderString())) | 331 else if (equalIgnoringCase(name, cacheControlHeaderString()) || equalIgnorin
gCase(name, pragmaHeaderString())) |
316 m_cacheControlHeader = CacheControlHeader(); | 332 m_cacheControlHeader = CacheControlHeader(); |
317 else if (equalIgnoringCase(name, dateHeader)) | 333 else if (equalIgnoringCase(name, dateHeader)) |
318 m_haveParsedDateHeader = false; | 334 m_haveParsedDateHeader = false; |
319 else if (equalIgnoringCase(name, expiresHeader)) | 335 else if (equalIgnoringCase(name, expiresHeader)) |
320 m_haveParsedExpiresHeader = false; | 336 m_haveParsedExpiresHeader = false; |
321 else if (equalIgnoringCase(name, lastModifiedHeader)) | 337 else if (equalIgnoringCase(name, lastModifiedHeader)) |
322 m_haveParsedLastModifiedHeader = false; | 338 m_haveParsedLastModifiedHeader = false; |
323 } | 339 } |
324 | 340 |
325 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) | 341 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) |
326 { | 342 { |
327 m_securityDetails.protocol = protocol; | 343 m_securityDetails.protocol = protocol; |
328 m_securityDetails.keyExchange = keyExchange; | 344 m_securityDetails.keyExchange = keyExchange; |
329 m_securityDetails.cipher = cipher; | 345 m_securityDetails.cipher = cipher; |
330 m_securityDetails.mac = mac; | 346 m_securityDetails.mac = mac; |
331 m_securityDetails.certID = certId; | 347 m_securityDetails.certID = certId; |
332 m_securityDetails.numUnknownSCTs = numUnknownScts; | 348 m_securityDetails.numUnknownSCTs = numUnknownScts; |
333 m_securityDetails.numInvalidSCTs = numInvalidScts; | 349 m_securityDetails.numInvalidSCTs = numInvalidScts; |
334 m_securityDetails.numValidSCTs = numValidScts; | 350 m_securityDetails.numValidSCTs = numValidScts; |
| 351 m_securityDetails.sctList = sctList; |
335 } | 352 } |
336 | 353 |
337 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 354 void ResourceResponse::setHTTPHeaderField(const AtomicString& name, const Atomic
String& value) |
338 { | 355 { |
339 updateHeaderParsedState(name); | 356 updateHeaderParsedState(name); |
340 | 357 |
341 m_httpHeaderFields.set(name, value); | 358 m_httpHeaderFields.set(name, value); |
342 } | 359 } |
343 | 360 |
344 void ResourceResponse::addHTTPHeaderField(const AtomicString& name, const Atomic
String& value) | 361 void ResourceResponse::addHTTPHeaderField(const AtomicString& name, const Atomic
String& value) |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 if (a.httpHeaderFields() != b.httpHeaderFields()) | 584 if (a.httpHeaderFields() != b.httpHeaderFields()) |
568 return false; | 585 return false; |
569 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) | 586 if (a.resourceLoadTiming() && b.resourceLoadTiming() && *a.resourceLoadTimin
g() == *b.resourceLoadTiming()) |
570 return true; | 587 return true; |
571 if (a.resourceLoadTiming() != b.resourceLoadTiming()) | 588 if (a.resourceLoadTiming() != b.resourceLoadTiming()) |
572 return false; | 589 return false; |
573 return true; | 590 return true; |
574 } | 591 } |
575 | 592 |
576 } // namespace blink | 593 } // namespace blink |
OLD | NEW |