зеркало из https://github.com/mozilla/gecko-dev.git
f2c33f7f71
Consider the following sequence of events: * We do an l10n mutation -> mBlockingLoad=true, mPendingMutations.Size() = 1 * That flush triggers a promise -> mBlockingLoad=true, mPendingMutations.Size() = 0, mPendingPromises=1 * Another mutation happens -> mBlockingLoad=true, mPendingMutations.Size() = 1, mPendingPromises = 1 * The promise resolves -> mBlockingLoad=true, mPendingMutations.Size() = 1, mPendingPromises=0 Key part there is that the second mutation didn't post a task to flush, so we rely on the refresh driver (which is not reliable on Wayland as described in the comment). Instead, we need to track the pending flush separately from the blocking load. Differential Revision: https://phabricator.services.mozilla.com/D174624 |
||
---|---|---|
.. | ||
tests | ||
DOMLocalization.cpp | ||
DOMLocalization.h | ||
DocumentL10n.cpp | ||
DocumentL10n.h | ||
L10nMutations.cpp | ||
L10nMutations.h | ||
L10nOverlays.cpp | ||
L10nOverlays.h | ||
components.conf | ||
moz.build |