| OLD | NEW |
| 1 /* | 1 /* |
| 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
| 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) | 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) |
| 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) | 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) |
| 5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 6 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 6 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
| 7 rights reserved. | 7 rights reserved. |
| 8 | 8 |
| 9 This library is free software; you can redistribute it and/or | 9 This library is free software; you can redistribute it and/or |
| 10 modify it under the terms of the GNU Library General Public | 10 modify it under the terms of the GNU Library General Public |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 } | 388 } |
| 389 | 389 |
| 390 void Resource::setResourceBuffer(PassRefPtr<SharedBuffer> resourceBuffer) { | 390 void Resource::setResourceBuffer(PassRefPtr<SharedBuffer> resourceBuffer) { |
| 391 DCHECK(!m_isRevalidating); | 391 DCHECK(!m_isRevalidating); |
| 392 DCHECK(!errorOccurred()); | 392 DCHECK(!errorOccurred()); |
| 393 DCHECK_EQ(m_options.dataBufferingPolicy, BufferData); | 393 DCHECK_EQ(m_options.dataBufferingPolicy, BufferData); |
| 394 m_data = resourceBuffer; | 394 m_data = resourceBuffer; |
| 395 setEncodedSize(m_data->size()); | 395 setEncodedSize(m_data->size()); |
| 396 } | 396 } |
| 397 | 397 |
| 398 void Resource::clearData() { |
| 399 m_data.clear(); |
| 400 setEncodedSizeMemoryUsage(0); |
| 401 } |
| 402 |
| 398 void Resource::setDataBufferingPolicy(DataBufferingPolicy dataBufferingPolicy) { | 403 void Resource::setDataBufferingPolicy(DataBufferingPolicy dataBufferingPolicy) { |
| 399 m_options.dataBufferingPolicy = dataBufferingPolicy; | 404 m_options.dataBufferingPolicy = dataBufferingPolicy; |
| 400 m_data.clear(); | 405 clearData(); |
| 401 setEncodedSize(0); | 406 setEncodedSize(0); |
| 402 } | 407 } |
| 403 | 408 |
| 404 void Resource::error(const ResourceError& error) { | 409 void Resource::error(const ResourceError& error) { |
| 405 DCHECK(!error.isNull()); | 410 DCHECK(!error.isNull()); |
| 406 m_error = error; | 411 m_error = error; |
| 407 m_isRevalidating = false; | 412 m_isRevalidating = false; |
| 408 | 413 |
| 409 if (m_error.isCancellation() || !isPreloaded()) | 414 if (m_error.isCancellation() || !isPreloaded()) |
| 410 memoryCache()->remove(this); | 415 memoryCache()->remove(this); |
| 411 | 416 |
| 412 if (!errorOccurred()) | 417 if (!errorOccurred()) |
| 413 setStatus(LoadError); | 418 setStatus(LoadError); |
| 414 DCHECK(errorOccurred()); | 419 DCHECK(errorOccurred()); |
| 415 m_data.clear(); | 420 clearData(); |
| 416 m_loader = nullptr; | 421 m_loader = nullptr; |
| 417 checkNotify(); | 422 checkNotify(); |
| 418 } | 423 } |
| 419 | 424 |
| 420 void Resource::finish(double loadFinishTime) { | 425 void Resource::finish(double loadFinishTime) { |
| 421 DCHECK(!m_isRevalidating); | 426 DCHECK(!m_isRevalidating); |
| 422 m_loadFinishTime = loadFinishTime; | 427 m_loadFinishTime = loadFinishTime; |
| 423 if (!errorOccurred()) | 428 if (!errorOccurred()) |
| 424 m_status = Cached; | 429 m_status = Cached; |
| 425 m_loader = nullptr; | 430 m_loader = nullptr; |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 960 if (!shouldUpdateHeaderAfterRevalidation(header.key)) | 965 if (!shouldUpdateHeaderAfterRevalidation(header.key)) |
| 961 continue; | 966 continue; |
| 962 m_response.setHTTPHeaderField(header.key, header.value); | 967 m_response.setHTTPHeaderField(header.key, header.value); |
| 963 } | 968 } |
| 964 | 969 |
| 965 m_isRevalidating = false; | 970 m_isRevalidating = false; |
| 966 } | 971 } |
| 967 | 972 |
| 968 void Resource::revalidationFailed() { | 973 void Resource::revalidationFailed() { |
| 969 SECURITY_CHECK(m_redirectChain.isEmpty()); | 974 SECURITY_CHECK(m_redirectChain.isEmpty()); |
| 970 m_data.clear(); | 975 clearData(); |
| 971 m_cacheHandler.clear(); | 976 m_cacheHandler.clear(); |
| 972 destroyDecodedDataForFailedRevalidation(); | 977 destroyDecodedDataForFailedRevalidation(); |
| 973 m_isRevalidating = false; | 978 m_isRevalidating = false; |
| 974 } | 979 } |
| 975 | 980 |
| 976 bool Resource::canReuseRedirectChain() { | 981 bool Resource::canReuseRedirectChain() { |
| 977 for (auto& redirect : m_redirectChain) { | 982 for (auto& redirect : m_redirectChain) { |
| 978 if (!canUseResponse(redirect.m_redirectResponse, m_responseTimestamp)) | 983 if (!canUseResponse(redirect.m_redirectResponse, m_responseTimestamp)) |
| 979 return false; | 984 return false; |
| 980 if (redirect.m_request.cacheControlContainsNoCache() || | 985 if (redirect.m_request.cacheControlContainsNoCache() || |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1107 case Resource::TextTrack: | 1112 case Resource::TextTrack: |
| 1108 case Resource::Media: | 1113 case Resource::Media: |
| 1109 case Resource::Manifest: | 1114 case Resource::Manifest: |
| 1110 return false; | 1115 return false; |
| 1111 } | 1116 } |
| 1112 NOTREACHED(); | 1117 NOTREACHED(); |
| 1113 return false; | 1118 return false; |
| 1114 } | 1119 } |
| 1115 | 1120 |
| 1116 } // namespace blink | 1121 } // namespace blink |
| OLD | NEW |