WebDevToolsAgentImpl.h [plain text]
#ifndef WebDevToolsAgentImpl_h
#define WebDevToolsAgentImpl_h
#include "InspectorClient.h"
#include "WebDevToolsAgentPrivate.h"
#include "WebPageOverlay.h"
#include "platform/WebSize.h"
#include <wtf/Forward.h>
#include <wtf/OwnPtr.h>
namespace WebCore {
class Document;
class Frame;
class FrameView;
class GraphicsContext;
class InspectorClient;
class InspectorController;
class Node;
}
namespace WebKit {
class DeviceMetricsSupport;
class WebDevToolsAgentClient;
class WebFrame;
class WebFrameImpl;
class WebString;
class WebURLRequest;
class WebURLResponse;
class WebViewImpl;
struct WebURLError;
struct WebDevToolsMessageData;
class WebDevToolsAgentImpl : public WebDevToolsAgentPrivate,
public WebCore::InspectorClient,
public WebPageOverlay {
public:
WebDevToolsAgentImpl(WebViewImpl* webViewImpl, WebDevToolsAgentClient* client);
virtual ~WebDevToolsAgentImpl();
virtual void didCreateScriptContext(WebFrameImpl*, int worldId);
virtual void mainFrameViewCreated(WebFrameImpl*);
virtual bool metricsOverridden();
virtual void webViewResized();
virtual void attach();
virtual void reattach(const WebString& savedState);
virtual void detach();
virtual void didNavigate();
virtual void dispatchOnInspectorBackend(const WebString& message);
virtual void inspectElementAt(const WebPoint& point);
virtual void evaluateInWebInspector(long callId, const WebString& script);
virtual void setJavaScriptProfilingEnabled(bool);
virtual void setProcessId(long);
virtual void inspectorDestroyed();
virtual void openInspectorFrontend(WebCore::InspectorController*);
virtual void closeInspectorFrontend();
virtual void bringFrontendToFront();
virtual void highlight();
virtual void hideHighlight();
virtual void updateInspectorStateCookie(const WTF::String&);
virtual bool sendMessageToFrontend(const WTF::String&);
virtual void clearBrowserCache();
virtual void clearBrowserCookies();
virtual void overrideDeviceMetrics(int width, int height, float fontScaleFactor, bool fitWindow);
virtual void autoZoomPageToFitWidth();
int hostId() { return m_hostId; }
virtual void paintPageOverlay(WebCanvas*);
private:
WebCore::InspectorController* inspectorController();
WebCore::Frame* mainFrame();
int m_hostId;
WebDevToolsAgentClient* m_client;
WebViewImpl* m_webViewImpl;
bool m_attached;
OwnPtr<DeviceMetricsSupport> m_metricsSupport;
};
}
#endif