PageDebuggerAgent.h [plain text]
#ifndef PageDebuggerAgent_h
#define PageDebuggerAgent_h
#include "PageScriptDebugServer.h"
#include "WebDebuggerAgent.h"
namespace WebCore {
class InspectorOverlay;
class InspectorPageAgent;
class InstrumentingAgents;
class Page;
class PageScriptDebugServer;
class PageDebuggerAgent final : public WebDebuggerAgent {
WTF_MAKE_NONCOPYABLE(PageDebuggerAgent);
WTF_MAKE_FAST_ALLOCATED;
public:
PageDebuggerAgent(Inspector::InjectedScriptManager*, InstrumentingAgents*, InspectorPageAgent*, InspectorOverlay*);
virtual ~PageDebuggerAgent() { }
void didClearMainFrameWindowObject();
void mainFrameStartedLoading();
void mainFrameStoppedLoading();
void mainFrameNavigated();
virtual PageScriptDebugServer& scriptDebugServer() override;
protected:
virtual void enable() override;
virtual void disable(bool isBeingDestroyed) override;
virtual String sourceMapURLForScript(const Script&) override;
private:
virtual void startListeningScriptDebugServer() override;
virtual void stopListeningScriptDebugServer(bool isBeingDestroyed) override;
virtual void muteConsole() override;
virtual void unmuteConsole() override;
virtual void breakpointActionLog(JSC::ExecState*, const String&) override;
virtual Inspector::InjectedScript injectedScriptForEval(ErrorString&, const int* executionContextId) override;
virtual void setOverlayMessage(ErrorString&, const String*) override;
InspectorPageAgent* m_pageAgent;
InspectorOverlay* m_overlay;
PageScriptDebugServer m_scriptDebugServer;
};
}
#endif // !defined(PageDebuggerAgent_h)