From c18dc49699bc27481a4af36ed1a0ee1b19c6eb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?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 --- 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 fe831d0b1..db0af6cec 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -2280,7 +2280,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",