X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/81345200c95645a1b0d2635520f96ad55dfde63f..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/inspector/agents/InspectorRuntimeAgent.h diff --git a/inspector/agents/InspectorRuntimeAgent.h b/inspector/agents/InspectorRuntimeAgent.h index d6c1eea..25f3d7c 100644 --- a/inspector/agents/InspectorRuntimeAgent.h +++ b/inspector/agents/InspectorRuntimeAgent.h @@ -32,10 +32,8 @@ #ifndef InspectorRuntimeAgent_h #define InspectorRuntimeAgent_h -#if ENABLE(INSPECTOR) - -#include "InspectorJSBackendDispatchers.h" -#include "InspectorJSFrontendDispatchers.h" +#include "InspectorBackendDispatchers.h" +#include "InspectorFrontendDispatchers.h" #include "inspector/InspectorAgentBase.h" #include #include @@ -52,21 +50,30 @@ class InspectorArray; class ScriptDebugServer; typedef String ErrorString; -class JS_EXPORT_PRIVATE InspectorRuntimeAgent : public InspectorAgentBase, public InspectorRuntimeBackendDispatcherHandler { +class JS_EXPORT_PRIVATE InspectorRuntimeAgent : public InspectorAgentBase, public RuntimeBackendDispatcherHandler { WTF_MAKE_NONCOPYABLE(InspectorRuntimeAgent); public: virtual ~InspectorRuntimeAgent(); - virtual void enable(ErrorString*) override { m_enabled = true; } - virtual void disable(ErrorString*) override { m_enabled = false; } - virtual void parse(ErrorString*, const String& expression, Inspector::TypeBuilder::Runtime::SyntaxErrorType::Enum* result, Inspector::TypeBuilder::OptOutput* message, RefPtr&) override final; - virtual void evaluate(ErrorString*, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, RefPtr& result, Inspector::TypeBuilder::OptOutput* wasThrown) override final; - virtual void callFunctionOn(ErrorString*, const String& objectId, const String& expression, const RefPtr* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr& result, Inspector::TypeBuilder::OptOutput* wasThrown) override final; - virtual void releaseObject(ErrorString*, const ErrorString& objectId) override final; - virtual void getProperties(ErrorString*, const String& objectId, const bool* ownProperties, RefPtr>& result, RefPtr>& internalProperties) override final; - virtual void releaseObjectGroup(ErrorString*, const String& objectGroup) override final; - virtual void run(ErrorString*) override; - + virtual void willDestroyFrontendAndBackend(DisconnectReason) override; + + virtual void enable(ErrorString&) override { m_enabled = true; } + virtual void disable(ErrorString&) override { m_enabled = false; } + virtual void parse(ErrorString&, const String& expression, Inspector::Protocol::Runtime::SyntaxErrorType* result, Inspector::Protocol::OptOutput* message, RefPtr&) override final; + virtual void evaluate(ErrorString&, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr& result, Inspector::Protocol::OptOutput* wasThrown, Inspector::Protocol::OptOutput* savedResultIndex) override final; + virtual void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const Inspector::InspectorArray* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr& result, Inspector::Protocol::OptOutput* wasThrown) override final; + virtual void releaseObject(ErrorString&, const ErrorString& objectId) override final; + virtual void getProperties(ErrorString&, const String& objectId, const bool* ownProperties, const bool* generatePreview, RefPtr>& result, RefPtr>& internalProperties) override final; + virtual void getDisplayableProperties(ErrorString&, const String& objectId, const bool* generatePreview, RefPtr>& result, RefPtr>& internalProperties) override final; + virtual void getCollectionEntries(ErrorString&, const String& objectId, const String* objectGroup, const int* startIndex, const int* numberToFetch, RefPtr>& entries) override final; + virtual void saveResult(ErrorString&, const Inspector::InspectorObject& callArgument, const int* executionContextId, Inspector::Protocol::OptOutput* savedResultIndex) override final; + virtual void releaseObjectGroup(ErrorString&, const String& objectGroup) override final; + virtual void run(ErrorString&) override; + virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const Inspector::InspectorArray& locations, RefPtr>&) override; + virtual void enableTypeProfiler(ErrorString&) override; + virtual void disableTypeProfiler(ErrorString&) override; + virtual void getBasicBlocks(ErrorString&, const String& in_sourceID, RefPtr>& out_basicBlocks) override; + void setScriptDebugServer(ScriptDebugServer* scriptDebugServer) { m_scriptDebugServer = scriptDebugServer; } bool enabled() const { return m_enabled; } @@ -77,18 +84,20 @@ protected: InjectedScriptManager* injectedScriptManager() { return m_injectedScriptManager; } virtual JSC::VM& globalVM() = 0; - virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0; + virtual InjectedScript injectedScriptForEval(ErrorString&, const int* executionContextId) = 0; virtual void muteConsole() = 0; virtual void unmuteConsole() = 0; private: + void setTypeProfilerEnabledState(bool); + InjectedScriptManager* m_injectedScriptManager; ScriptDebugServer* m_scriptDebugServer; bool m_enabled; + bool m_isTypeProfilingEnabled; }; } // namespace Inspector -#endif // ENABLE(INSPECTOR) #endif // InspectorRuntimeAgent_h