• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_DISK_CACHE_H_
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_DISK_CACHE_H_
7 
8 #include "content/common/content_export.h"
9 #include "webkit/browser/appcache/appcache_disk_cache.h"
10 
11 namespace content {
12 
13 // Wholesale reusage of the appcache code for response reading,
14 // writing, and storage. See the corresponding class in that
15 // library for doc comments and other details.
16 // TODO(michaeln): If this reuse sticks, refactor/move the
17 // resused classes to a more common location.
18 
19 class CONTENT_EXPORT ServiceWorkerDiskCache
20     : public appcache::AppCacheDiskCache {
21 };
22 
23 class CONTENT_EXPORT ServiceWorkerResponseReader
24     : public appcache::AppCacheResponseReader {
25  protected:
26   // Should only be constructed by the storage class.
27   friend class ServiceWorkerStorage;
28   ServiceWorkerResponseReader(
29       int64 response_id,
30       ServiceWorkerDiskCache* disk_cache);
31 };
32 
33 class CONTENT_EXPORT ServiceWorkerResponseWriter
34     : public appcache::AppCacheResponseWriter {
35  protected:
36   // Should only be constructed by the storage class.
37   friend class ServiceWorkerStorage;
38   ServiceWorkerResponseWriter(
39       int64 response_id,
40       ServiceWorkerDiskCache* disk_cache);
41 };
42 
43 struct CONTENT_EXPORT HttpResponseInfoIOBuffer
44     : public appcache::HttpResponseInfoIOBuffer {
45  public:
HttpResponseInfoIOBufferHttpResponseInfoIOBuffer46   HttpResponseInfoIOBuffer() : appcache::HttpResponseInfoIOBuffer() {}
HttpResponseInfoIOBufferHttpResponseInfoIOBuffer47   explicit HttpResponseInfoIOBuffer(net::HttpResponseInfo* info)
48       : appcache::HttpResponseInfoIOBuffer(info) {}
49  protected:
50   virtual ~HttpResponseInfoIOBuffer();
51 };
52 
53 }  // namespace content
54 
55 #endif  // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_DISK_CACHE_H_
56