v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8_inspector::V8InspectorSessionImpl Class Reference

#include <v8-inspector-session-impl.h>

Inheritance diagram for v8_inspector::V8InspectorSessionImpl:
Collaboration diagram for v8_inspector::V8InspectorSessionImpl:

Public Member Functions

 ~V8InspectorSessionImpl () override
 
 V8InspectorSessionImpl (const V8InspectorSessionImpl &)=delete
 
V8InspectorSessionImploperator= (const V8InspectorSessionImpl &)=delete
 
V8InspectorImplinspector () const
 
V8ConsoleAgentImplconsoleAgent ()
 
V8DebuggerAgentImpldebuggerAgent ()
 
V8SchemaAgentImplschemaAgent ()
 
V8ProfilerAgentImplprofilerAgent ()
 
V8RuntimeAgentImplruntimeAgent ()
 
V8HeapProfilerAgentImplheapProfilerAgent ()
 
int contextGroupId () const
 
int sessionId () const
 
Response findInjectedScript (int contextId, InjectedScript *&)
 
Response findInjectedScript (RemoteObjectIdBase *, InjectedScript *&)
 
void reset ()
 
void discardInjectedScripts ()
 
void reportAllContexts (V8RuntimeAgentImpl *)
 
void setCustomObjectFormatterEnabled (bool)
 
std::unique_ptr< protocol::Runtime::RemoteObject > wrapObject (v8::Local< v8::Context >, v8::Local< v8::Value >, const String16 &groupName, bool generatePreview)
 
std::unique_ptr< protocol::Runtime::RemoteObject > wrapTable (v8::Local< v8::Context >, v8::Local< v8::Object > table, v8::MaybeLocal< v8::Array > columns)
 
std::vector< std::unique_ptr< protocol::Schema::Domain > > supportedDomainsImpl ()
 
Response unwrapObject (const String16 &objectId, v8::Local< v8::Value > *, v8::Local< v8::Context > *, String16 *objectGroup)
 
void releaseObjectGroup (const String16 &objectGroup)
 
void dispatchProtocolMessage (StringView message) override
 
std::vector< uint8_t > state () override
 
std::vector< std::unique_ptr< protocol::Schema::API::Domain > > supportedDomains () override
 
void addInspectedObject (std::unique_ptr< V8InspectorSession::Inspectable >) override
 
void schedulePauseOnNextStatement (StringView breakReason, StringView breakDetails) override
 
void cancelPauseOnNextStatement () override
 
void breakProgram (StringView breakReason, StringView breakDetails) override
 
void setSkipAllPauses (bool) override
 
void resume (bool terminateOnResume=false) override
 
void stepOver () override
 
std::vector< std::unique_ptr< protocol::Debugger::API::SearchMatch > > searchInTextByLines (StringView text, StringView query, bool caseSensitive, bool isRegex) override
 
void releaseObjectGroup (StringView objectGroup) override
 
bool unwrapObject (std::unique_ptr< StringBuffer > *, StringView objectId, v8::Local< v8::Value > *, v8::Local< v8::Context > *, std::unique_ptr< StringBuffer > *objectGroup) override
 
std::unique_ptr< protocol::Runtime::API::RemoteObject > wrapObject (v8::Local< v8::Context >, v8::Local< v8::Value >, StringView groupName, bool generatePreview) override
 
V8InspectorSession::InspectableinspectedObject (unsigned num)
 
void triggerPreciseCoverageDeltaUpdate (StringView occasion) override
 
EvaluateResult evaluate (v8::Local< v8::Context > context, StringView expression, bool includeCommandLineAPI=false) override
 
void stop () override
 
V8Inspector::ClientTrustLevel clientTrustLevel ()
 
- Public Member Functions inherited from v8_inspector::V8InspectorSession
virtual ~V8InspectorSession ()=default
 

Static Public Member Functions

static std::unique_ptr< V8InspectorSessionImplcreate (V8InspectorImpl *, int contextGroupId, int sessionId, V8Inspector::Channel *, StringView state, v8_inspector::V8Inspector::ClientTrustLevel, std::shared_ptr< V8DebuggerBarrier >)
 
- Static Public Member Functions inherited from v8_inspector::V8InspectorSession
static bool canDispatchMethod (StringView method)
 

Static Public Attributes

static const unsigned kInspectedObjectBufferSize = 5
 

Private Member Functions

 V8InspectorSessionImpl (V8InspectorImpl *, int contextGroupId, int sessionId, V8Inspector::Channel *, StringView state, V8Inspector::ClientTrustLevel, std::shared_ptr< V8DebuggerBarrier >)
 
protocol::DictionaryValue * agentState (const String16 &name)
 
void SendProtocolResponse (int callId, std::unique_ptr< protocol::Serializable > message) override
 
void SendProtocolNotification (std::unique_ptr< protocol::Serializable > message) override
 
void FallThrough (int callId, v8_crdtp::span< uint8_t > method, v8_crdtp::span< uint8_t > message) override
 
void FlushProtocolNotifications () override
 
std::unique_ptr< StringBufferserializeForFrontend (std::unique_ptr< protocol::Serializable > message)
 

Private Attributes

int m_contextGroupId
 
int m_sessionId
 
V8InspectorImplm_inspector
 
V8Inspector::Channelm_channel
 
bool m_customObjectFormatterEnabled
 
protocol::UberDispatcher m_dispatcher
 
std::unique_ptr< protocol::DictionaryValue > m_state
 
std::unique_ptr< V8RuntimeAgentImplm_runtimeAgent
 
std::unique_ptr< V8DebuggerAgentImplm_debuggerAgent
 
std::unique_ptr< V8HeapProfilerAgentImplm_heapProfilerAgent
 
std::unique_ptr< V8ProfilerAgentImplm_profilerAgent
 
std::unique_ptr< V8ConsoleAgentImplm_consoleAgent
 
std::unique_ptr< V8SchemaAgentImplm_schemaAgent
 
std::vector< std::unique_ptr< V8InspectorSession::Inspectable > > m_inspectedObjects
 
bool use_binary_protocol_ = false
 
V8Inspector::ClientTrustLevel m_clientTrustLevel = V8Inspector::kUntrusted
 

Detailed Description

Definition at line 33 of file v8-inspector-session-impl.h.

Constructor & Destructor Documentation

◆ ~V8InspectorSessionImpl()

v8_inspector::V8InspectorSessionImpl::~V8InspectorSessionImpl ( )
override

Definition at line 160 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ V8InspectorSessionImpl() [1/2]

v8_inspector::V8InspectorSessionImpl::V8InspectorSessionImpl ( const V8InspectorSessionImpl & )
delete
Here is the caller graph for this function:

◆ V8InspectorSessionImpl() [2/2]

v8_inspector::V8InspectorSessionImpl::V8InspectorSessionImpl ( V8InspectorImpl * inspector,
int contextGroupId,
int sessionId,
V8Inspector::Channel * channel,
StringView state,
V8Inspector::ClientTrustLevel clientTrustLevel,
std::shared_ptr< V8DebuggerBarrier > debuggerBarrier )
private

Definition at line 103 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

Member Function Documentation

◆ addInspectedObject()

void v8_inspector::V8InspectorSessionImpl::addInspectedObject ( std::unique_ptr< V8InspectorSession::Inspectable > inspectable)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 438 of file v8-inspector-session-impl.cc.

Here is the caller graph for this function:

◆ agentState()

protocol::DictionaryValue * v8_inspector::V8InspectorSessionImpl::agentState ( const String16 & name)
private

Definition at line 171 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ breakProgram()

void v8_inspector::V8InspectorSessionImpl::breakProgram ( StringView breakReason,
StringView breakDetails )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 465 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ cancelPauseOnNextStatement()

void v8_inspector::V8InspectorSessionImpl::cancelPauseOnNextStatement ( )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 461 of file v8-inspector-session-impl.cc.

◆ clientTrustLevel()

V8Inspector::ClientTrustLevel v8_inspector::V8InspectorSessionImpl::clientTrustLevel ( )
inline

Definition at line 107 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ consoleAgent()

V8ConsoleAgentImpl * v8_inspector::V8InspectorSessionImpl::consoleAgent ( )
inline

Definition at line 46 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ contextGroupId()

int v8_inspector::V8InspectorSessionImpl::contextGroupId ( ) const
inline

Definition at line 54 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ create()

std::unique_ptr< V8InspectorSessionImpl > v8_inspector::V8InspectorSessionImpl::create ( V8InspectorImpl * inspector,
int contextGroupId,
int sessionId,
V8Inspector::Channel * channel,
StringView state,
v8_inspector::V8Inspector::ClientTrustLevel clientTrustLevel,
std::shared_ptr< V8DebuggerBarrier > debuggerBarrier )
static

Definition at line 93 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ debuggerAgent()

V8DebuggerAgentImpl * v8_inspector::V8InspectorSessionImpl::debuggerAgent ( )
inline

Definition at line 47 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ discardInjectedScripts()

void v8_inspector::V8InspectorSessionImpl::discardInjectedScripts ( )

Definition at line 229 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dispatchProtocolMessage()

void v8_inspector::V8InspectorSessionImpl::dispatchProtocolMessage ( StringView message)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 361 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ evaluate()

V8InspectorSession::EvaluateResult v8_inspector::V8InspectorSessionImpl::evaluate ( v8::Local< v8::Context > context,
StringView expression,
bool includeCommandLineAPI = false )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 503 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ FallThrough()

void v8_inspector::V8InspectorSessionImpl::FallThrough ( int callId,
v8_crdtp::span< uint8_t > method,
v8_crdtp::span< uint8_t > message )
overrideprivate

Definition at line 212 of file v8-inspector-session-impl.cc.

◆ findInjectedScript() [1/2]

Response v8_inspector::V8InspectorSessionImpl::findInjectedScript ( int contextId,
InjectedScript *& injectedScript )

Definition at line 238 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findInjectedScript() [2/2]

Response v8_inspector::V8InspectorSessionImpl::findInjectedScript ( RemoteObjectIdBase * objectId,
InjectedScript *& injectedScript )

Definition at line 254 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ FlushProtocolNotifications()

void v8_inspector::V8InspectorSessionImpl::FlushProtocolNotifications ( )
overrideprivate

Definition at line 219 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ heapProfilerAgent()

V8HeapProfilerAgentImpl * v8_inspector::V8InspectorSessionImpl::heapProfilerAgent ( )
inline

Definition at line 51 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ inspectedObject()

V8InspectorSession::Inspectable * v8_inspector::V8InspectorSessionImpl::inspectedObject ( unsigned num)

Definition at line 445 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ inspector()

V8InspectorImpl * v8_inspector::V8InspectorSessionImpl::inspector ( ) const
inline

Definition at line 45 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ operator=()

V8InspectorSessionImpl & v8_inspector::V8InspectorSessionImpl::operator= ( const V8InspectorSessionImpl & )
delete

◆ profilerAgent()

V8ProfilerAgentImpl * v8_inspector::V8InspectorSessionImpl::profilerAgent ( )
inline

Definition at line 49 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ releaseObjectGroup() [1/2]

void v8_inspector::V8InspectorSessionImpl::releaseObjectGroup ( const String16 & objectGroup)

Definition at line 265 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ releaseObjectGroup() [2/2]

void v8_inspector::V8InspectorSessionImpl::releaseObjectGroup ( StringView objectGroup)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 261 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ reportAllContexts()

void v8_inspector::V8InspectorSessionImpl::reportAllContexts ( V8RuntimeAgentImpl * agent)

Definition at line 354 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

void v8_inspector::V8InspectorSessionImpl::reset ( )

Definition at line 223 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resume()

void v8_inspector::V8InspectorSessionImpl::resume ( bool terminateOnResume = false)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 479 of file v8-inspector-session-impl.cc.

◆ runtimeAgent()

V8RuntimeAgentImpl * v8_inspector::V8InspectorSessionImpl::runtimeAgent ( )
inline

Definition at line 50 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ schedulePauseOnNextStatement()

void v8_inspector::V8InspectorSessionImpl::schedulePauseOnNextStatement ( StringView breakReason,
StringView breakDetails )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 451 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ schemaAgent()

V8SchemaAgentImpl * v8_inspector::V8InspectorSessionImpl::schemaAgent ( )
inline

Definition at line 48 of file v8-inspector-session-impl.h.

◆ searchInTextByLines()

std::vector< std::unique_ptr< protocol::Debugger::API::SearchMatch > > v8_inspector::V8InspectorSessionImpl::searchInTextByLines ( StringView text,
StringView query,
bool caseSensitive,
bool isRegex )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 486 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ SendProtocolNotification()

void v8_inspector::V8InspectorSessionImpl::SendProtocolNotification ( std::unique_ptr< protocol::Serializable > message)
overrideprivate

Definition at line 207 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ SendProtocolResponse()

void v8_inspector::V8InspectorSessionImpl::SendProtocolResponse ( int callId,
std::unique_ptr< protocol::Serializable > message )
overrideprivate

Definition at line 202 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ serializeForFrontend()

std::unique_ptr< StringBuffer > v8_inspector::V8InspectorSessionImpl::serializeForFrontend ( std::unique_ptr< protocol::Serializable > message)
private

Definition at line 183 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sessionId()

int v8_inspector::V8InspectorSessionImpl::sessionId ( ) const
inline

Definition at line 55 of file v8-inspector-session-impl.h.

Here is the caller graph for this function:

◆ setCustomObjectFormatterEnabled()

void v8_inspector::V8InspectorSessionImpl::setCustomObjectFormatterEnabled ( bool enabled)

Definition at line 343 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSkipAllPauses()

void v8_inspector::V8InspectorSessionImpl::setSkipAllPauses ( bool skip)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 475 of file v8-inspector-session-impl.cc.

◆ state()

std::vector< uint8_t > v8_inspector::V8InspectorSessionImpl::state ( )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 398 of file v8-inspector-session-impl.cc.

Here is the caller graph for this function:

◆ stepOver()

void v8_inspector::V8InspectorSessionImpl::stepOver ( )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 483 of file v8-inspector-session-impl.cc.

◆ stop()

void v8_inspector::V8InspectorSessionImpl::stop ( )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 539 of file v8-inspector-session-impl.cc.

◆ supportedDomains()

std::vector< std::unique_ptr< protocol::Schema::API::Domain > > v8_inspector::V8InspectorSessionImpl::supportedDomains ( )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 403 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ supportedDomainsImpl()

std::vector< std::unique_ptr< protocol::Schema::Domain > > v8_inspector::V8InspectorSessionImpl::supportedDomainsImpl ( )

Definition at line 413 of file v8-inspector-session-impl.cc.

Here is the caller graph for this function:

◆ triggerPreciseCoverageDeltaUpdate()

void v8_inspector::V8InspectorSessionImpl::triggerPreciseCoverageDeltaUpdate ( StringView occasion)
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 498 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ unwrapObject() [1/2]

Response v8_inspector::V8InspectorSessionImpl::unwrapObject ( const String16 & objectId,
v8::Local< v8::Value > * object,
v8::Local< v8::Context > * context,
String16 * objectGroup )

Definition at line 293 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unwrapObject() [2/2]

bool v8_inspector::V8InspectorSessionImpl::unwrapObject ( std::unique_ptr< StringBuffer > * error,
StringView objectId,
v8::Local< v8::Value > * object,
v8::Local< v8::Context > * context,
std::unique_ptr< StringBuffer > * objectGroup )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 274 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ wrapObject() [1/2]

std::unique_ptr< protocol::Runtime::RemoteObject > v8_inspector::V8InspectorSessionImpl::wrapObject ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value,
const String16 & groupName,
bool generatePreview )

Definition at line 318 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ wrapObject() [2/2]

std::unique_ptr< protocol::Runtime::API::RemoteObject > v8_inspector::V8InspectorSessionImpl::wrapObject ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value,
StringView groupName,
bool generatePreview )
overridevirtual

Implements v8_inspector::V8InspectorSession.

Definition at line 311 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:

◆ wrapTable()

std::unique_ptr< protocol::Runtime::RemoteObject > v8_inspector::V8InspectorSessionImpl::wrapTable ( v8::Local< v8::Context > context,
v8::Local< v8::Object > table,
v8::MaybeLocal< v8::Array > columns )

Definition at line 334 of file v8-inspector-session-impl.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kInspectedObjectBufferSize

const unsigned v8_inspector::V8InspectorSessionImpl::kInspectedObjectBufferSize = 5
static

Definition at line 100 of file v8-inspector-session-impl.h.

◆ m_channel

V8Inspector::Channel* v8_inspector::V8InspectorSessionImpl::m_channel
private

Definition at line 132 of file v8-inspector-session-impl.h.

◆ m_clientTrustLevel

V8Inspector::ClientTrustLevel v8_inspector::V8InspectorSessionImpl::m_clientTrustLevel = V8Inspector::kUntrusted
private

Definition at line 147 of file v8-inspector-session-impl.h.

◆ m_consoleAgent

std::unique_ptr<V8ConsoleAgentImpl> v8_inspector::V8InspectorSessionImpl::m_consoleAgent
private

Definition at line 142 of file v8-inspector-session-impl.h.

◆ m_contextGroupId

int v8_inspector::V8InspectorSessionImpl::m_contextGroupId
private

Definition at line 129 of file v8-inspector-session-impl.h.

◆ m_customObjectFormatterEnabled

bool v8_inspector::V8InspectorSessionImpl::m_customObjectFormatterEnabled
private

Definition at line 133 of file v8-inspector-session-impl.h.

◆ m_debuggerAgent

std::unique_ptr<V8DebuggerAgentImpl> v8_inspector::V8InspectorSessionImpl::m_debuggerAgent
private

Definition at line 139 of file v8-inspector-session-impl.h.

◆ m_dispatcher

protocol::UberDispatcher v8_inspector::V8InspectorSessionImpl::m_dispatcher
private

Definition at line 135 of file v8-inspector-session-impl.h.

◆ m_heapProfilerAgent

std::unique_ptr<V8HeapProfilerAgentImpl> v8_inspector::V8InspectorSessionImpl::m_heapProfilerAgent
private

Definition at line 140 of file v8-inspector-session-impl.h.

◆ m_inspectedObjects

std::vector<std::unique_ptr<V8InspectorSession::Inspectable> > v8_inspector::V8InspectorSessionImpl::m_inspectedObjects
private

Definition at line 145 of file v8-inspector-session-impl.h.

◆ m_inspector

V8InspectorImpl* v8_inspector::V8InspectorSessionImpl::m_inspector
private

Definition at line 131 of file v8-inspector-session-impl.h.

◆ m_profilerAgent

std::unique_ptr<V8ProfilerAgentImpl> v8_inspector::V8InspectorSessionImpl::m_profilerAgent
private

Definition at line 141 of file v8-inspector-session-impl.h.

◆ m_runtimeAgent

std::unique_ptr<V8RuntimeAgentImpl> v8_inspector::V8InspectorSessionImpl::m_runtimeAgent
private

Definition at line 138 of file v8-inspector-session-impl.h.

◆ m_schemaAgent

std::unique_ptr<V8SchemaAgentImpl> v8_inspector::V8InspectorSessionImpl::m_schemaAgent
private

Definition at line 143 of file v8-inspector-session-impl.h.

◆ m_sessionId

int v8_inspector::V8InspectorSessionImpl::m_sessionId
private

Definition at line 130 of file v8-inspector-session-impl.h.

◆ m_state

std::unique_ptr<protocol::DictionaryValue> v8_inspector::V8InspectorSessionImpl::m_state
private

Definition at line 136 of file v8-inspector-session-impl.h.

◆ use_binary_protocol_

bool v8_inspector::V8InspectorSessionImpl::use_binary_protocol_ = false
private

Definition at line 146 of file v8-inspector-session-impl.h.


The documentation for this class was generated from the following files: