#ifndef InspectorClient_h
#define InspectorClient_h
#include "core/inspector/InspectorStateClient.h"
#include "wtf/Forward.h"
#include "wtf/HashMap.h"
#include "wtf/HashSet.h"
namespace WebCore {
class IntPoint;
class Page;
class PlatformKeyboardEvent;
class PlatformMouseEvent;
class InspectorClient : public InspectorStateClient {
public:
virtual void highlight() = 0;
virtual void hideHighlight() = 0;
virtual void clearBrowserCache() { }
virtual void clearBrowserCookies() { }
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 String& categoryFilter, TraceEventCallback) { }
virtual void resetTraceEventCallback() { }
virtual void startGPUEventsRecording() { }
virtual void stopGPUEventsRecording() { }
virtual void overrideDeviceMetrics(int , int , float , bool , bool ) { }
virtual bool overridesShowPaintRects() { return false; }
virtual void setShowPaintRects(bool) { }
virtual void setShowDebugBorders(bool) { }
virtual void setShowFPSCounter(bool) { }
virtual void setContinuousPaintingEnabled(bool) { }
virtual void setShowScrollBottleneckRects(bool) { }
virtual void requestPageScaleFactor(float scale, const IntPoint& origin) { }
virtual void getAllocatedObjects(HashSet<const void*>&) { }
virtual void dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>&) { }
virtual void dispatchKeyEvent(const PlatformKeyboardEvent&) { }
virtual void dispatchMouseEvent(const PlatformMouseEvent&) { }
static bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
protected:
virtual ~InspectorClient() { }
};
}
#endif