From dccc709b500571960f24e83fd36005fe4cc512f5 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Tue, 17 Jun 2014 12:44:52 -0500 Subject: [PATCH] Disables broken rAF on iOS --- web/compatibility.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web/compatibility.js b/web/compatibility.js index b603971e3c2a5..400a940eb3c01 100644 --- a/web/compatibility.js +++ b/web/compatibility.js @@ -495,17 +495,25 @@ if (typeof PDFJS === 'undefined') { } })(); -// Support: IE<10, Android<4.0, iOS<5.0 +// Support: IE<10, Android<4.0, iOS (function checkRequestAnimationFrame() { + function fakeRequestAnimationFrame(callback) { + window.setTimeout(callback, 20); + } + + var isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent); + if (isIOS) { + // requestAnimationFrame on iOS is broken, replacing with fake one. + window.requestAnimationFrame = fakeRequestAnimationFrame; + return; + } if ('requestAnimationFrame' in window) { return; } window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || - (function fakeRequestAnimationFrame(callback) { - window.setTimeout(callback, 20); - }); + fakeRequestAnimationFrame; })(); (function checkCanvasSizeLimitation() {