Bug 164556

Summary: Web Inspector: Debugger support for chained async call stacks
Product: WebKit Reporter: Matt Baker <mattbaker>
Component: Web InspectorAssignee: Matt Baker <mattbaker>
Status: RESOLVED WONTFIX    
Severity: Normal CC: bburg, joepeck, mattbaker, nvasilyev, timothy, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on: 163230    
Bug Blocks:    
Attachments:
Description Flags
[Image] multiple boundaries none

Matt Baker
Reported 2016-11-09 12:05:36 PST
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).
Attachments
[Image] multiple boundaries (141.35 KB, image/png)
2016-11-09 20:47 PST, Matt Baker
no flags
Radar WebKit Bug Importer
Comment 1 2016-11-09 12:08:38 PST
Matt Baker
Comment 2 2016-11-09 20:47:35 PST
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
Note You need to log in before you can comment on or make changes to this bug.