WebInspectorClient.h [plain text]
#ifndef WebInspectorClient_h
#define WebInspectorClient_h
#include <WebCore/InspectorClient.h>
#include <WebCore/InspectorForwarding.h>
#include <WebCore/PageOverlay.h>
#include <wtf/HashSet.h>
namespace WebCore {
class GraphicsContext;
class GraphicsLayer;
class IntRect;
class PageOverlay;
}
namespace WebKit {
class WebPage;
class RepaintIndicatorLayerClient;
class WebInspectorClient : public WebCore::InspectorClient, private WebCore::PageOverlay::Client {
friend class RepaintIndicatorLayerClient;
public:
WebInspectorClient(WebPage*);
virtual ~WebInspectorClient();
private:
void inspectorDestroyed() override;
WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*) override;
void closeInspectorFrontend() override;
void bringFrontendToFront() override;
void didResizeMainFrame(WebCore::Frame*) override;
void highlight() override;
void hideHighlight() override;
#if PLATFORM(IOS)
virtual void showInspectorIndication() override;
virtual void hideInspectorIndication() override;
virtual void didSetSearchingForNode(bool) override;
#endif
virtual bool overridesShowPaintRects() const override { return true; }
virtual void showPaintRect(const WebCore::FloatRect&) override;
virtual void pageOverlayDestroyed(WebCore::PageOverlay&) override;
virtual void willMoveToPage(WebCore::PageOverlay&, WebCore::Page*) override;
virtual void didMoveToPage(WebCore::PageOverlay&, WebCore::Page*) override;
virtual void drawRect(WebCore::PageOverlay&, WebCore::GraphicsContext&, const WebCore::IntRect&) override;
virtual bool mouseEvent(WebCore::PageOverlay&, const WebCore::PlatformMouseEvent&) override;
void animationEndedForLayer(const WebCore::GraphicsLayer*);
WebPage* m_page;
WebCore::PageOverlay* m_highlightOverlay;
RefPtr<WebCore::PageOverlay> m_paintRectOverlay;
std::unique_ptr<RepaintIndicatorLayerClient> m_paintIndicatorLayerClient;
HashSet<WebCore::GraphicsLayer*> m_paintRectLayers; };
}
#endif // WebInspectorClient_h