Skip to content

Commit

Permalink
fix: add patch for react-virtualized to fix request/cancelAnimationFr…
Browse files Browse the repository at this point in the history
…ame not working in extensions in firefox

details here: facebook/react#16606
  • Loading branch information
nopol10 committed Apr 3, 2023
1 parent dd8a40e commit fadf82f
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions patches/react-virtualized+9.22.3.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
diff --git a/node_modules/react-virtualized/dist/commonjs/utils/animationFrame.js b/node_modules/react-virtualized/dist/commonjs/utils/animationFrame.js
index 8b16f48..008b85a 100644
--- a/node_modules/react-virtualized/dist/commonjs/utils/animationFrame.js
+++ b/node_modules/react-virtualized/dist/commonjs/utils/animationFrame.js
@@ -20,10 +20,12 @@ if (typeof window !== 'undefined') {
var request = win.requestAnimationFrame || win.webkitRequestAnimationFrame || win.mozRequestAnimationFrame || win.oRequestAnimationFrame || win.msRequestAnimationFrame || function (callback) {
return win.setTimeout(callback, 1000 / 60);
};
+request = request.bind(win)

var cancel = win.cancelAnimationFrame || win.webkitCancelAnimationFrame || win.mozCancelAnimationFrame || win.oCancelAnimationFrame || win.msCancelAnimationFrame || function (id) {
win.clearTimeout(id);
};
+cancel = cancel.bind(win)

var raf = request;
exports.raf = raf;
diff --git a/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js b/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
index ca77e6a..f264075 100644
--- a/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
+++ b/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
@@ -38,7 +38,7 @@ function createDetectElementResize(nonce, hostWindow) {
var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {
return _window.setTimeout(fn, 20);
};
-
+ raf = raf.bind(_window);
return function (fn) {
return raf(fn);
};
@@ -46,6 +46,7 @@ function createDetectElementResize(nonce, hostWindow) {

var cancelFrame = function () {
var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;
+ cancel = cancel.bind(_window);
return function (id) {
return cancel(id);
};
diff --git a/node_modules/react-virtualized/dist/es/utils/animationFrame.js b/node_modules/react-virtualized/dist/es/utils/animationFrame.js
index af63c42..77fe91f 100644
--- a/node_modules/react-virtualized/dist/es/utils/animationFrame.js
+++ b/node_modules/react-virtualized/dist/es/utils/animationFrame.js
@@ -14,10 +14,12 @@ if (typeof window !== 'undefined') {
var request = win.requestAnimationFrame || win.webkitRequestAnimationFrame || win.mozRequestAnimationFrame || win.oRequestAnimationFrame || win.msRequestAnimationFrame || function (callback) {
return win.setTimeout(callback, 1000 / 60);
};
+request = request.bind(win)

var cancel = win.cancelAnimationFrame || win.webkitCancelAnimationFrame || win.mozCancelAnimationFrame || win.oCancelAnimationFrame || win.msCancelAnimationFrame || function (id) {
win.clearTimeout(id);
};
+cancel = cancel.bind(win)

export var raf = request;
export var caf = cancel;
\ No newline at end of file
diff --git a/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js b/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
index b5daec7..a466a3d 100644
--- a/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
+++ b/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
@@ -31,7 +31,7 @@ export default function createDetectElementResize(nonce, hostWindow) {
var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {
return _window.setTimeout(fn, 20);
};
-
+ raf = raf.bind(_window);
return function (fn) {
return raf(fn);
};
@@ -39,6 +39,7 @@ export default function createDetectElementResize(nonce, hostWindow) {

var cancelFrame = function () {
var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;
+ cancel = cancel.bind(_window);
return function (id) {
return cancel(id);
};

0 comments on commit fadf82f

Please sign in to comment.