From 7601c3765457a4ec7b2d48c0ca75fccf7fecf917 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 26 Sep 2018 13:38:56 +0100 Subject: [PATCH] Ensure "addEventListener" exists on "window" for "scheduler" package (#13731) * Ensure addEventListener exists on "window" --- packages/scheduler/src/Scheduler.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/scheduler/src/Scheduler.js b/packages/scheduler/src/Scheduler.js index 412f96930e..2c692d7dfe 100644 --- a/packages/scheduler/src/Scheduler.js +++ b/packages/scheduler/src/Scheduler.js @@ -468,7 +468,12 @@ var requestHostCallback; var cancelHostCallback; var getFrameDeadline; -if (typeof window === 'undefined') { +// "addEventListener" might not be available on the window object +// if this is a mocked "window" object. So we need to validate that too. +if ( + typeof window === 'undefined' || + typeof window.addEventListener !== 'function' +) { // If this accidentally gets imported in a non-browser environment, fallback // to a naive implementation. var timeoutID = -1;