[inspector] Introduce instrumentation pause distinction
Introduce an inspector client interface method for running an "instrumentation pause" (when an instrumentation breakpoint is hit). This allows the client to run a more restrictive version of message pumping on instrumentation breakpoint hits. If not overriden, the instrumentation pause message loop handler will run the normal message loop. Such an implementation preserves the behavior for existing clients. Bug: chromium:1354043 Change-Id: Id33bb10503d73b59b24e63fd9d24631611f68dee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3863256 Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#82881}
This commit is contained in:
parent
886cd431c7
commit
ba14e4d062
@ -219,6 +219,9 @@ class V8_EXPORT V8InspectorClient {
|
||||
virtual ~V8InspectorClient() = default;
|
||||
|
||||
virtual void runMessageLoopOnPause(int contextGroupId) {}
|
||||
virtual void runMessageLoopOnInstrumentationPause(int contextGroupId) {
|
||||
runMessageLoopOnPause(contextGroupId);
|
||||
}
|
||||
virtual void quitMessageLoopOnPause() {}
|
||||
virtual void runIfWaitingForDebugger(int contextGroupId) {}
|
||||
|
||||
|
@ -535,7 +535,7 @@ void V8Debugger::BreakOnInstrumentation(
|
||||
});
|
||||
{
|
||||
v8::Context::Scope scope(pausedContext);
|
||||
m_inspector->client()->runMessageLoopOnPause(contextGroupId);
|
||||
m_inspector->client()->runMessageLoopOnInstrumentationPause(contextGroupId);
|
||||
m_pausedContextGroupId = 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user