| 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 // This file declares a HttpTransactionFactory implementation that can be | 5 // This file declares a HttpTransactionFactory implementation that can be |
| 6 // layered on top of another HttpTransactionFactory to add HTTP caching. The | 6 // layered on top of another HttpTransactionFactory to add HTTP caching. The |
| 7 // caching logic follows RFC 2616 (any exceptions are called out in the code). | 7 // caching logic follows RFC 2616 (any exceptions are called out in the code). |
| 8 // | 8 // |
| 9 // The HttpCache takes a disk_cache::Backend as a parameter, and uses that for | 9 // The HttpCache takes a disk_cache::Backend as a parameter, and uses that for |
| 10 // the cache storage. | 10 // the cache storage. |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 class ViewCacheHelper; | 65 class ViewCacheHelper; |
| 66 struct HttpRequestInfo; | 66 struct HttpRequestInfo; |
| 67 | 67 |
| 68 class NET_EXPORT HttpCache : public HttpTransactionFactory, | 68 class NET_EXPORT HttpCache : public HttpTransactionFactory, |
| 69 NON_EXPORTED_BASE(public base::NonThreadSafe) { | 69 NON_EXPORTED_BASE(public base::NonThreadSafe) { |
| 70 public: | 70 public: |
| 71 // The cache mode of operation. | 71 // The cache mode of operation. |
| 72 enum Mode { | 72 enum Mode { |
| 73 // Normal mode just behaves like a standard web cache. | 73 // Normal mode just behaves like a standard web cache. |
| 74 NORMAL = 0, | 74 NORMAL = 0, |
| 75 // Record mode caches everything for purposes of offline playback. | |
| 76 RECORD, | |
| 77 // Playback mode replays from a cache without considering any | |
| 78 // standard invalidations. | |
| 79 PLAYBACK, | |
| 80 // Disables reads and writes from the cache. | 75 // Disables reads and writes from the cache. |
| 81 // Equivalent to setting LOAD_DISABLE_CACHE on every request. | 76 // Equivalent to setting LOAD_DISABLE_CACHE on every request. |
| 82 DISABLE | 77 DISABLE |
| 83 }; | 78 }; |
| 84 | 79 |
| 85 // A BackendFactory creates a backend object to be used by the HttpCache. | 80 // A BackendFactory creates a backend object to be used by the HttpCache. |
| 86 class NET_EXPORT BackendFactory { | 81 class NET_EXPORT BackendFactory { |
| 87 public: | 82 public: |
| 88 virtual ~BackendFactory() {} | 83 virtual ~BackendFactory() {} |
| 89 | 84 |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 scoped_ptr<base::Clock> clock_; | 472 scoped_ptr<base::Clock> clock_; |
| 478 | 473 |
| 479 base::WeakPtrFactory<HttpCache> weak_factory_; | 474 base::WeakPtrFactory<HttpCache> weak_factory_; |
| 480 | 475 |
| 481 DISALLOW_COPY_AND_ASSIGN(HttpCache); | 476 DISALLOW_COPY_AND_ASSIGN(HttpCache); |
| 482 }; | 477 }; |
| 483 | 478 |
| 484 } // namespace net | 479 } // namespace net |
| 485 | 480 |
| 486 #endif // NET_HTTP_HTTP_CACHE_H_ | 481 #endif // NET_HTTP_HTTP_CACHE_H_ |
| OLD | NEW |