From dcc7f33ee7ee0790ee34e2106a8d04254bc66c8c Mon Sep 17 00:00:00 2001
From: Jonas Jenwald <jonas.jenwald@gmail.com>
Date: Fri, 1 Jun 2018 12:52:06 +0200
Subject: [PATCH] Prevent "ReferenceError: window is not defined" errors, from
 `web/ui_utils.js`, when running the unit-tests in Node.js/Travis

---
 web/ui_utils.js | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/web/ui_utils.js b/web/ui_utils.js
index 0c506f983..1728d8b8c 100644
--- a/web/ui_utils.js
+++ b/web/ui_utils.js
@@ -681,6 +681,13 @@ function waitOnEventOrTimeout({ target, name, delay = 0, }) {
  * Promise that is resolved when DOM window becomes visible.
  */
 let animationStarted = new Promise(function (resolve) {
+  if ((typeof PDFJSDev !== 'undefined' && PDFJSDev.test('LIB')) &&
+      typeof window === 'undefined') {
+    // Prevent "ReferenceError: window is not defined" errors when running the
+    // unit-tests in Node.js/Travis.
+    setTimeout(resolve, 20);
+    return;
+  }
   window.requestAnimationFrame(resolve);
 });