| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/http/http_cache_transaction.h" | 5 #include "net/http/http_cache_transaction.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 | 8 |
| 9 #if defined(OS_POSIX) | 9 #if defined(OS_POSIX) |
| 10 #include <unistd.h> | 10 #include <unistd.h> |
| (...skipping 1752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1763 // TODO(darin): need to do more work here: | 1763 // TODO(darin): need to do more work here: |
| 1764 // - make sure we have a matching request method | 1764 // - make sure we have a matching request method |
| 1765 // - watch out for cached responses that depend on authentication | 1765 // - watch out for cached responses that depend on authentication |
| 1766 // In playback mode, nothing requires validation. | 1766 // In playback mode, nothing requires validation. |
| 1767 if (cache_->mode() == net::HttpCache::PLAYBACK) | 1767 if (cache_->mode() == net::HttpCache::PLAYBACK) |
| 1768 return false; | 1768 return false; |
| 1769 | 1769 |
| 1770 if (effective_load_flags_ & LOAD_VALIDATE_CACHE) | 1770 if (effective_load_flags_ & LOAD_VALIDATE_CACHE) |
| 1771 return true; | 1771 return true; |
| 1772 | 1772 |
| 1773 if (request_->method == "PUT" || request_->method == "DELETE") |
| 1774 return true; |
| 1775 |
| 1773 if (response_.headers->RequiresValidation( | 1776 if (response_.headers->RequiresValidation( |
| 1774 response_.request_time, response_.response_time, Time::Now())) | 1777 response_.request_time, response_.response_time, Time::Now())) |
| 1775 return true; | 1778 return true; |
| 1776 | 1779 |
| 1777 // Since Vary header computation is fairly expensive, we save it for last. | 1780 // Since Vary header computation is fairly expensive, we save it for last. |
| 1778 if (response_.vary_data.is_valid() && | 1781 if (response_.vary_data.is_valid() && |
| 1779 !response_.vary_data.MatchesRequest(*request_, *response_.headers)) | 1782 !response_.vary_data.MatchesRequest(*request_, *response_.headers)) |
| 1780 return true; | 1783 return true; |
| 1781 | 1784 |
| 1782 return false; | 1785 return false; |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2176 if (transaction_delegate_) | 2179 if (transaction_delegate_) |
| 2177 transaction_delegate_->OnCacheActionStart(); | 2180 transaction_delegate_->OnCacheActionStart(); |
| 2178 } | 2181 } |
| 2179 | 2182 |
| 2180 void HttpCache::Transaction::ReportCacheActionFinish() { | 2183 void HttpCache::Transaction::ReportCacheActionFinish() { |
| 2181 if (transaction_delegate_) | 2184 if (transaction_delegate_) |
| 2182 transaction_delegate_->OnCacheActionFinish(); | 2185 transaction_delegate_->OnCacheActionFinish(); |
| 2183 } | 2186 } |
| 2184 | 2187 |
| 2185 } // namespace net | 2188 } // namespace net |
| OLD | NEW |