Merge pull request #8222 from tjgrathwell/ios-fake-cancel-animation-frame

ios: Patch cancelAnimationFrame whenever fakeRequestAnimationFrame is used
This commit is contained in:
Yury Delendik 2017-04-04 10:29:04 -05:00 committed by GitHub
commit b665b0319a

View File

@ -643,8 +643,13 @@ PDFJS.compatibilityChecked = true;
// Support: IE<10, Android<4.0, iOS // Support: IE<10, Android<4.0, iOS
(function checkRequestAnimationFrame() { (function checkRequestAnimationFrame() {
function fakeRequestAnimationFrame(callback) { function installFakeAnimationFrameFunctions() {
window.setTimeout(callback, 20); window.requestAnimationFrame = function (callback) {
return window.setTimeout(callback, 20);
};
window.cancelAnimationFrame = function (timeoutID) {
window.clearTimeout(timeoutID);
};
} }
if (!hasDOM) { if (!hasDOM) {
@ -652,7 +657,7 @@ PDFJS.compatibilityChecked = true;
} }
if (isIOS) { if (isIOS) {
// requestAnimationFrame on iOS is broken, replacing with fake one. // requestAnimationFrame on iOS is broken, replacing with fake one.
window.requestAnimationFrame = fakeRequestAnimationFrame; installFakeAnimationFrameFunctions();
return; return;
} }
if ('requestAnimationFrame' in window) { if ('requestAnimationFrame' in window) {
@ -660,8 +665,10 @@ PDFJS.compatibilityChecked = true;
} }
window.requestAnimationFrame = window.requestAnimationFrame =
window.mozRequestAnimationFrame || window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame || window.webkitRequestAnimationFrame;
fakeRequestAnimationFrame; if (!('requestAnimationFrame' in window)) {
installFakeAnimationFrameFunctions();
}
})(); })();
// Support: Android, iOS // Support: Android, iOS