From 4f016c642cb7521d5df7e35058975353b58095fc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Wed, 2 Sep 2020 18:04:44 +0200 Subject: [PATCH] Tests: Skip the "jQuery.ajax() on unload" test in Safari The test has been already skipped in Chrome as it dropped support for such requests and now Safari has joined the squad. This will resolve AJAX test errors we've had for a while in Safari 13 & iOS 13. Closes gh-4779 (cherry picked from commit c18dc49699bc27481a4af36ed1a0ee1b19c6eb03) --- test/unit/ajax.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 9582018e7..3f301f18f 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -2178,7 +2178,10 @@ if ( typeof window.ArrayBuffer === "undefined" || typeof new XMLHttpRequest().re // Chrome 78 dropped support for synchronous XHR requests inside of // beforeunload, unload, pagehide, and visibilitychange event handlers. // See https://bugs.chromium.org/p/chromium/issues/detail?id=952452 - if ( !/chrome/i.test( navigator.userAgent ) ) { + // Safari 13 did similar changes. The below check will catch them both. + // Edge Legacy fakes Chrome which fakes Safari in their user agents so we need + // to exclude Edge specifically here so that the test continues to run there. + if ( !/safari/i.test( navigator.userAgent ) || /edge\//i.test( navigator.userAgent ) ) { testIframe( "#14379 - jQuery.ajax() on unload", "ajax/onunload.html", -- 2.39.5