| Index: webkit/appcache/appcache_backend_impl.h
|
| ===================================================================
|
| --- webkit/appcache/appcache_backend_impl.h (revision 26254)
|
| +++ webkit/appcache/appcache_backend_impl.h (working copy)
|
| @@ -5,22 +5,15 @@
|
| #ifndef WEBKIT_APPCACHE_APPCACHE_BACKEND_IMPL_H_
|
| #define WEBKIT_APPCACHE_APPCACHE_BACKEND_IMPL_H_
|
|
|
| -#include <map>
|
| -
|
| #include "base/logging.h"
|
| -#include "base/task.h"
|
| +#include "base/hash_tables.h"
|
| #include "webkit/appcache/appcache_host.h"
|
| -#include "webkit/appcache/appcache_interfaces.h"
|
|
|
| namespace appcache {
|
|
|
| class AppCacheService;
|
|
|
| -typedef Callback2<Status, void*>::Type GetStatusCallback;
|
| -typedef Callback2<bool, void*>::Type StartUpdateCallback;
|
| -typedef Callback2<bool, void*>::Type SwapCacheCallback;
|
| -
|
| -class AppCacheBackendImpl : public AppCacheBackend {
|
| +class AppCacheBackendImpl {
|
| public:
|
| AppCacheBackendImpl() : service_(NULL), frontend_(NULL), process_id_(0) {}
|
| ~AppCacheBackendImpl();
|
| @@ -31,38 +24,33 @@
|
|
|
| int process_id() const { return process_id_; }
|
|
|
| + // Methods to support the AppCacheBackend interface. A false return
|
| + // value indicates an invalid host_id and that no action was taken
|
| + // by the backend impl.
|
| + bool RegisterHost(int host_id);
|
| + bool UnregisterHost(int host_id);
|
| + bool SelectCache(int host_id,
|
| + const GURL& document_url,
|
| + const int64 cache_document_was_loaded_from,
|
| + const GURL& manifest_url);
|
| + bool MarkAsForeignEntry(int host_id, const GURL& document_url,
|
| + int64 cache_document_was_loaded_from);
|
| + bool GetStatusWithCallback(int host_id, GetStatusCallback* callback,
|
| + void* callback_param);
|
| + bool StartUpdateWithCallback(int host_id, StartUpdateCallback* callback,
|
| + void* callback_param);
|
| + bool SwapCacheWithCallback(int host_id, SwapCacheCallback* callback,
|
| + void* callback_param);
|
| +
|
| // Returns a pointer to a registered host. The backend retains ownership.
|
| AppCacheHost* GetHost(int host_id) {
|
| HostMap::iterator it = hosts_.find(host_id);
|
| - return (it != hosts_.end()) ? &(it->second) : NULL;
|
| + return (it != hosts_.end()) ? (it->second) : NULL;
|
| }
|
|
|
| - typedef std::map<int, AppCacheHost> HostMap;
|
| + typedef base::hash_map<int, AppCacheHost*> HostMap;
|
| const HostMap& hosts() { return hosts_; }
|
|
|
| - // AppCacheBackend methods
|
| - virtual void RegisterHost(int host_id);
|
| - virtual void UnregisterHost(int host_id);
|
| - virtual void SelectCache(int host_id,
|
| - const GURL& document_url,
|
| - const int64 cache_document_was_loaded_from,
|
| - const GURL& manifest_url);
|
| - virtual void MarkAsForeignEntry(int host_id, const GURL& document_url,
|
| - int64 cache_document_was_loaded_from);
|
| -
|
| - // We don't use the sync variants in the backend, would block the IO thread.
|
| - virtual Status GetStatus(int host_id) { NOTREACHED(); return UNCACHED; }
|
| - virtual bool StartUpdate(int host_id) { NOTREACHED(); return false; }
|
| - virtual bool SwapCache(int host_id) { NOTREACHED(); return false; }
|
| -
|
| - // Async variants of the sync methods defined in the backend interface.
|
| - void GetStatusWithCallback(int host_id, GetStatusCallback* callback,
|
| - void* callback_param);
|
| - void StartUpdateWithCallback(int host_id, StartUpdateCallback* callback,
|
| - void* callback_param);
|
| - void SwapCacheWithCallback(int host_id, SwapCacheCallback* callback,
|
| - void* callback_param);
|
| -
|
| private:
|
| AppCacheService* service_;
|
| AppCacheFrontend* frontend_;
|
|
|