#ifndef WebDevToolsAgentClient_h
#define WebDevToolsAgentClient_h
#include "../platform/WebCString.h"
#include "../platform/WebCommon.h"
namespace blink {
class WebString;
struct WebDeviceEmulationParams;
struct WebDevToolsMessageData;
struct WebRect;
struct WebSize;
class WebDevToolsAgentClient {
public:
virtual void sendMessageToInspectorFrontend(const WebString&) { }
virtual void sendDebuggerOutput(const WebString&) { }
virtual int hostIdentifier() { return -1; }
virtual void saveAgentRuntimeState(const WebString&) { }
class WebKitClientMessageLoop {
public:
virtual ~WebKitClientMessageLoop() { }
virtual void run() = 0;
virtual void quitNow() = 0;
};
virtual WebKitClientMessageLoop* createClientMessageLoop() { return 0; }
virtual void clearBrowserCache() { }
virtual void clearBrowserCookies() { }
class AllocatedObjectVisitor {
public:
virtual bool visitObject(const void* ptr) = 0;
protected:
virtual ~AllocatedObjectVisitor() { }
};
virtual void visitAllocatedObjects(AllocatedObjectVisitor*) { }
class InstrumentedObjectSizeProvider {
public:
virtual size_t objectSize(const void* ptr) const = 0;
protected:
virtual ~InstrumentedObjectSizeProvider() { }
};
virtual void dumpUncountedAllocatedObjects(const InstrumentedObjectSizeProvider*) { }
typedef void (*TraceEventCallback)(char phase, const unsigned char*, const char* name, unsigned long long id,
int numArgs, const char* const* argNames, const unsigned char* argTypes, const unsigned long long* argValues,
unsigned char flags, double timestamp);
virtual void setTraceEventCallback(const WebString& categoryFilter, TraceEventCallback) { }
virtual void resetTraceEventCallback() { }
virtual void startGPUEventsRecording() { }
virtual void stopGPUEventsRecording() { }
virtual void enableDeviceEmulation(const WebDeviceEmulationParams& params) { }
virtual void disableDeviceEmulation() { }
protected:
~WebDevToolsAgentClient() { }
};
}
#endif