From cb8b8bd8cbb156975c10e81be7d4185ab65700ef Mon Sep 17 00:00:00 2001 From: Viktor Gustavsson Date: Thu, 18 Mar 2021 12:09:48 +0100 Subject: [PATCH 1/2] fix(utils-dom): bind requestAF to WINDOW (#6508) --- src/utils/dom.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils/dom.js b/src/utils/dom.js index d9d230f788c..575dc0b354f 100644 --- a/src/utils/dom.js +++ b/src/utils/dom.js @@ -47,11 +47,11 @@ export const closestEl = // `requestAnimationFrame()` convenience method /* istanbul ignore next: JSDOM always returns the first option */ export const requestAF = - WINDOW.requestAnimationFrame || - WINDOW.webkitRequestAnimationFrame || - WINDOW.mozRequestAnimationFrame || - WINDOW.msRequestAnimationFrame || - WINDOW.oRequestAnimationFrame || + (WINDOW.requestAnimationFrame && WINDOW.requestAnimationFrame.bind(WINDOW)) || + (WINDOW.webkitRequestAnimationFrame && WINDOW.webkitRequestAnimationFrame.bind(WINDOW)) || + (WINDOW.mozRequestAnimationFrame && WINDOW.mozRequestAnimationFrame.bind(WINDOW)) || + (WINDOW.msRequestAnimationFrame && WINDOW.msRequestAnimationFrame.bind(WINDOW)) || + (WINDOW.oRequestAnimationFrame && WINDOW.oRequestAnimationFrame.bind(WINDOW)) || // Fallback, but not a true polyfill // Only needed for Opera Mini /* istanbul ignore next */ From e42c98b354dd5c3ea11a96e2b92cef2f9ff3455e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20M=C3=BCller?= Date: Tue, 4 May 2021 02:51:15 +0200 Subject: [PATCH 2/2] Update dom.js --- src/utils/dom.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/utils/dom.js b/src/utils/dom.js index 575dc0b354f..a48614e1a4c 100644 --- a/src/utils/dom.js +++ b/src/utils/dom.js @@ -46,16 +46,17 @@ export const closestEl = // `requestAnimationFrame()` convenience method /* istanbul ignore next: JSDOM always returns the first option */ -export const requestAF = - (WINDOW.requestAnimationFrame && WINDOW.requestAnimationFrame.bind(WINDOW)) || - (WINDOW.webkitRequestAnimationFrame && WINDOW.webkitRequestAnimationFrame.bind(WINDOW)) || - (WINDOW.mozRequestAnimationFrame && WINDOW.mozRequestAnimationFrame.bind(WINDOW)) || - (WINDOW.msRequestAnimationFrame && WINDOW.msRequestAnimationFrame.bind(WINDOW)) || - (WINDOW.oRequestAnimationFrame && WINDOW.oRequestAnimationFrame.bind(WINDOW)) || +export const requestAF = ( + WINDOW.requestAnimationFrame || + WINDOW.webkitRequestAnimationFrame || + WINDOW.mozRequestAnimationFrame || + WINDOW.msRequestAnimationFrame || + WINDOW.oRequestAnimationFrame || // Fallback, but not a true polyfill // Only needed for Opera Mini /* istanbul ignore next */ (cb => setTimeout(cb, 16)) +).bind(WINDOW) export const MutationObs = WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null