| Index: content/renderer/dom_storage/dom_storage_dispatcher.h | 
| =================================================================== | 
| --- content/renderer/dom_storage/dom_storage_dispatcher.h	(revision 139572) | 
| +++ content/renderer/dom_storage/dom_storage_dispatcher.h	(working copy) | 
| @@ -6,24 +6,43 @@ | 
| #define CONTENT_RENDERER_DOM_STORAGE_DOM_STORAGE_DISPATCHER_H_ | 
| #pragma once | 
|  | 
| -#include "ipc/ipc_channel.h" | 
| +#include "base/memory/ref_counted.h" | 
|  | 
| +class GURL; | 
| struct DOMStorageMsg_Event_Params; | 
| +namespace dom_storage { | 
| +class DomStorageCachedArea; | 
| +} | 
| +namespace IPC { | 
| +class Message; | 
| +} | 
|  | 
| // Dispatches DomStorage related messages sent to a renderer process from the | 
| // main browser process. There is one instance per child process. Messages | 
| // are dispatched on the main renderer thread. The RenderThreadImpl | 
| -// creates an instance and delegates calls to it. | 
| -class DomStorageDispatcher : public IPC::Channel::Listener { | 
| +// creates an instance and delegates calls to it. This classes also manages | 
| +// the collection of DomStorageCachedAreas that are active in the process. | 
| +class DomStorageDispatcher { | 
| public: | 
| -  DomStorageDispatcher() {} | 
| +  DomStorageDispatcher(); | 
| +  ~DomStorageDispatcher(); | 
|  | 
| -  // IPC::Channel::Listener implementation | 
| -  virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 
| +  // Each call to open should be balanced with a call to close. | 
| +  scoped_refptr<dom_storage::DomStorageCachedArea> OpenCachedArea( | 
| +      int connection_id, int64 namespace_id, const GURL& origin); | 
| +  void CloseCachedArea( | 
| +      int connection_id, dom_storage::DomStorageCachedArea* area); | 
|  | 
| +  bool OnMessageReceived(const IPC::Message& msg); | 
| + | 
| private: | 
| +  class ProxyImpl; | 
| + | 
| // IPC message handlers | 
| void OnStorageEvent(const DOMStorageMsg_Event_Params& params); | 
| +  void OnAsyncOperationComplete(bool success); | 
| + | 
| +  scoped_refptr<ProxyImpl> proxy_; | 
| }; | 
|  | 
| #endif  // CONTENT_RENDERER_DOM_STORAGE_DOM_STORAGE_DISPATCHER_H_ | 
|  |