PageScriptDebugServer.h [plain text]
#ifndef PageScriptDebugServer_h
#define PageScriptDebugServer_h
#if ENABLE(INSPECTOR)
#include <inspector/ScriptDebugServer.h>
#include <wtf/Forward.h>
namespace WebCore {
class Frame;
class FrameView;
class Page;
class PageGroup;
class PageScriptDebugServer final : public Inspector::ScriptDebugServer {
WTF_MAKE_NONCOPYABLE(PageScriptDebugServer);
public:
PageScriptDebugServer(Page&);
virtual ~PageScriptDebugServer() { }
void addListener(Inspector::ScriptDebugListener*);
void removeListener(Inspector::ScriptDebugListener*, bool isBeingDestroyed);
virtual void recompileAllJSFunctions() override;
private:
virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) override { return &m_listeners; }
virtual void didPause(JSC::JSGlobalObject*) override;
virtual void didContinue(JSC::JSGlobalObject*) override;
virtual void runEventLoopWhilePaused() override;
virtual bool isContentScript(JSC::ExecState*) const override;
virtual void reportException(JSC::ExecState*, JSC::JSValue) const override;
void runEventLoopWhilePausedInternal();
void setJavaScriptPaused(const PageGroup&, bool paused);
void setJavaScriptPaused(Page*, bool paused);
void setJavaScriptPaused(Frame*, bool paused);
void setJavaScriptPaused(FrameView*, bool paused);
ListenerSet m_listeners;
Page& m_page;
};
}
#endif // ENABLE(INSPECTOR)
#endif // PageScriptDebugServer_h