• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_
6 #define CONTENT_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_
7 
8 #include <vector>
9 
10 #include "content/common/appcache_interfaces.h"
11 #include "ipc/ipc_sender.h"
12 
13 namespace content {
14 
15 // Sends appcache related messages to the main process.
16 class AppCacheBackendProxy : public AppCacheBackend {
17  public:
AppCacheBackendProxy(IPC::Sender * sender)18   explicit AppCacheBackendProxy(IPC::Sender* sender) : sender_(sender) {}
19 
sender()20   IPC::Sender* sender() const { return sender_; }
21 
22   // AppCacheBackend methods
23   virtual void RegisterHost(int host_id) OVERRIDE;
24   virtual void UnregisterHost(int host_id) OVERRIDE;
25   virtual void SetSpawningHostId(int host_id, int spawning_host_id) OVERRIDE;
26   virtual void SelectCache(int host_id,
27                            const GURL& document_url,
28                            const int64 cache_document_was_loaded_from,
29                            const GURL& manifest_url) OVERRIDE;
30   virtual void SelectCacheForWorker(
31                            int host_id,
32                            int parent_process_id,
33                            int parent_host_id) OVERRIDE;
34   virtual void SelectCacheForSharedWorker(
35                            int host_id,
36                            int64 appcache_id) OVERRIDE;
37   virtual void MarkAsForeignEntry(
38       int host_id,
39       const GURL& document_url,
40       int64 cache_document_was_loaded_from) OVERRIDE;
41   virtual AppCacheStatus GetStatus(int host_id) OVERRIDE;
42   virtual bool StartUpdate(int host_id) OVERRIDE;
43   virtual bool SwapCache(int host_id) OVERRIDE;
44   virtual void GetResourceList(
45       int host_id,
46       std::vector<AppCacheResourceInfo>* resource_infos) OVERRIDE;
47 
48  private:
49   IPC::Sender* sender_;
50 };
51 
52 }  // namespace content
53 
54 #endif  // CONTENT_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_
55