WebInspectorClient.h [plain text]
#ifndef WebInspectorClient_h
#define WebInspectorClient_h
#include <WebCore/InspectorClient.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 inspectedPageDestroyed() override;
Inspector::FrontendChannel* openLocalFrontend(WebCore::InspectorController*) override;
void bringFrontendToFront() override;
void didResizeMainFrame(WebCore::Frame*) override;
void highlight() override;
void hideHighlight() override;
#if PLATFORM(IOS)
void showInspectorIndication() override;
void hideInspectorIndication() override;
void didSetSearchingForNode(bool) override;
#endif
void elementSelectionChanged(bool) override;
bool overridesShowPaintRects() const override { return true; }
void showPaintRect(const WebCore::FloatRect&) override;
void willMoveToPage(WebCore::PageOverlay&, WebCore::Page*) override;
void didMoveToPage(WebCore::PageOverlay&, WebCore::Page*) override;
void drawRect(WebCore::PageOverlay&, WebCore::GraphicsContext&, const WebCore::IntRect&) override;
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