31#ifndef V8_INSPECTOR_V8_INSPECTOR_IMPL_H_
32#define V8_INSPECTOR_V8_INSPECTOR_IMPL_H_
37#include <unordered_map>
42#include "src/inspector/protocol/Protocol.h"
46class InspectedContext;
48class V8ConsoleMessageStorage;
50class V8DebuggerAgentImpl;
51class V8DebuggerBarrier;
52class V8InspectorSessionImpl;
53class V8ProfilerAgentImpl;
54class V8RuntimeAgentImpl;
55class V8StackTraceImpl;
100 unsigned lineNumber,
unsigned columnNumber,
101 std::unique_ptr<V8StackTrace>,
102 int scriptId)
override;
109 bool recurring)
override;
142 std::unique_ptr<protocol::DictionaryValue>
150 protocol::Response
setTimeout(
double timeout);
176 std::unordered_map<int, std::unique_ptr<InspectedContext>>;
178 std::unordered_map<int, std::unique_ptr<ContextByIdMap>>;
182 std::unordered_map<int, std::map<int, V8InspectorSessionImpl*>>
m_sessions;
187 std::unordered_map<int, std::unique_ptr<V8ConsoleMessageStorage>>;
const InjectedScript::Scope & m_scope
std::shared_ptr< CancelToken > m_cancelToken
EvaluateScope(const InjectedScript::Scope &scope)
protocol::Response setTimeout(double timeout)
MuteExceptionsMap m_muteExceptionsMap
void externalAsyncTaskFinished(const V8StackTraceId &parent) override
int64_t generateUniqueId()
V8_EXPORT_PRIVATE V8InspectorImpl(v8::Isolate *, V8InspectorClient *)
void asyncTaskStarted(void *task) override
V8InspectorImpl & operator=(const V8InspectorImpl &)=delete
unsigned m_lastExceptionId
std::unique_ptr< V8Console > m_console
V8InspectorClient * m_client
V8ConsoleMessageStorage * ensureConsoleMessageStorage(int contextGroupId)
void disconnect(V8InspectorSessionImpl *)
v8::MaybeLocal< v8::Context > contextById(int contextId) override
std::unique_ptr< V8InspectorSession > connect(int contextGroupId, V8Inspector::Channel *, StringView state, ClientTrustLevel, SessionPauseState) override
std::unique_ptr< protocol::DictionaryValue > getAssociatedExceptionDataForProtocol(v8::Local< v8::Value > exception)
v8::MaybeLocal< v8::Value > compileAndRunInternalScript(v8::Local< v8::Context >, v8::Local< v8::String >)
v8::MaybeLocal< v8::Script > compileScript(v8::Local< v8::Context >, const String16 &code, const String16 &fileName)
v8::Isolate * isolate() const
std::unordered_map< int, int > MuteExceptionsMap
ContextsByGroupMap m_contexts
V8InspectorImpl(const V8InspectorImpl &)=delete
void contextCollected(int contextGroupId, int contextId)
V8DebuggerId uniqueDebuggerId(int contextId) override
std::unique_ptr< V8StackTrace > createStackTrace(v8::Local< v8::StackTrace >) override
v8::Global< v8::Context > m_regexContext
void idleFinished() override
void asyncTaskScheduled(StringView taskName, void *task, bool recurring) override
v8::MaybeLocal< v8::Context > regexContext()
InspectedContext * getContext(int groupId, int contextId) const
void contextCreated(const V8ContextInfo &) override
V8_EXPORT_PRIVATE bool associateExceptionData(v8::Local< v8::Context >, v8::Local< v8::Value > exception, v8::Local< v8::Name > key, v8::Local< v8::Value > value) override
void discardInspectedContext(int contextGroupId, int contextId)
void unmuteExceptions(int contextGroupId)
bool hasConsoleMessageStorage(int contextGroupId)
V8_EXPORT_PRIVATE V8Console * console()
uint64_t isolateId() override
PromiseHandlerTracker & promiseHandlerTracker()
int resolveUniqueContextId(internal::V8DebuggerId uniqueId) const
std::unordered_map< int, int > m_contextIdToGroupIdMap
v8::Global< v8::debug::EphemeronTable > m_exceptionMetaData
std::unordered_map< int, std::weak_ptr< V8DebuggerBarrier > > m_debuggerBarriers
std::unordered_map< int, std::unique_ptr< V8ConsoleMessageStorage > > ConsoleStorageMap
std::unordered_map< int, std::unique_ptr< ContextByIdMap > > ContextsByGroupMap
V8_EXPORT_PRIVATE v8::MaybeLocal< v8::Object > getAssociatedExceptionData(v8::Local< v8::Value > exception)
PromiseHandlerTracker m_promiseHandlerTracker
void resetContextGroup(int contextGroupId) override
~V8InspectorImpl() override
void allAsyncTasksCanceled() override
V8StackTraceId storeCurrentStackTrace(StringView description) override
v8::MaybeLocal< v8::Context > exceptionMetaDataContext()
std::unique_ptr< V8StackTrace > captureStackTrace(bool fullStack) override
v8::Global< v8::Context > m_exceptionMetaDataContext
V8InspectorClient * client()
void forEachSession(int contextGroupId, const std::function< void(V8InspectorSessionImpl *)> &callback)
unsigned nextExceptionId()
std::map< std::pair< int64_t, int64_t >, int > m_uniqueIdToContextId
void asyncTaskFinished(void *task) override
void exceptionRevoked(v8::Local< v8::Context >, unsigned exceptionId, StringView message) override
void externalAsyncTaskStarted(const V8StackTraceId &parent) override
int contextGroupId(v8::Local< v8::Context >) const
ConsoleStorageMap m_consoleStorageMap
V8InspectorSessionImpl * sessionById(int contextGroupId, int sessionId)
void contextDestroyed(v8::Local< v8::Context >) override
void forEachContext(int contextGroupId, const std::function< void(InspectedContext *)> &callback)
void muteExceptions(int contextGroupId)
unsigned exceptionThrown(v8::Local< v8::Context >, StringView message, v8::Local< v8::Value > exception, StringView detailedMessage, StringView url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr< V8StackTrace >, int scriptId) override
std::unordered_map< int, std::map< int, V8InspectorSessionImpl * > > m_sessions
void asyncTaskCanceled(void *task) override
std::unordered_map< int, std::unique_ptr< InspectedContext > > ContextByIdMap
void idleStarted() override
std::unique_ptr< V8Debugger > m_debugger
#define V8_EXPORT_PRIVATE
std::unique_ptr< ValueMirror > key