appcache_backend_proxy.h revision ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16
1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#ifndef CONTENT_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_ 6ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#define CONTENT_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_ 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <vector> 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ipc/ipc_sender.h" 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "webkit/common/appcache/appcache_interfaces.h" 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace content { 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Sends appcache related messages to the main process. 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass AppCacheBackendProxy : public appcache::AppCacheBackend { 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch public: 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch explicit AppCacheBackendProxy(IPC::Sender* sender) : sender_(sender) {} 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch IPC::Sender* sender() const { return sender_; } 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // AppCacheBackend methods 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void RegisterHost(int host_id) OVERRIDE; 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void UnregisterHost(int host_id) OVERRIDE; 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void SetSpawningHostId(int host_id, int spawning_host_id) OVERRIDE; 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void SelectCache(int host_id, 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const GURL& document_url, 28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const int64 cache_document_was_loaded_from, 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const GURL& manifest_url) OVERRIDE; 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void SelectCacheForWorker( 31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int host_id, 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int parent_process_id, 33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int parent_host_id) OVERRIDE; 34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void SelectCacheForSharedWorker( 35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int host_id, 36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int64 appcache_id) OVERRIDE; 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void MarkAsForeignEntry( 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int host_id, 39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const GURL& document_url, 40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int64 cache_document_was_loaded_from) OVERRIDE; 41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual appcache::Status GetStatus(int host_id) OVERRIDE; 42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool StartUpdate(int host_id) OVERRIDE; 43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool SwapCache(int host_id) OVERRIDE; 44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void GetResourceList( 45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch int host_id, 46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch std::vector<appcache::AppCacheResourceInfo>* resource_infos) OVERRIDE; 47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 48eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch private: 49eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch IPC::Sender* sender_; 50eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}; 51eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 52eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} // namespace content 53eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 54ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif // CONTENT_CHILD_APPCACHE_APPCACHE_BACKEND_PROXY_H_