Summary: Debugger support for chained async call stacks. Currently the backend removes the call stack for an async function immediately after it's callback has dispatched. However the callback may schedule additional async function calls, for example: function h() { debugger; } function g() { setTimeout(h, 100); } function f() { setTimeout(g, 100); } f(); This should produce the following call stack in the debugger: > h setTimeout (async boundary) g setTimeout (async boundary) f Notes: A straightforward way to accomplish this would be to extend the AsyncCallData struct in InspectorDebuggerAgent to include a reference count and back pointer to the previous AsyncCallData (if any).
<rdar://problem/29183687>
Created attachment 294329 [details] [Image] multiple boundaries Got it working! Going to close this bug and merge the work into the original issue: https://bugs.webkit.org/show_bug.cgi?id=163230