[Webkit-unassigned] [Bug 135830] Promise reactions in the Inspector page do not run when the debugger is paused on the inspected page
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Aug 17 11:13:39 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=135830
--- Comment #1 from Brian Burg <burg at cs.washington.edu> 2014-08-17 11:13:47 PST ---
Diagnosis;
Promise reactions create JSGlobalObjectTasks to run reactions, which are enqueued via Document::postTask. This in turn uses callOnMainThread() to get onto the main thread. Unfortunately, callOnMainThread uses a single global variable ('callbacksPaused') to pause callbacks while the debugger is paused. So, the second-level debugger's tasks will not get called on the main thread until the nested event loop shuts down and the debugger unpauses callbacks on the main thread (called from PageScriptDebugServer::setJavaScriptPaused).
Potential fixes;
1. Make the inspector multi-process, so we can use global variables this way.
2. Segregate main thread callbacks by PageGroup (unit of JavaScript being paused). This would be unpleasant, and change how tasks from different pages are interleaved unless we use a round-robin approach or something.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list