mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1206858 - Ensure that multiple concurrent calls to waitForAllPaints are handled properly. r=mattwoodrow
This commit is contained in:
parent
c6a38c51fb
commit
6e3587499b
@ -1,6 +1,6 @@
|
|||||||
(function() {
|
(function() {
|
||||||
var accumulatedRect = null;
|
var accumulatedRect = null;
|
||||||
var onpaint = function() {};
|
var onpaint = new Array();
|
||||||
var debug = false;
|
var debug = false;
|
||||||
const FlushModes = {
|
const FlushModes = {
|
||||||
FLUSH: 0,
|
FLUSH: 0,
|
||||||
@ -24,7 +24,9 @@
|
|||||||
Math.max(accumulatedRect[2], eventRect[2]),
|
Math.max(accumulatedRect[2], eventRect[2]),
|
||||||
Math.max(accumulatedRect[3], eventRect[3]) ]
|
Math.max(accumulatedRect[3], eventRect[3]) ]
|
||||||
: eventRect;
|
: eventRect;
|
||||||
onpaint();
|
while (onpaint.length > 0) {
|
||||||
|
window.setTimeout(onpaint.pop(), 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window.addEventListener("MozAfterPaint", paintListener, false);
|
window.addEventListener("MozAfterPaint", paintListener, false);
|
||||||
|
|
||||||
@ -35,7 +37,6 @@
|
|||||||
if (debug) {
|
if (debug) {
|
||||||
dump("waiting for paint suppression to end...\n");
|
dump("waiting for paint suppression to end...\n");
|
||||||
}
|
}
|
||||||
onpaint = function() {};
|
|
||||||
window.setTimeout(function() {
|
window.setTimeout(function() {
|
||||||
waitForPaints(callback, subdoc, flushMode);
|
waitForPaints(callback, subdoc, flushMode);
|
||||||
}, 0);
|
}, 0);
|
||||||
@ -56,8 +57,8 @@
|
|||||||
if (debug) {
|
if (debug) {
|
||||||
dump("waiting for paint...\n");
|
dump("waiting for paint...\n");
|
||||||
}
|
}
|
||||||
onpaint =
|
onpaint.push(
|
||||||
function() { waitForPaints(callback, subdoc, FlushModes.NOFLUSH); };
|
function() { waitForPaints(callback, subdoc, FlushModes.NOFLUSH); });
|
||||||
if (utils.isTestControllingRefreshes) {
|
if (utils.isTestControllingRefreshes) {
|
||||||
utils.advanceTimeAndRefresh(0);
|
utils.advanceTimeAndRefresh(0);
|
||||||
}
|
}
|
||||||
@ -69,7 +70,6 @@
|
|||||||
}
|
}
|
||||||
var result = accumulatedRect || [ 0, 0, 0, 0 ];
|
var result = accumulatedRect || [ 0, 0, 0, 0 ];
|
||||||
accumulatedRect = null;
|
accumulatedRect = null;
|
||||||
onpaint = function() {};
|
|
||||||
callback.apply(null, result);
|
callback.apply(null, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user