v8/src/inspector
Benedikt Meurer 56cfdd68c7 [inspector] Add custom error dispatch machinery for debug evaluate.
This introduces a `V8InspectorClient::dispatchError()` callback that
embedders can use to dispatch errors from scripts injected by DevTools
(via debug evaluate). The idea here being that while these errors are
technically caught by the inspector logic, the DevTools UX presents them
just like other uncaught errors, with the exception that they don't
trigger error handlers installed by the page. The latter can be quite
confusing to developers, and surprising when for example testing these
error handlers from DevTools. So this adds the foundations on the V8
side to enable triggering error handlers for these technically caught,
but morally uncaught, exceptions.

On the Chromium side https://crrev.com/c/3560458 will implement and
use the hook. And that CL also adds a web tests to check the behavior.

Bug: chromium:1295750
Change-Id: I945c8a9e9b4ec5705fc7f1891dcda185b04c8310
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557234
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79673}
2022-03-30 11:58:10 +00:00
..
BUILD.gn [bazel] Generate inspector files using @rules_python. 2022-01-10 13:32:28 +00:00
custom-preview.cc
custom-preview.h
DEPS [debugger] Explicitly encode debugger statements in didPause 2021-12-02 10:41:43 +00:00
DIR_METADATA
injected-script.cc [inspector] Add custom error dispatch machinery for debug evaluate. 2022-03-30 11:58:10 +00:00
injected-script.h [inspector] Correctly report private accessor properties. 2022-02-22 14:13:07 +00:00
inspected-context.cc Add V8Inspector::uniqueDebuggerId method 2022-02-04 18:23:05 +00:00
inspected-context.h Add V8Inspector::uniqueDebuggerId method 2022-02-04 18:23:05 +00:00
inspector_protocol_config.json [bazel] Generate inspector files using @rules_python. 2022-01-10 13:32:28 +00:00
OWNERS
remote-object-id.cc
remote-object-id.h
search-util.cc
search-util.h
string-16.cc Roll inspector_protocol to 5221cbfa7f940d56ae8b79bf34c446a56781dd56 2022-01-24 09:16:35 +00:00
string-16.h Roll inspector_protocol to 5221cbfa7f940d56ae8b79bf34c446a56781dd56 2022-01-24 09:16:35 +00:00
string-util.cc Roll inspector_protocol to 5221cbfa7f940d56ae8b79bf34c446a56781dd56 2022-01-24 09:16:35 +00:00
string-util.h Roll inspector_protocol to 5221cbfa7f940d56ae8b79bf34c446a56781dd56 2022-01-24 09:16:35 +00:00
test-interface.cc
test-interface.h
v8-console-agent-impl.cc [inspector] Decouple Console domain from stack trace capturing. 2021-12-30 10:11:51 +00:00
v8-console-agent-impl.h
v8-console-message.cc [inspector] Report exceptionMetaData for Runtime#getExceptionDetails 2022-02-22 07:53:13 +00:00
v8-console-message.h
v8-console.cc Expose the recurring flag on the async stack tagging API 2022-01-17 12:25:48 +00:00
v8-console.h Expose the recurring flag on the async stack tagging API 2022-01-17 12:25:48 +00:00
v8-debugger-agent-impl.cc [inspector] Remove obsolete V8DebuggerScript::isSourceLoadedLazily(). 2022-02-28 09:51:50 +00:00
v8-debugger-agent-impl.h [inspector] Don't hold on to Script objects strongly for caching. 2022-02-23 06:26:57 +00:00
v8-debugger-id.cc Add V8Inspector::uniqueDebuggerId method 2022-02-04 18:23:05 +00:00
v8-debugger-id.h Add V8Inspector::uniqueDebuggerId method 2022-02-04 18:23:05 +00:00
v8-debugger-script.cc [inspector] Do not resurrect Script objects. 2022-03-04 12:55:00 +00:00
v8-debugger-script.h [inspector] Introduce v8::debug::ScriptSource. 2022-03-04 09:35:02 +00:00
v8-debugger.cc [debugger] Do not clear the breakpoint reasons on instrumentation break 2022-02-22 10:23:26 +00:00
v8-debugger.h [debug] Handle instrumentation breakpoints separate from regular breaks 2022-02-11 16:46:13 +00:00
v8-heap-profiler-agent-impl.cc
v8-heap-profiler-agent-impl.h
v8-inspector-impl.cc [inspector] Report exceptionMetaData for Runtime#getExceptionDetails 2022-02-22 07:53:13 +00:00
v8-inspector-impl.h [inspector] Report exceptionMetaData for Runtime#getExceptionDetails 2022-02-22 07:53:13 +00:00
v8-inspector-session-impl.cc [inspector] Gracefully ignore non-dictionary values as session state. 2022-01-05 11:12:04 +00:00
v8-inspector-session-impl.h
v8-profiler-agent-impl.cc [base] Remove TimeTicks::HighResolutionNow 2022-02-04 13:27:14 +00:00
v8-profiler-agent-impl.h
v8-regex.cc
v8-regex.h
v8-runtime-agent-impl.cc [inspector] Correctly report private accessor properties. 2022-02-22 14:13:07 +00:00
v8-runtime-agent-impl.h [inspector] Add Runtime#getExceptionDetails CDP method 2022-01-19 09:38:31 +00:00
v8-schema-agent-impl.cc
v8-schema-agent-impl.h
v8-stack-trace-impl.cc [debug] Implement stepping out of async functions in the debugger. 2022-02-08 06:32:16 +00:00
v8-stack-trace-impl.h [debug] Implement stepping out of async functions in the debugger. 2022-02-08 06:32:16 +00:00
v8-string-conversions.cc
v8-string-conversions.h
v8-value-utils.cc
v8-value-utils.h
value-mirror.cc [inspector] Correctly report private accessor properties. 2022-02-22 14:13:07 +00:00
value-mirror.h [inspector] Correctly report private accessor properties. 2022-02-22 14:13:07 +00:00