зеркало из https://github.com/mozilla/gecko-dev.git
e903455002
Before this patch, we use InputPriorityController::DidRunTask to change InputVsyncState which is problematic. Consider this scenario 1. Two events are in the queue, vsync(V1) and input(I1) 2. I1 runs and starts an inner event loop (We only expect one input event to be run because there's only one input event) 3. Another input event(I2) arrives 4. Inner event loop picks I2 to run 5. When I2 is finished, it sets the InputVsyncState to `RunVsync` 6. I1's DidRunTask is called and crashed because the state shouldn't be `RunVsync`. This patch moves the code which checks InputVsyncState from `DidRunTask` to `WillRunTask` so that the state is correctly checked and updated before the input task is about to run. Differential Revision: https://phabricator.services.mozilla.com/D117336 |
||
---|---|---|
.. | ||
base | ||
build | ||
components | ||
docs | ||
ds | ||
glue | ||
idl-parser | ||
io | ||
libxpt/xptcall | ||
reflect | ||
rust | ||
string | ||
system | ||
tests | ||
threads | ||
windbgdlg | ||
xpidl | ||
moz.build | ||
xpcom-config.h.in |