InspectorDOMStorageAgent.h [plain text]
#ifndef InspectorDOMStorageAgent_h
#define InspectorDOMStorageAgent_h
#include "InspectorBaseAgent.h"
#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
class Frame;
class InspectorArray;
class InspectorDOMStorageResource;
class InspectorFrontend;
class InspectorState;
class InstrumentingAgents;
class Storage;
class StorageArea;
typedef String ErrorString;
class InspectorDOMStorageAgent : public InspectorBaseAgent<InspectorDOMStorageAgent>, public InspectorBackendDispatcher::DOMStorageCommandHandler {
public:
static PassOwnPtr<InspectorDOMStorageAgent> create(InstrumentingAgents* instrumentingAgents, InspectorState* state)
{
return adoptPtr(new InspectorDOMStorageAgent(instrumentingAgents, state));
}
~InspectorDOMStorageAgent();
virtual void setFrontend(InspectorFrontend*);
virtual void clearFrontend();
void restore();
void clearResources();
virtual void enable(ErrorString*);
virtual void disable(ErrorString*);
virtual void getDOMStorageEntries(ErrorString*, const String& storageId, RefPtr<TypeBuilder::Array<TypeBuilder::Array<String> > >& entries);
virtual void setDOMStorageItem(ErrorString*, const String& storageId, const String& key, const String& value, bool* success);
virtual void removeDOMStorageItem(ErrorString*, const String& storageId, const String& key, bool* success);
String storageId(Storage*);
void didUseDOMStorage(StorageArea*, bool isLocalStorage, Frame*);
private:
InspectorDOMStorageAgent(InstrumentingAgents*, InspectorState*);
InspectorDOMStorageResource* getDOMStorageResourceForId(const String& storageId);
typedef HashMap<String, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap;
DOMStorageResourcesMap m_resources;
InspectorFrontend* m_frontend;
bool m_enabled;
};
}
#endif // !defined(InspectorDOMStorageAgent_h)