summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h')
-rw-r--r--Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h65
1 files changed, 36 insertions, 29 deletions
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
index 2bc6e2994..2d2f626ec 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
+++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013, 2015-2016 Apple Inc. All rights reserved.
* Copyright (C) 2011 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -29,13 +29,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef InspectorRuntimeAgent_h
-#define InspectorRuntimeAgent_h
+#pragma once
-#if ENABLE(INSPECTOR)
-
-#include "InspectorJSBackendDispatchers.h"
-#include "InspectorJSFrontendDispatchers.h"
+#include "InspectorBackendDispatchers.h"
+#include "InspectorFrontendDispatchers.h"
#include "inspector/InspectorAgentBase.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
@@ -52,43 +49,53 @@ 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<String>* message, RefPtr<Inspector::TypeBuilder::Runtime::ErrorRange>&) 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<Inspector::TypeBuilder::Runtime::RemoteObject>& result, Inspector::TypeBuilder::OptOutput<bool>* wasThrown) override final;
- virtual void callFunctionOn(ErrorString*, const String& objectId, const String& expression, const RefPtr<Inspector::InspectorArray>* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Inspector::TypeBuilder::Runtime::RemoteObject>& result, Inspector::TypeBuilder::OptOutput<bool>* wasThrown) override final;
- virtual void releaseObject(ErrorString*, const ErrorString& objectId) override final;
- virtual void getProperties(ErrorString*, const String& objectId, const bool* ownProperties, RefPtr<Inspector::TypeBuilder::Array<Inspector::TypeBuilder::Runtime::PropertyDescriptor>>& result, RefPtr<Inspector::TypeBuilder::Array<Inspector::TypeBuilder::Runtime::InternalPropertyDescriptor>>& internalProperties) override final;
- virtual void releaseObjectGroup(ErrorString*, const String& objectGroup) override final;
- virtual void run(ErrorString*) override;
-
- void setScriptDebugServer(ScriptDebugServer* scriptDebugServer) { m_scriptDebugServer = scriptDebugServer; }
+ void willDestroyFrontendAndBackend(DisconnectReason) override;
+
+ void enable(ErrorString&) override { m_enabled = true; }
+ void disable(ErrorString&) override { m_enabled = false; }
+ void parse(ErrorString&, const String& expression, Inspector::Protocol::Runtime::SyntaxErrorType* result, Inspector::Protocol::OptOutput<String>* message, RefPtr<Inspector::Protocol::Runtime::ErrorRange>&) final;
+ void evaluate(ErrorString&, const String& expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const int* const executionContextId, const bool* const returnByValue, const bool* const generatePreview, const bool* const saveResult, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown, Inspector::Protocol::OptOutput<int>* savedResultIndex) final;
+ void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const Inspector::InspectorArray* optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* const generatePreview, RefPtr<Inspector::Protocol::Runtime::RemoteObject>& result, Inspector::Protocol::OptOutput<bool>* wasThrown) final;
+ void releaseObject(ErrorString&, const ErrorString& objectId) final;
+ void getProperties(ErrorString&, const String& objectId, const bool* const ownProperties, const bool* const generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) final;
+ void getDisplayableProperties(ErrorString&, const String& objectId, const bool* const generatePreview, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) final;
+ void getCollectionEntries(ErrorString&, const String& objectId, const String* const objectGroup, const int* const startIndex, const int* const numberToFetch, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::CollectionEntry>>& entries) final;
+ void saveResult(ErrorString&, const Inspector::InspectorObject& callArgument, const int* const executionContextId, Inspector::Protocol::OptOutput<int>* savedResultIndex) final;
+ void releaseObjectGroup(ErrorString&, const String& objectGroup) final;
+ void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const Inspector::InspectorArray& locations, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::TypeDescription>>&) override;
+ void enableTypeProfiler(ErrorString&) override;
+ void disableTypeProfiler(ErrorString&) override;
+ void enableControlFlowProfiler(ErrorString&) override;
+ void disableControlFlowProfiler(ErrorString&) override;
+ void getBasicBlocks(ErrorString&, const String& in_sourceID, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::Runtime::BasicBlock>>& out_basicBlocks) override;
bool enabled() const { return m_enabled; }
protected:
- InspectorRuntimeAgent(InjectedScriptManager*);
+ InspectorRuntimeAgent(AgentContext&);
- InjectedScriptManager* injectedScriptManager() { return m_injectedScriptManager; }
+ 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:
- InjectedScriptManager* m_injectedScriptManager;
- ScriptDebugServer* m_scriptDebugServer;
- bool m_enabled;
+ void setTypeProfilerEnabledState(bool);
+ void setControlFlowProfilerEnabledState(bool);
+
+ InjectedScriptManager& m_injectedScriptManager;
+ ScriptDebugServer& m_scriptDebugServer;
+ JSC::VM& m_vm;
+ bool m_enabled {false};
+ bool m_isTypeProfilingEnabled {false};
+ bool m_isControlFlowProfilingEnabled {false};
};
} // namespace Inspector
-
-#endif // ENABLE(INSPECTOR)
-#endif // InspectorRuntimeAgent_h