InspectorDOMStorageAgent.h [plain text]
#ifndef InspectorDOMStorageAgent_h
#define InspectorDOMStorageAgent_h
#include "InspectorBaseAgent.h"
#include "StorageArea.h"
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class Frame;
class InspectorArray;
class InspectorFrontend;
class InspectorPageAgent;
class InspectorState;
class InstrumentingAgents;
class Page;
class SecurityOrigin;
class Storage;
class StorageArea;
typedef String ErrorString;
class InspectorDOMStorageAgent : public InspectorBaseAgent<InspectorDOMStorageAgent>, public InspectorBackendDispatcher::DOMStorageCommandHandler {
public:
static PassOwnPtr<InspectorDOMStorageAgent> create(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent, InspectorCompositeState* state)
{
return adoptPtr(new InspectorDOMStorageAgent(instrumentingAgents, pageAgent, state));
}
~InspectorDOMStorageAgent();
virtual void setFrontend(InspectorFrontend*);
virtual void clearFrontend();
virtual void enable(ErrorString*);
virtual void disable(ErrorString*);
virtual void getDOMStorageItems(ErrorString*, const RefPtr<InspectorObject>& storageId, RefPtr<TypeBuilder::Array<TypeBuilder::Array<String> > >& items);
virtual void setDOMStorageItem(ErrorString*, const RefPtr<InspectorObject>& storageId, const String& key, const String& value);
virtual void removeDOMStorageItem(ErrorString*, const RefPtr<InspectorObject>& storageId, const String& key);
String storageId(Storage*);
PassRefPtr<TypeBuilder::DOMStorage::StorageId> storageId(SecurityOrigin*, bool isLocalStorage);
void didDispatchDOMStorageEvent(const String& key, const String& oldValue, const String& newValue, StorageType, SecurityOrigin*, Page*);
private:
InspectorDOMStorageAgent(InstrumentingAgents*, InspectorPageAgent*, InspectorCompositeState*);
bool isEnabled() const;
PassRefPtr<StorageArea> findStorageArea(ErrorString*, const RefPtr<InspectorObject>&, Frame*&);
InspectorPageAgent* m_pageAgent;
InspectorFrontend* m_frontend;
};
}
#endif // !defined(InspectorDOMStorageAgent_h)