[Webkit-unassigned] [Bug 20309] New: Display unified stack of async request and response

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 6 15:19:10 PDT 2008


https://bugs.webkit.org/show_bug.cgi?id=20309

           Summary: Display unified stack of async request and response
           Product: WebKit
           Version: 526+ (Nightly build)
          Platform: Macintosh
        OS/Version: Mac OS X 10.5
            Status: UNCONFIRMED
          Severity: Enhancement
          Priority: P2
         Component: Web Inspector
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: aclark at zimbra.com


In AJAX programming, most interaction with the server occurs asynchronously:
the app sets a callback function (onreadystatechange) on the XMLHttpRequest
object which gets called when the request state changes. If an error occurs (or
the debugger stops at a set breakpoint) during the callback, only the stack
starting from onreadystatechange is visible to the user. And with multiple
requests happening at the same time, it is difficult for the developer to
associate the code path that issued the request to the code path of the
response.

The request for enhancement is for the debugger to take a snapshot of the stack
whenever an asynchronous request is made. Then, when the response is handled, a
unified stack is shown to the user, including the full stack prior to the
request. This should also work for chained async requests. For example, if the
response for the async request FOO issues an async request BAR, then the
response for BAR should show the the stack prior to the FOO request combined
with the stack in the FOO response up to before the BAR request *and* the stack
of the BAR response.

Once support is added to snapshot stacks and then display them unified as a
single stack in the debugger, this feature can be applied to all asynchronous
(or disconnected) code flows. This is primarily useful for asynchronous XML
HTTP requests but also for setTimeout and setInterval. A separate setting for
setInterval would probably be a good idea since it could continue forever
whereas async requests and setTimeout are limited to the (usually short) chain
of requests.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list