From c5b48c8caa58e7b73164ac033bf726a072903708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 28 Oct 2019 20:27:49 +0100 Subject: [PATCH] Tests: Don't test synchronous XHR on unload in Chrome 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 Closes gh-4536 --- test/unit/ajax.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 7bf3f686b..fda7a9daf 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -2001,14 +2001,19 @@ if ( typeof window.ArrayBuffer === "undefined" || typeof new XMLHttpRequest().re }; } ); - testIframe( - "#14379 - jQuery.ajax() on unload", - "ajax/onunload.html", - function( assert, jQuery, window, document, status ) { - assert.expect( 1 ); - assert.strictEqual( status, "success", "Request completed" ); - } - ); + // 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 ) ) { + testIframe( + "#14379 - jQuery.ajax() on unload", + "ajax/onunload.html", + function( assert, jQuery, window, document, status ) { + assert.expect( 1 ); + assert.strictEqual( status, "success", "Request completed" ); + } + ); + } ajaxTest( "#14683 - jQuery.ajax() - Exceptions thrown synchronously by xhr.send should be caught", 4, function( assert ) { return [ {